有没有一种直接的方法来获取 docbook 内容并将其转换为 DokuWiki 内容?到目前为止,我只找到了DokuWiki 插件,它可以解释文档内容并将其输出为 XHTML,但每次页面加载都会发生这种情况。
我想找到一种方法将 docbook 内容直接转换为 DokuWiki 的本机格式语法,因此我只需解释一次。有任何想法吗?
有没有一种直接的方法来获取 docbook 内容并将其转换为 DokuWiki 内容?到目前为止,我只找到了DokuWiki 插件,它可以解释文档内容并将其输出为 XHTML,但每次页面加载都会发生这种情况。
我想找到一种方法将 docbook 内容直接转换为 DokuWiki 的本机格式语法,因此我只需解释一次。有任何想法吗?
我不熟悉您提到的工具,但我对您可能采用的一般策略有一些想法。
如果您对 DocuWiki 插件的输出感到满意,您可以在 perl、sh、ruby 等中编写某种脚本来执行插件并存储将来静态提供的内容。
DocuWiki 似乎只是调用 xsltproc 程序并提供输出。如果插件正常工作,那么您应该能够直接从命令行或您自己的脚本调用 xsltproc。看看 DocuWiki 中的这些行
exec("$xsltproc -o $tmpXhtmlFile $docbookXsl $tmpDocbookFile 2>&1", $errors);
$returnXhtml = shell_exec("$xsltproc " . DOKU_PLUGIN . "/docbook/xhtmlCleaner.xsl $tmpXhtmlFile");
一旦你有选项 1 或 2 工作。在您的版本控制系统中设置一个 cron 作业或挂钩,以观察对原始 docbook 源的更改并调用脚本以重新生成静态版本。
另一种选择是
一个小(但可能很重要)注意事项:DokuWiki 包含一个缓存机制,可以保存输出的 HTML 文件。这意味着通常插件将很少执行(即仅在第一次查看页面的特定版本时)。