Utilisateur:Goelette Cardabela/Sandbox/Annexion et indexation des wiki-livres/Référencement automatique

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche
Face-sad.svg Ce wikilivre est encore à l'état d'ébauche, tout reste à faire.

Informations sur la page

Automatiser l'ensemble des tâches de la documentation des livres n'est pas facile car rien n'est prévu par WikiMedia.

Jusqu'en 2017 le menu Créer une compilation permettait de créer une image PDF du livre avec sa documentation, annexes et index. Plus tôt encore, on pouvait obtenir d'autres formats.

Notez qu'il est toujours possible de créer une compilation et de commander un livre à PediaPress.

Automatiser la documentation avec mwlib et linux ubuntu[modifier | modifier le wikicode]

C'est la méthode utilisée par PediaPress avec les versions pdf writer 0.10.4 et mwlib 0.15.18

documentation
https://media.readthedocs.org/pdf/mwlib/latest/mwlib.pdf

Cette librairie est obsolète et on comprend le problème actuel de PediaPress. Elle a été publiée par Volker Haas, Ralf Schmitt, Johannes Beige en 2010.

Pour utiliser cette librairie il faudrait équiper un serveur avec les recommandations pour Ubuntu 18 LTS et Mediawiki Version 1.17 ou + à cette url :

http://edutechwiki.unige.ch/en/Mediawiki_collection_extension_installation

Automatiser la documentation sans changer les habitudes Wikimédia[modifier | modifier le wikicode]

Il n'est pas possible d'agir sur une page Wiki à l'aide de commandes externes, il faut donc créer des fichiers sur lesquels on peut agir.

L'idée première est de créer un fichier html copie de la page à documenter. Cela peut se faire avec les commandes spéciales wget disponibles en standard sous Linux et PowerShell

La seconde idée est de créer un flux d'extraction du texte d'un fichier et de faire un tri à la volée de ce que l'on cherche, et que l'on redirige vers un fichier qui recueuille ces données.

Équivalence des commandes shell selon les systèmes d'exploitation[modifier | modifier le wikicode]

Comparaison des commandes Windows_PowerShell, DOS et UNIX

Utiliser les commandes bash sous linux ou sous Windows[modifier | modifier le wikicode]

http://montefiore.ulg.ac.be/~nvecoven/ci/files/tuto_bash/tuto_bash.html

Pour extraire la documentation nous disposons des commandes grep, mkd, etc. Mais comment faire pour que le contributeur puisse créer la documentation de son livre avec un minimum de clics.

Code d'essai avec wget[modifier | modifier le wikicode]

Attention : modification en cours !link={{{link}}}

Un contributeur est en train de retravailler en profondeur cette page. Vous êtes prié(e) d'éviter de le modifier pour limiter les risques de conflit de versions jusqu'à disparition de cet avertissement. Merci.

Code des commandes d'essais avec une liste fullurl des pages à traduire en code html
extraire.bash
#!/bin/bash
# fichier extraire (ou extraire.bash)
# fichier de test de la commande wget
# ce fichier de commandes lit le contenu du fichier liste projet.list ligne à ligne et produit des fichiers
# Syntaxe : extraire <projet>
# exemple : ./extraire.bash LivreTest
# Exemple de LivreTest.list 
#################################################################################################
### https://fr.wikibooks.org/wiki/Utilisateur:Goelette Cardabela/Sandbox/LivreTest              #
### https://fr.wikibooks.org/wiki/Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn    #
### https://fr.wikibooks.org/wiki/Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleDeux  #
### https://fr.wikibooks.org/wiki/Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleTrois #
#################################################################################################
# Exemple de LivreTest.prj obtenu
##################
### ArticleDeux  #
### ArticleTrois #
### ArticleUn    #
### LivreTest    #
##################
rm *.1 *.2
clear
echo "Extraction de la documentation du livre en test: "$1
echo " "
echo "Ce fichier de commandes "$0" doit être en mode lecture, écriture et exécution : Commande : chmod 777 "$0
echo " "
echo $1" est le nom de projet du livre à documenter."
echo " "
echo "La liste "$1".list, doit contenir les liens vers les pages qui composent le livre, (le Contenu du livre)."
echo " "
#read -p "Appuyer sur retour-chariot une pour continuer ..."
if (test -a $1".list") then  {
   wget -i $1.list
   if (test -a $1".1") 
      then echo "Les listes sont créées au premier tour.";
      else wget -i $1.list # force la création des fichiers d'extension ".1" pour la sélection.
      echo "Les listes sont créées au deuxième tour.";
   fi	  
   }
   else exit -1;
