« Auto-éditer un wikilivre/Auto-référencer » : différence entre les versions

Contenu supprimé Contenu ajouté
m →‎{{100}} Entête ajouter_sclip : WL:RD : * diverses retouches, ! mise en page
m →‎{{50}} Module sclipco.inc : WL:RD : * diverses retouches, ! mise en page
Ligne 1 282 :
====={{50}} Module sclipco.inc =====
{{Boîte déroulante début|titre=Code sclipco.inc|styleFrame=width:100%;|fondtitre=#F0F0F0<!--|styleTitre=color:white;|style=headerbleu-->}}
{{/sclipco.inc}}
<syntaxhighlight lang="bash">
#! /bin/bash
#P Nom du fichier de commandes : sclipwb.inc
#P Syntaxe : "ajouter_scltp <nom du livre>"
#P Exemple : "./ajouter_sclp LivreTest" à la console.
#P Date de création : 16 mai 2020
#P Modifié le : 18 mai 2020 par GC
#P Modifié le : 20 mai 2020 par GC lignes 25 à 37 'Retour' de ajouter_sclip.
#P Version sur WikiLivres le : 20 mai 2020
 
#P## Une version 'commons' est possible en co-édition avec la commande
#P## 'ajouter_sclic'.
#P## Les images, sources, licences, auteurs sont copiés dans les
#P## sous-répertoires respectifs depuis le sous-répertoire du livre.
#P## Les noms des images de 'commons' commencent par 'File:' alors qu'en
#P## version wikibooks les noms des images commencent par 'Fichier:'
#P## Dans l'exemple 'LivreTest' :
#P## cd $Projet/ArticleUn; ls Fichier*.html Fichier*.html.* | sed s/Fichier:/File:/g > ArticleUn.commonshtmlpict
#P## while read pict; do cp $Projet/$1/$pict .; done < ArticleUn.commonshtmlpict
#P## Il suffit de construire la page LivreTest.sclip à partir des fichiers :
#P## *.title, *.source, *.license, *.auteur
#P
 
#O inclure ajouter_sclip
source ajouter_sclip
Retour=$?
#T echo "Code de retour de la commande ajouter_sclip : " $Retour
#O si le code de retour est différent de '0'
if [ $Retour -gt '0' ] && [ $Personal = "true" ];
#O alors afficher le nom du module de commande en erreur et quitter 'annexer'
#O avec retour à 1
then
echo "Erreur au module shell 'ajouter_sclip'"
exit 1
#O fin si
fi
 
echo "fichier cible : "$PageScliP
echo "------"
#T exit
#O tant que l'on peut lire les lignes du fichier $Projet/$1.pj
while read pjline
do
#O si la ligne lue n'est pas $1 (nom du livre)
#T echo "ligne lue : " $line
if [ $pjline != $1 ]
#O alors:
then
#T echo "ligne prise en compte : " $pjline
 
#O entrer dans le répertore de l'article,
cd $Projet/$pjline
#O lister les 'Fichier*.html' et Fichier*.html.* dans le fichier
#O $pjline.commonshtmlpict
ls Fichier*.html Fichier*.html.* | sed s/Fichier:/File:/g > $pjline.commonshtmlpict
#O copier les fichiers Fichier*.html Fichier*.html.* du répertoire
#O $Projet/$1
while read pict; do cp $Projet/$1/$pict .; done < $pjline.commonshtmlpict
#O copier le nom de l'article dans $1.sclip
echo "'''Article : $pjline'''<br \>" >> $PageScliP
echo "'''Article : $pjline'''"
 
#P## Annexe version 'commons' ##############################
#O sélectionner les images de chaque articles dans Article/htmlcommons.list
#O exclure .title|.source|.license|.auteur|.str|.tmp
cat $pjline.commonshtmlpict | grep -v -E ".title|.source|.license|.auteur|.str|.tmp" > htmlcommons.list
#T cat htmlcommons.list
#O tant qu'il y a des lignes d'images dans le fichier htmlcommons.list
while read htmlcommonsline
do
#O images,
cat $htmlcommonsline.title >> $PageScliP
cat $htmlcommonsline.title
 
#O source,
cat $htmlcommonsline.source >> $PageScliP
cat $htmlcommonsline.source
 
#O license,
cat $htmlcommonsline.license >> $PageScliP
cat $htmlcommonsline.license
#O auteur(s).
cat $htmlcommonsline.auteur >> $PageScliP
cat $htmlcommonsline.auteur
#O terminer la page $P$PageScliP
echo "" >> $PageScliP
 
#O fin du tant qu'il y a des lignes d'images
done < htmlcommons.list
 
#O fin du 'si la ligne n'est pas le nom du livre'.
fi
 
#O fin du tq .pj
done < $Projet/$1.pj
 
#O terminer la page $PageScliP
echo "</small></small>" >> $PageScliP
echo "{{Nouvelle page imprimée}}" >> $PageScliP
 
exit 0
</syntaxhighlight>
{{Boîte déroulante fin}}