DocBook para DokuWiki [fechado]
-
05-07-2019 - |
Pergunta
Existe uma maneira simples de ter o conteúdo docbook e convertê-las em conteúdo DokuWiki? Até agora eu só encontrei a DokuWiki plug-in que irá interpretar o conteúdo docbook e sua saída será em XHTML , mas isso acontece em cada carregamento da página.
Eu gostaria de encontrar uma maneira de conteúdo docbook convertido diretamente a sintaxe de formatação nativa do DokuWiki então eu só tenho que interpretá-lo uma vez. Alguma idéia?
Solução
Outra opção será a de
- Use 'docbook2html' - [ferramentas DocBook] para converter DocBook para HTML, e então
- usar algo como isto Módulo Perl para converter o HTML para wiki markup. http://metacpan.org/pod/HTML::WikiConverter
Outras dicas
Eu não estou familiarizado com a ferramenta que você mencionou, mas eu tenho alguns pensamentos sobre estratégias gerais que você pode empregar.
-
Se você está feliz com a saída do DocuWiki plugin que você poderia escrever algum tipo de script em perl, sh, rubi, etc. que executa o plugin e armazena o conteúdo a ser servido estaticamente no futuro .
-
Parece que DocuWiki é simplesmente chamando o programa xsltproc e servindo-se a saída. Se o plugin está funcionando, então você deve ser capaz de chamar xsltproc directamente a partir da linha de comando ou o seu próprio script. Dê uma olhada nestas linhas de DocuWiki
exec ( "$ xsltproc -o $ tmpXhtmlFile $ docbookXsl $ tmpDocbookFile 2> & 1", $ erros);
$ returnXhtml = shell_exec ( "$ xsltproc" DOKU_PLUGIN "/docbook/xhtmlCleaner.xsl $ tmpXhtmlFile"..);
-
Uma vez que você tem a opção 1 ou 2 de trabalho. Setup um trabalho cron ou um gancho em seu sistema de controle de revisão para observar alterações na fonte de docbook original e chamar o script para regenerar a versão estática.
Uma pequena (mas possivelmente importante) nota: DokuWiki contém um mecanismo de cache que salva o arquivo HTML emitidas. Isto significa que, normalmente, o plug-in seriam executados muito raramente (ou seja. Apenas a primeira vez que uma revisão em particular da página é vista).