2016-01-31 4 views
0

Je crée un analyseur/interpréteur Wiki Markup personnalisé. Il y a une grande tâche cependant en ce qui concerne l'interprétation des fonctions comme celles-ci:Comment puis-je convertir Wikitext Markup contenant les fonctions double crochet bouclé, en texte clair ou html?

{{convert|500|ft|m|0}} 

qui est converti comme ceci:

500 feet (152 m)  

Je voudrais éviter d'avoir à coder manuellement des interprétations de ces fonctions, et serait plutôt employer une méthode où j'Interroger une chaîne

[email protected]:~$ wiki-to-text "convert|3|to(-)|6|ft|abbr=on}}" 

et obtenir un retour de:

"3 to 6 ft (0.91–1.83 m)" 

Existe-t-il un outil pour faire cela? Offline est de loin la solution la plus idéale, mais je pourrais vivre avec avoir à interroger un serveur.

Répondre

2

Vous pouvez interroger le MediaWiki api pour obtenir un texte analysé à partir de wikitext. Par exemple. pour analyser le modèle Modèle: Fait à partir de la wikipedia en anglais, vous pouvez utiliser: https://en.wikipedia.org/w/api.php?action=parse&text={{Template:done}}&title=Test (voir le online docs for parse). Vous avez toutefois besoin d'une instance MediaWiki qui fournit un modèle que vous voulez analyser et qui fonctionne exactement de la même manière. Si vous installez un serveur Web localement, vous pouvez également installer votre propre instance MediaWiki et analyser localement wikitext.

Btw .: Il y a aussi le Parsoid project, qui implémente un analyseur wikitext-> html-> wikitext basé sur un nœud. Cependant, il, iirc, doit encore interroger l'API du wiki pour analyser les templates.