fi
rm *.tmp
ls *.1 > $1.tmp
cat $1.tmp | sed "s/.1//g" > $1.prj
cp -f *.1 *
echo $1".prj contient la liste des fichiers à convertir en fichier.html avec les liens vers wikibooks à compléter :"
echo " "
cat $1.prj

Fichier des liens internet vers les pages du livre pour créer la page Annexe[modifier | modifier le wikicode]

  • La liste des liens vers les pages du livre permet de créer la page Annexe avec wget.
  • Dans les exemples suivants les liens vers wikibooks français sont artificiels. Pour les pages issues d'autres sites wiki il faudrait extraire l'adresse du site {{SERVER}}=//fr.wikibooks.org pour l'incorporer à la génération de la liste, ou encore: extraire la liste des pages de la page principale.
  • Il est peut être préférable d'utiliser les Modèles pour créer ces listes ?
Exemple : {{FULLURL:Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn}}
qui donne //fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn
Le lien est relatif mais il suffit de faire précéder la commande par "https:"
qui donne https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn
avec la page Contenu de LivreTest[modifier | modifier le wikicode]
Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/Contenu
LivreTest.contenu (Fichier)
Copier le wikicode suivant dans l'espace de travail ~Wget (Dossier Personnel) :
[[Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn|ArticleUn]]<br />
[[Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleDeux|ArticleDeux]]<br />
[[Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleTrois|ArticleTrois]]

{{AutoCat}}
Construction du fichier de liste LivreTest.list
Copier mkd-getwikifiles dans le même répertoire : ~Wget.
Utilisateur:Goelette_Cardabela/mkd-getwikifiles
mkd-getwikifiles --s LivreTest.contenu > LivreTest.list
autre solution avec bash, sans mkd-getwikifiles :
Code bash ;
cat LivreTest.contenu | sed "s/\[\[/%https:\/\/fr.wikibooks.org\/wiki\//g" | sed "s/]]/%/g" | cut -d'%' -f2 |tr '|' '\n' | grep "wiki" > LivreTest.list
avec la page LivreTest.compilé issue de la compilation[modifier | modifier le wikicode]
wikicode de LivreTest compilé (fichier)
== LivreTest ==
=== Tests de référencement ===
:[[Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn]]
:[[Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleDeux]]
:[[Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleTrois]]

[[Catégorie:Compilations|LivreTest]]
Code bash ;
cat LivreTest.compilé | sed "s/:\[\[/%https:\/\/fr.wikibooks.org\/wiki\//g" | sed "s/]]/%/g" | cut -d'%' -f2 |tr '|' '\n' | grep "wiki" > LivreTest.list
fichier LivreTest.list obtenu avec les pages Contenu ou la page issue de la compilation[modifier | modifier le wikicode]
https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn
https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleDeux
https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleTrois

Code ArticleUn.1 obtenu avec wget pour la page ArticleUn[modifier | modifier le wikicode]

Les liens sont relatifs à la page, sur le serveur de wikibooks, ce code html n'est pas exploitable tel quel sur un navigateur local. ...
Voir le sous-chapitre ci-après #Extraire_les_liens_des_images_de_la_page_ArticleUn

