DocBook à DokuWiki [fermé]
-
05-07-2019 - |
Question
Existe-t-il un moyen simple de convertir le contenu de docbook en contenu DokuWiki? Jusqu'à présent, je n'ai trouvé que le plug-in DokuWiki qui interprète le contenu de docbook et l'affiche en XHTML. , mais cela se produit à chaque chargement de page.
Je voudrais trouver un moyen de convertir le contenu de docbook directement en syntaxe de mise en forme native de DokuWiki afin que je n’aie à l’interpréter qu’une seule fois. Des idées?
La solution
Une autre option sera de
- Utilisez 'docbook2html' - [outils DocBook] pour convertir un document en HTML, et alors
- utilisez quelque chose comme ce module Perl pour convertir le HTML en balisage wiki. http://metacpan.org/pod/HTML::WikiConverter
Autres conseils
Je ne connais pas bien l'outil que vous avez mentionné, mais j'ai quelques idées sur les stratégies générales que vous pourriez employer.
-
Si vous êtes satisfait du résultat du plug-in DocuWiki, vous pouvez écrire une sorte de script en perl, sh, ruby, etc. qui exécute le plug-in et stocke le contenu à servir de manière statique à l'avenir. .
-
Il semble que DocuWiki appelle simplement le programme xsltproc et distribue la sortie. Si le plugin fonctionne, vous devriez pouvoir appeler xsltproc directement à partir de la ligne de commande ou de votre propre script. Regardez ces lignes de DocuWiki
exec (" $ xsltproc -o $ tmpXhtmlFile $ docbookXsl $ tmpDocbookFile 2 > & amp; 1 " ;, $ errors);
$ returnXhtml = shell_exec ("$ xsltproc". DOKU_PLUGIN. "/docbook/xhtmlCleaner.xsl $ tmpXhtmlFile");
-
Une fois l'option 1 ou 2 activée. Configurez un travail cron ou un crochet dans votre système de contrôle de révision pour surveiller les modifications apportées à la source de docbook d'origine et appelez le script pour régénérer la version statique.
Une petite (mais peut-être importante) note: DokuWiki contient un mécanisme de mise en cache qui enregistre le fichier HTML généré. Cela signifie que normalement le plug-in serait exécuté très rarement (c'est-à-dire seulement la première fois qu'une révision particulière de la page est visualisée).