Вопрос

Есть ли простой способ взять содержимое docbook и преобразовать его в содержимое DokuWiki?Пока я нашел только Плагин DokuWiki это интерпретирует содержимое docbook и выводит его в формате XHTML, но это происходит при каждой загрузке страницы.

Я хотел бы найти способ преобразовать содержимое docbook непосредственно в собственный синтаксис форматирования DokuWiki, чтобы мне нужно было интерпретировать его только один раз.Есть какие-нибудь идеи?

Это было полезно?

Решение

Другой вариант будет

<Ол>
  • Используйте 'docbook2html' - [Инструменты DocBook] для преобразования docbook в HTML и затем
  • используйте что-то вроде этого модуля Perl для преобразования HTML в вики-разметку. http://metacpan.org/pod/HTML::WikiConverter
  • Другие советы

    Я не знаком с инструментом, о котором вы упомянули, но у меня есть несколько мыслей об общих стратегиях, которые вы могли бы использовать.

    1. Если вас устраивает результат работы плагина DocuWiki, вы могли бы написать какой-нибудь скрипт на perl, sh, ruby и т.д.это запускает плагин и сохраняет контент, который будет обслуживаться статически в будущем.

    2. Похоже, что DocuWiki просто вызывает программу xsltproc и выдает выходные данные.Если плагин работает, то вы должны иметь возможность вызывать xsltproc непосредственно из командной строки или вашего собственного скрипта.Взгляните на эти строки из DocuWiki

      exec("$xsltproc -o $tmpXhtmlFile $docbookXsl $tmpDocbookFile 2>&1", $ошибки);

      $returnXhtml = shell_exec("$xsltproc " .ДОКУ_ПЛЮГИН ."/docbook/xhtmlCleaner.xsl $tmpXhtmlFile");

    3. Как только у вас заработает вариант 1 или 2.Настройте задание cron или перехват в вашей системе контроля версий для отслеживания изменений в исходном исходном файле docbook и вызовите скрипт для восстановления статической версии.

    Небольшое (но, возможно, важное) замечание: DokuWiki содержит механизм кэширования, который сохраняет полученный HTML-файл. Это означает, что обычно плагин запускается очень редко (т. Е. Только при первом просмотре определенной ревизии страницы).

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top