Quellle documentation peut-on extraire de ces fichiers obtenus avec wget ?[modifier | modifier le wikicode]

Voir aussi :

mw.config.set : Tout le nécessaire pour créer la documentation se trouve dans la ligne 7 : (table de configuration du serveur)
Informations sur la page : https://fr.wikibooks.org/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=info
Code JavaScript : https://fr.wikipedia.org/wiki/MediaWiki:Guidedtour-tour-tuto3.js

Extraits du fichier obtenu : (ligne 7)
...
"wgPageName":"Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn",
"wgTitle":"Goelette Cardabela/Sandbox/LivreTes/ArticleUn",
"wgCurRevisionId":610077,
"wgRevisionId":610077,
"wgArticleId":72692,
"wgRelevantPageName":"Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn",
"wgRelevantArticleId":72692,
"wgRelevantUserName":"Goelette Cardabela",
...

On y trouve aussi du texte extractible :
ligne 5: titre de la page, <title>Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn — Wikilivres</title>
ligne 19: le nom de la page, <link rel="edit" title="Modifier" href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=edit"/>
ligne 23: la licence, <link rel="license" href="//creativecommons.org/licenses/by-sa/3.0/"/>
ligne 25: le lien canonical, <link rel="canonical" href="https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn"/>
lignes 42 à 46: le Sommaire,

<h2><span class="mw-headline" id="Sommaire">Sommaire</span> ...
<pre>   <a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn#Chapitre_1" title="Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn">Chapitre 1</a>
   <a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn#Chapitre_2" title="Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn">Chapitre 2</a>
   <a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn#Chapitre_3" title="Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn">Chapitre 3</a>
</pre>

lignes 91 et 92: le bas de page de la dernière page imprimée,

					<div class="printfooter">
						Récupérée de «&#160;<a dir="ltr" href="https://fr.wikibooks.org/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&amp;oldid=610077">https://fr.wikibooks.org/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&amp;oldid=610077</a>&#160;»					</div>

lignes 190 à 192: suite du bas de page de la dernière page imprimée,

								<li id="footer-info-lastmod"> La dernière modification de cette page a été faite le 21 décembre 2018 à 11:14.</li>
								<li id="footer-info-copyright">Les textes sont disponibles sous <a href="//creativecommons.org/licenses/by-sa/3.0/">licence Creative Commons attribution partage à l’identique</a> ; d’autres termes peuvent s’appliquer.<br/>
Créer une page html et en extraire les chaînes de caractères pour créer la documentation annexe[modifier | modifier le wikicode]

Les commandes ci-après sont à inclure dans un fichier shell bash pour l'exécution automatique. On pourra ensuite essayer de créer un équivalent pour Windows 10.

  1. Transformer le fichier ArticleUn.1 en fichier html avec les commandes cat et sed :
cat ArticleUn | sed -e "s/\"\/wiki\//\"https:\/\/fr.wikibooks.org\/wiki\//g" > ArticleUn.html
Signifie : Remplacer de façon récursive (option g) la chaîne de caractères « "/wiki/ » par la chaîne« "https://fr:wikibooks.org/wiki/ » et concaténer le résultat dans un nouveau fichier ArticleUn.html
  1. Vérifier avec le navigateur internet que ce fichier html a bien été correctement modifié et s'affiche avec un navigateur web. Remarque: La mise en page n'est pas copiée.
  2. Extraire toutes les chaînes de caractères avec mkd option -p et les copier dans un nouveau fichier AtrticleUn.str
