经过大量的研究和实验,我决定使用 DITA(达尔文信息类型架构)。对我来说,DITA 最好的一点是它是基于主题的,这使得文档模块化和可重用。
DITA 模式相对简单,良好的 XML 编辑器可以提供对可用元素和属性的有用洞察。
DITA 文档可以使用 DITAMAP 进行组合。例如,人们可能会选择分发包含最少信息量的“快速入门指南”,而完整的“用户指南”将包含更多细节。美妙之处在于两个文档可以重复使用相同的信息;此外,文件可以输出为多种交付格式:
- XHTML(单个文件或分块)
- PDF格式
- 文档手册
使用 DITA Open Toolkit(又名 DITA-OT)可以轻松处理将输出转换为交付格式的过程。该工具包可从以下网址获得:http ://dita-ot.sourceforge.net ,只需提取提供的存档即可安装。startcmd.bat
通过运行(在 Windows 上)或startcmd.sh
(类 Unix 系统)可以轻松访问该工具包。
自定义和品牌化 PDF 输出并非易事。定制 XHTML 输出要容易得多,但仍然需要 XSL 转换的知识。可以通过创建插件并将其放置在plugins
DITA-OT 的文件夹中来进行自定义。我想强调的一件事是,一旦进行了自定义,您必须ant -f integrator.xml
在更改变得明显之前调用。缺乏这方面的知识让我很困惑!
生成的 XHTML 文件非常简单(非常棒!),因为这使得它们易于定制。但是添加 HTML5 DOCTYPE 并不容易;但就我的目的而言,这真的无关紧要,好像我的 PHP 脚本只关心里面的内容<body>
。
我还没有找到任何好的 WYSIWYG 编辑器XML Mind 似乎是一个非常好的 WYSIWYG 编辑器,而且也非常易于使用。我怀疑使用 Aloha 编辑器 (http://aloha-editor.org) 之类的东西创建一个基本的基于 Web 的解决方案不会太难。
虽然自定义 PDF 输出似乎相当困难,但将所有文档生成到单个 XHTML 页面中似乎很容易,然后可以使用 CSS 对其进行格式化,最后使用wkhtmltopdf
. 我还没有决定我的解决方案,但至少对于那些无法(或没有时间)自定义 DITA-OT 的 XSL:FO 样式表的人来说,这是一个可行的选择。
补充:经过一番搜索,我发现还有另一种 DITA-OT 的开源替代品,称为“Ditac”,它似乎更易于使用并产生更好的输出。该工具由“XML Mind”的创建者创建。虽然该工具是基于命令行的,但使用“XML Mind”的用户可以从功能丰富的 GUI 中受益:
http://www.xmlmind.com/ditac/
注意:我留下了我之前的答案,因为它可能对其他人有用。