DocBook to DokuWiki [終了]
-
05-07-2019 - |
質問
docbookコンテンツを取得してDokuWikiコンテンツに変換する簡単な方法はありますか?これまでのところ、docbookの内容を解釈してXHTMLで出力する DokuWikiプラグインのみを見つけました。 、しかしこれはページの読み込みごとに発生します。
docbookのコンテンツをDokuWikiのネイティブのフォーマット構文に直接変換する方法を見つけたいので、一度だけ解釈するだけで済みます。アイデアはありますか?
解決
別のオプションがあります
- 「docbook2html」を使用- [DocBookツール] でdocbookをHTMLに変換し、その後
- このPerlモジュールのようなものを使用して、HTMLをwikiマークアップに変換します。 http://metacpan.org/pod/HTML::WikiConverter
他のヒント
私はあなたが述べたツールには馴染みがありませんが、あなたが採用するかもしれない一般的な戦略についていくつか考えています。
-
DocuWikiプラグインからの出力に満足している場合、perl、sh、rubyなどでプラグインを実行し、将来静的に提供されるコンテンツを保存する何らかのスクリプトを書くことができます。
-
DocuWikiは単にxsltprocプログラムを呼び出して出力を提供しているようです。プラグインが機能している場合は、コマンドラインまたは独自のスクリプトからxsltprocを直接呼び出すことができます。 DocuWikiのこれらの行をご覧ください
exec(" $ xsltproc -o $ tmpXhtmlFile $ docbookXsl $ tmpDocbookFile 2>& 1&quot ;, $ errors);
$ returnXhtml = shell_exec(" $ xsltproc"。DOKU_PLUGIN。" /docbook/xhtmlCleaner.xsl $ tmpXhtmlFile");
-
オプション1または2が機能したら。 cronジョブをセットアップするか、リビジョン管理システムにフックして、元のdocbookソースへの変更を監視し、スクリプトを呼び出して静的バージョンを再生成します。
1つの小さな(しかしおそらく重要な)メモ:DokuWikiには、出力されたHTMLファイルを保存するキャッシュメカニズムが含まれています。これは、通常、プラグインが非常にまれにしか実行されないことを意味します(つまり、ページの特定のリビジョンが最初に表示されるときのみ)。