mkd -p '**' ArticleUn.html ArticleUn.str
Extraire la documentation[modifier | modifier le wikicode]
Obtenir le droit de copie (exemple)
cat ArticleUn.str | grep -n -m 1 -i -e license | sed "s/\"\//%\//g" | cut -d'%' -f2 |sed "s/\/\//https:\/\//g" > ArticleUn.license
Signifie : ouvrir le flux ArticleUn.str
| ne retenir que les chaînes de caractères contenant license
| remplacer les caractères "/ par le caractère %
| couper les chaînes en dehors des chaîne contenue entre les deux caractères %
| remplacer les caractères // par https://
> concaténer le résultat dans un nouveau fichier ArticleUn.license
Résultat : https://creativecommons.org/licenses/by-sa/3.0/
Obtenir le nom de l'auteur de la page (exemple)
cat ArticleUn.str | grep -n -m 1 -i -e wgRelevantUserName | sed "s/,\"/%\"\n\"%/g" | grep -n -m 1 -i -e wgRelevantUserName | cut -d'%' -f2 | sed "s/wgRelevantUserName\":\"/\"''Auteur '' : /g" | cut -d'"' -f2 > ArticleUn.auteur
Signifie : ouvrir le flux ArticleUn.str
| ne retenir que la première chaîne contenant wgRelevantUserName
| remplacer les caractères ,/ par %"\n"%
| couper les chaînes en dehors de celles contenues entre les deux caractères %
| remplacer les chaînes wgRelevantUserName\":\" par la chaîne "Auteur  :
> ArticleUn.auteur
Noter que '\n' est un simple retour chariot et "\n" est un double retour chariot car la fin de chaîne inclut un retour-chariot.
Résultat :Auteur  : Goelette Cardabela
Construire la section Source des articles; droits; auteur(s), de la page Annexe[modifier | modifier le wikicode]

Les liens vers les pages se trouvent dans la page « Contenus ». Pour le cas, l'exemple est limité à l'« ArticleUn »

'''''Article : ''{{PAGENAME:Nom de la page}}''' 
''Source : ''{{canonicalurl:Nom de la page}}, 
''Droits de copie :''_, 
''Auteur(s) :''_, 
({{orange|''Page :''_.}})

Wikitexte à copier dans la page Annexe et index :

<small><small>'''''Article : ''{{PAGENAME:Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn}}''' 
''Source : ''{{canonicalurl:Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn}}, 
''Droits de copie :''https://creativecommons.org/licenses/by-sa/3.0/, 
''Auteur(s) :''Goelette Cardabela, </small></small>

Résultat :

Article : Goelette Cardabela/Sandbox/LivreTest/ArticleUn Source : https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn, Droits de copie :https://creativecommons.org/licenses/by-sa/3.0/, Auteur(s) : Goelette Cardabela,
Notez que l'on peut remplacer le lien Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn par son numéro de révision : "wgRevisionId":610077 que l'on peut aussi obtenir par {{REVISIONID}} au moment de l'édition, car ce numéro changera dès la prochaine révision de la page ...
Source : https://fr.wikibooks.org/w/index.php?oldid=610077
Code bash en exemple pour créer la ligne Source licence et contributeur des articles[modifier | modifier le wikicode]
Exemple avec ArticleUn de LivreTest
#! /bin/bash
clear
rm ArticleUn.tmp
rm ArticleUn.sclt
echo "Création de ArticleUn.sclt avec ArticleUn.str "
echo '--------------------'
echo " "
echo "<small><small>'''ArticleUn''' ''Source :''"\
'https://fr.wikibooks.org/w/index.php?oldid=' >> ArticleUn.tmp
cat ArticleUn.str | grep -n -m 1 -i -e wgRevisionId | sed "s/,\"/%\"\n\"%/g" | grep -n -m 1 -i -e wgRevisionId | cut -d'%' -f2 | sed "s/wgRevisionId\"://g"  >> ArticleUn.tmp
echo ", ''Droits de copie :''"  >> ArticleUn.tmp
cat ArticleUn.str | grep -n -m 1 -i -e license | sed "s/\"\//%\//g" | cut -d'%' -f2 |sed "s/\/\//https:\/\//g"  >> ArticleUn.tmp
echo ", ''Auteur(s) :''"   >> ArticleUn.tmp
cat ArticleUn.str | grep -n -m 1 -i -e wgRelevantUserName | sed "s/,\"/%\"\n\"%/g" | grep -n -m 1 -i -e wgRelevantUserName | cut -d'%' -f2 | sed "s/wgRelevantUserName\":\"/\"/g" | cut -d'"' -f2  >> ArticleUn.tmp
echo "</small></small>"  >> ArticleUn.tmp
#
echo "== Sources et contributeurs de l'article ==" > ArticleUn.sclt
cat ArticleUn.tmp | sed ':z;N;s/\n//g;bz' >> ArticleUn.sclt  ##voir aussi avec la commande tr
cat ArticleUn.sclt

