Conversion wiki vers spip avec sed

De April MediaWiki
Aller à la navigationAller à la recherche

Voici un script sed tout simple qui convertit l'essentiel de Médiawiki vers du html prêt à être intégré dans un Spip.

Du fait des limitations de Médiawiki, vous devez copier/coller le script suivant dans un éditeur et enregistrer sous wiki2spip.sed.

 #!/usr/bin/env -S sed -f
 
 # wiki2spip.sed : passer du wiki à du Html avec Sed
 
 # À voir ultérieurement
 s!\[\[[Cc]at[ée]gorie[^]]*\]\]!!g
 s!{{[ ]*[Tt]ravail [Ee]n [Cc]ours.*}}!!g
 s!<references */>!!g
 
 # Mise en forme
 s!'''\(.*\)'''!{{\1}}!g
 s!''\(.*\)''!{\1}!g
 
 # Liens en html car la syntaxe de spip est ingérable en sed
 s!\[\[\([^|]*\)|\([^]]*\)\]\]!<a href="http://wiki.april.org/\1">\2</a>!g
 s!\[\[\([^]]*\)\]\]!<a href="http://wiki.april.org/\1">\1</a>!g
 s!\[\([^ ]*\) \([^]]*\)\]!<a href="\1">\2</a>!g
 s!\(^\|\s\+\)\(http[^ <]*\)!\1<a href="\2"><tt>\2</tt></a>!g
 
 # Structure
 s!<ref>![[!g
 s!</ref>!]]!g
 s!^\s*======\(.*\)======!{{{****\1}}}!
 s!^\s*=====\(.*\)=====!{{{***\1}}}!
 s!^\s*====\(.*\)====!{{{**\1}}}!
 s!^\s*===\(.*\)===!{{{*\1}}}!
 s!^\s*==\(.*\)==!{{{\1}}}!
 s!^\s*=\(.*\)=!{{{\1}}}!
 
 s!__TOC__!<sommaire niveau_max=3>!
 
 # Listes
 s!^\(\s*\)\*!\1-!
 s!^\(\s*\)\#!\1*!