轻便的 Doxygen HTML 输出

4
有没有更轻量级的Doxygen HTML后端,不会在页面上填充大量的div和表格?看起来输出的CSS文件相当臃肿。是否可能编写另一个后端?我想知道是否已经存在这样的后端。
我需要这个的原因有:
1. 这使得将dox与网站的其余部分集成更容易。 2. 我使用hyphenate.js使我的“相关页面”看起来很好。但是该脚本需要知道它应该使用哪些标记。较少的臃肿标记使这更加容易。 3. Doxygen缺乏有关如何制作输出标记的完整文档,因此使用Firefox Web Developer工具进行逆向工程修改1k行CSS文件是必要的。较少的臃肿标记意味着对文档的需求更少,并且使得文档更易于Dimitri维护。 4. 较少的臃肿标记使页面更易于移植。

你为什么想要更轻量化的HTML输出呢?我也经常希望有一个更简单的形式,但是我的代码风格美学选择很少有真正的商业理由 :) 我猜你的目标是为你的代码创建用户文档。说真的,了解你为什么认为HTML臃肿会阻止这一点非常有用。 - Cheeseminer
你所说的“膨胀”也使输出变得无限可定制。就我而言,我很高兴它存在,这为我节省了很多工作。我只需要编写一些CSS样式,而不是重写整个生成的输出。 - Cody Gray
@CodyGray 现在我要做的就是阅读1000行代码,找到我想修改的规则 :-(。最美妙的事情莫过于一个完全可定制的标签映射,我可以告诉doxygen将元素X包装在标签Y内。 - user877329
我使用Chrome的检查器。Firefox和IE也有类似的功能。我忘记了没有它们我是如何进行网页设计的。不过,关于标签地图的观点是一致的! - Cody Gray
2个回答

3
使用doxygen,您可以将数据导出为html格式、tex格式、XML格式(稍后可以根据需要解析)、RTF格式、Man页面或Docbook格式。
HTML输出支持自定义标题、页脚和样式表(CSS),其中HTML_STYLESHEET属性可能是您所需的。您可以重写它们并根据需要调整输出。
如果没有符合您要求的内容,那么您可以考虑手动解析上述任何一种输出并使用自己的脚本语言生成所需的格式(如果适合您),或直接通过doxygen源代码控制输出生成(https://github.com/doxygen/
来源:http://www.doxygen.nl/manual/output.html

这个问题涉及到第三方插件的存在。但是你的回答表明答案是否定的。我必须使用CodeOutputInterface接口自己实现后端。 - user877329
根据我的经验,没有后端可以完成您所需的操作,因为Doxygen允许在输出格式上具有一定的灵活性。编辑:添加备选方案:自己编辑源代码。 - Marco A.
我谈论的是正文标记。由于接口有大量需要实现的入口点,所以我问是否有人之前做过。 - user877329

1
你需要做什么取决于你最终想要的结果。有“输入过滤器”,例如:ftp://ftp.rsa.com/pub/dsg/public/doxygen/doxyfilt.pl和“输出过滤器”,例如:http://www.bigsister.ch/doxygenfilter/doxygenfilter.html。编写定制过滤器应该可以满足你的需求。使用现有代码并忍受它的限制将更快,并可能为编写自己的程序提供思路(如果你愿意这样做)。你可以尝试使用 http://www.dirtymarkup.com/ 这个网站,针对你不喜欢的输出进行清理,并查看它建议的工具是否足以使代码变得干净整洁,而不会去除太多功能(即:点击链接以及展开/折叠章节的能力)。
如果你真的想要“原始”格式,可以尝试使用HTML2Text https://pypi.python.org/pypi/html2text,然后再用Text2HTML http://txt2html.sourceforge.net/将其转换回来。这将剥离它并同时保留一些最小的HTML功能(保留链接)。
有许多“HTML <-> 文本”转换器,使用搜索引擎找到适合自己的源。以下是一个来自知名网站的工具列表:http://www.w3.org/Tools/html2things.html
这是一份将语言转换为HTML的替代方案列表:http://www.w3.org/Tools/Prog_lang_filters.html。更多信息请参见:http://www.w3.org/Tools/Filters.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接