Résutat (wikitexte) :

== Sources et contributeurs de l'article ==
<small><small>'''ArticleUn''' ''Source :''https://fr.wikibooks.org/w/index.php?oldid=632571, ''Droits de copie :''https://creativecommons.org/licenses/by-sa/3.0/, ''Auteur(s) :''Goelette Cardabela</small></small>

Résutat (affichage) :
Il ne convient pas, ici, d'afficher le titre == Sources et contributeurs de l'article ==
ArticleUn Source :https://fr.wikibooks.org/w/index.php?oldid=632571, Droits de copie :https://creativecommons.org/licenses/by-sa/3.0/, Auteur(s) :Goelette Cardabela

Extraire les liens des images de la page ArticleUn[modifier | modifier le wikicode]
  1. Sélectionner les lignes qui contiennent les liens d'images, avec la commande grep, et les pousser dans un nouveau fichier ArticleUn.img
    cat ArticleUn.str | grep -n -i -e fichier: -e file: -e image: > ArticleUn.img
    Signifie : Sélectionner les lignes contenant fichier: ou file: ou image: avec -i : sans distinction majuscules/minuscules et avec -n : numéroter les lignes.
    Code ArticleUn.img résultant : ligne 42 de ArticleUn.
    42:<div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:502px;"><a href="https://fr.wikibooks.org/wiki/Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Gabriel_Garcia_Marquez_-_Fresque.jpg/500px-Gabriel_Garcia_Marquez_-_Fresque.jpg" width="500" height="375" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Gabriel_Garcia_Marquez_-_Fresque.jpg/750px-Gabriel_Garcia_Marquez_-_Fresque.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Gabriel_Garcia_Marquez_-_Fresque.jpg/1000px-Gabriel_Garcia_Marquez_-_Fresque.jpg 2x" data-file-width="1280" data-file-height="960" /></a>  <div class="thumbcaption"><div class="magnify"><a href="https://fr.wikibooks.org/wiki/Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg" class="internal" title="Agrandir"></a></div>Gabriel Garcia Marquez - Fresque de Pohline Blast</div></div></div></div>
    
  2. Couper les chaînes avec la commande awk et comme séparateur le retour chariot '\n' ("\n" double le new-line)
    Nonbre de champs du fichier ArticleUn.img avec le séparateur de champ "=" : cat ArticleUn.img | awk -F"=" '{print NF}' ⇒ 20 champs.
