DocBook в DokuWiki [закрыт]
-
05-07-2019 - |
Вопрос
Есть ли простой способ взять содержимое docbook и преобразовать его в содержимое DokuWiki?Пока я нашел только Плагин DokuWiki это интерпретирует содержимое docbook и выводит его в формате XHTML, но это происходит при каждой загрузке страницы.
Я хотел бы найти способ преобразовать содержимое docbook непосредственно в собственный синтаксис форматирования DokuWiki, чтобы мне нужно было интерпретировать его только один раз.Есть какие-нибудь идеи?
Решение
Другой вариант будет
<Ол>Другие советы
Я не знаком с инструментом, о котором вы упомянули, но у меня есть несколько мыслей об общих стратегиях, которые вы могли бы использовать.
Если вас устраивает результат работы плагина DocuWiki, вы могли бы написать какой-нибудь скрипт на perl, sh, ruby и т.д.это запускает плагин и сохраняет контент, который будет обслуживаться статически в будущем.
Похоже, что DocuWiki просто вызывает программу xsltproc и выдает выходные данные.Если плагин работает, то вы должны иметь возможность вызывать xsltproc непосредственно из командной строки или вашего собственного скрипта.Взгляните на эти строки из DocuWiki
exec("$xsltproc -o $tmpXhtmlFile $docbookXsl $tmpDocbookFile 2>&1", $ошибки);
$returnXhtml = shell_exec("$xsltproc " .ДОКУ_ПЛЮГИН ."/docbook/xhtmlCleaner.xsl $tmpXhtmlFile");
Как только у вас заработает вариант 1 или 2.Настройте задание cron или перехват в вашей системе контроля версий для отслеживания изменений в исходном исходном файле docbook и вызовите скрипт для восстановления статической версии.
Небольшое (но, возможно, важное) замечание: DokuWiki содержит механизм кэширования, который сохраняет полученный HTML-файл. Это означает, что обычно плагин запускается очень редко (т. Е. Только при первом просмотре определенной ревизии страницы).