从 DocBook XML 迁移到 Asciidoctor

Asciidoctor 擅长的一项任务是将 AsciiDoc 源代码转换为有效且格式正确的 DocBook XML 内容。但是,如果您需要反过来做,将旧的 DocBook XML 内容迁移到 AsciiDoc 呢?您摆脱 DocBook 痛苦的处方 (℞) 可以是 DocBookRx

DocBookRx

DocBookRx 是一个用 Ruby 编写的 DocBook 到 AsciiDoc 转换器的早期版本。目前,此转换器远非完美,但它在转换的每个文档中都会有所改进。

计划是将其发展成为一个健壮的库,以可靠的方式执行此转换。您可以在 README 中阅读有关此计划的更多信息。

这个工具最好的地方是所有活跃用户都在对其进行测试。这个工具处理的 DocBook XML 越复杂,我们收到的反馈越多,这个工具就会变得越好。今天就使用它来逃离 XML 地狱吧!

从 doxygen

Doxygen 可以生成各种输出格式的文档。其中一种格式是 (DocBook) XML。这意味着可以通过 DocBookRx 从 doxygen 到 AsciiDoc 存在一个路径。

要启用此功能(默认禁用),请在 Doxygen 配置文件中将 GENERATE_DOCBOOK 标签设置为 YES。启用后,Doxygen 将生成 XML 文件,这些文件捕获代码结构,包括所有文档。

要开始迁移,请先运行 doxygen 命令生成 DocBook XML 输出。然后对 XML 文件运行 DocBookRx 以生成 AsciiDoc 文件。您现在可以使用 Asciidoctor 将 AsciiDoc 文件转换为可用的输出格式,例如 HTML。

请注意,可能需要对生成的 AsciiDoc 进行一些后处理。