cat ArticleUn.img |awk -F"=" '{for (i=1;i<=NF;i++) print $i "\n"}' | grep https | sed "s/\"/%/g" | cut -d'%' -f2 > ArticleUn.lnk
signifie : remplacer le séparateur '=' par un double retour-chariot "\n", sélectionner les lignes qui contiennent "https", répéter (option /g) le remplacement du caractère '"' par le caractère '%', et à la fin (cut), ne sélectionner que les 2 champs délimités par les caractères '%' (-f2). Le flux est envoyé au fichier en création > ArticleUn.lnk.
⇒ résultat: un champ $0 contenant les deux liens de ArticleUn.img vers la page de l'image sur wikibooks, sur deux lignes :
ArticleUn.lnk :
Couper le doublon
cat ArticleUn.lnk | sed 'N;s/\nh/%h/g;P;D;' |  cut -d'%' -f1 > ArticleUn.images
signifie : concaténer les chaînes en remplaçant dans l'espace de traitement (N) de façon répétitive (/g) "\nh" par "%h" (P=print dans l'espace de traitement) avec la condition (D:si l'espace de traitement ne contient pas '\n'), et enfin, sélectionner (cut) le premier champ délimité par le caractère '%' (-f1). Le flux est envoyé au fichier en création > ArticleUn.images.
( il reste):
https://fr.wikibooks.org/wiki/Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg
Construire la section Source des images; droits; auteur(s), de la page Annexe[modifier | modifier le wikicode]
  1. Éliminer les lignes en doublon des fichiers .lnk de la Version imprimable.
  2. Éditer les pages des images sur wikilivres puis sélectionner et copier le nom des auteurs et les licences associées.
'''''Illustration : ''{{PAGENAME:Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg}}''' 
''Source : ''{{canonicalurl:Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg}}, 
''Droits de copie :''_, 
''Auteur(s) :''_, 
({{orange|''Page :''_.}})

Illustration : Gabriel Garcia Marquez - Fresque.jpg  Source : https://fr.wikibooks.org/wiki/Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpgDroits de copie :_,  Auteur(s) :_,  (Page :_.)

Code bash en exemple pour créer la ligne Source licence et contributeurs des images[modifier | modifier le wikicode]
Exemple avec ArticleUn de LivreTest
#!/bin/bash
clear
prefix=https://fr.wikibooks.org/wiki/
file=File:Gabriel_Garcia_Marquez_-_Fresque.jpg
### Téléchargement du fichier image
# wget $prefix$file
### Extraction de la licence : licensetpl (courte)
cat $file | grep licensetpl_short | sed "s/\">/%/g" > tmp
echo '%' >> tmp
cat tmp | tr -d '\n' | cut -d'%' -f2 > $file.licence
#
echo "'''$file''' " > tmp
cat tmp | tr _ ' ' > temp
echo ", ''source:''$prefix$file" >> temp
echo ", ''licence:''">> temp
cat $file.licence >> temp
echo ", ''Contributeur(s):''">> temp
#
### Extraction du nom du contributeur : User
cat $file | grep User: | tr \" % | cut -d'%' -f2 | grep User: | tr / '\n' \
| grep User: | \sed "s/User://g" | tr _ ' ' >> temp
### Supprimer les retour-chariot
cat temp | tr -d '\n' > $file.scli
echo " " >> $file.scli
cat $file.scli
exit 0
Résultat
'''File:Gabriel Garcia Marquez - Fresque.jpg''' , ''source:''https://fr.wikibooks.org/wiki/File:Gabriel_Garcia_Marquez_-_Fresque.jpg, ''licence:''CC BY-SA 4.0 , ''Contributeur(s):''Pohline Blast Clm
Application dans le wiki
File:Gabriel Garcia Marquez - Fresque.jpg , source:https://fr.wikibooks.org/wiki/File:Gabriel_Garcia_Marquez_-_Fresque.jpg, licence:CC BY-SA 4.0 , Contributeur(s):Pohline Blast Clm
Construire le fichier complet Annexe et index de la Version imprimable[modifier | modifier le wikicode]

La gestion automatique des numéros de pages est un problème insoluble avec les Versions imprimables.

À faire...link={{{link}}}

Compléter avec le contenu des sections précédentes. Lors de l'édition proposer un index des pages et un index lexical.


Automatiser, éditer avec OpenOffice ou LibreOffice[modifier | modifier le wikicode]

OpenOffice peut nous aider à automatiser la création d'un livre grâce aux "macros".

Voyez cette première approche : Indexer les documents avec OpenOffice

Votre aide pour créer des "macros" serait bienvenue. ...