Différences entre les versions de « Conversion wiki vers html avec sed »

De April MediaWiki
Aller à la navigationAller à la recherche
Ligne 25 : Ligne 25 :
 
  <nowiki># Structure</nowiki>
 
  <nowiki># Structure</nowiki>
 
  <nowiki>s/<\(\/\?\)ref>/<\1fn>/g</nowiki>
 
  <nowiki>s/<\(\/\?\)ref>/<\1fn>/g</nowiki>
  <nowiki>s/^\s*=====\s\?\(.*\)\s\?=====/<h5>\1<\/h5>/</nowiki>
+
  <nowiki>s/^\s*=====\(.*\)=====/<h5>\1<\/h5>/</nowiki>
  <nowiki>s/^\s*====\s\?\(.*\)\s\?====/<h4>\1<\/h4>/</nowiki>
+
  <nowiki>s/^\s*====\(.*\)====/<h4>\1<\/h4>/</nowiki>
  <nowiki>s/^\s*===\s\?\(.*\)\s\?===/<h3>\1<\/h3>/</nowiki>
+
  <nowiki>s/^\s*===\(.*\)===/<h3>\1<\/h3>/</nowiki>
  <nowiki>s/^\s*==\s\?\(.*\)\s\?==/<h2>\1<\/h2>/</nowiki>
+
  <nowiki>s/^\s*==\(.*\)==/<h2>\1<\/h2>/</nowiki>
  <nowiki>s/^\s*=\s\?\(.*\)\s\?=/<h1>\1<\/h1>/</nowiki>
+
  <nowiki>s/^\s*=\(.*\)=/<h1>\1<\/h1>/</nowiki>
 
   
 
   
 
  <nowiki>s/__TOC__/[toc list: ol; title: Table of Contents; minlevel: 2; maxlevel: 3;]/</nowiki>
 
  <nowiki>s/__TOC__/[toc list: ol; title: Table of Contents; minlevel: 2; maxlevel: 3;]/</nowiki>
Ligne 35 : Ligne 35 :
 
  <nowiki># Typographie</nowiki>
 
  <nowiki># Typographie</nowiki>
 
  <nowiki>s/«\s\+/«\&nbsp;/g</nowiki>
 
  <nowiki>s/«\s\+/«\&nbsp;/g</nowiki>
  <nowiki>s/\s\+»/\&nbsp;»/g</nowiki>
+
  <nowiki>s/\s\+\([:;?!i»]\)/\&nbsp;\1/g</nowiki>
 
  <nowiki>s/\s\+\([:;?!]\)/\&nbsp;\1/g</nowiki>
 
  <nowiki>s/\s\+\([:;?!]\)/\&nbsp;\1/g</nowiki>
 
   
 
   
 
  <nowiki># Listes (impossible à bien faire en sed pur)</nowiki>
 
  <nowiki># Listes (impossible à bien faire en sed pur)</nowiki>
  <nowiki>s/^\s*\*\s*\(.*\)/<li>\1<\/li>/</nowiki>
+
  <nowiki>s/^\s*\[#*]\s*\(.*\)/<li>\1<\/li>/</nowiki>
  
 
[[Catégorie:Aide]]
 
[[Catégorie:Aide]]
 
[[Catégorie:Transcriptions]]
 
[[Catégorie:Transcriptions]]

Version du 14 octobre 2011 à 10:07

Voici un script sed tout simple qui convertit l'essentiel de Médiawiki vers du html prêt à être intégré en filtered html sur le Drupal.

A améliorer :

  • Prendre correctement en charge les listes.

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

# wiki2html.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/'''\(.*\)'''/<strong>\1<\/strong>/g
s/''\(.*\)''/<em>\1<\/em>/g

# Liens
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/ \(http[^ <]*\)/ <a href="\1"><tt>\1<\/tt><\/a>/g

# Structure
s/<\(\/\?\)ref>/<\1fn>/g
s/^\s*=====\(.*\)=====/<h5>\1<\/h5>/
s/^\s*====\(.*\)====/<h4>\1<\/h4>/
s/^\s*===\(.*\)===/<h3>\1<\/h3>/
s/^\s*==\(.*\)==/<h2>\1<\/h2>/
s/^\s*=\(.*\)=/<h1>\1<\/h1>/

s/__TOC__/[toc list: ol; title: Table of Contents; minlevel: 2; maxlevel: 3;]/

# Typographie
s/«\s\+/«\ /g
s/\s\+\([:;?!i»]\)/\ \1/g
s/\s\+\([:;?!]\)/\ \1/g

# Listes (impossible à bien faire en sed pur)
s/^\s*\[#*]\s*\(.*\)/<li>\1<\/li>/