如何生成rdoc风格的可折叠代码段?

Mat*_*owe 6 documentation doxygen rdoc

我正在使用Doxygen为C++项目创建内部文档.我有Doxygen包括方法的来源等,但这使得页面很难扫描.我希望它的行为类似于rdoc,并将源隐藏在默认情况下折叠的块中.

我认为这HTML_DYNAMIC_SECTIONS可能让我这样做,但唉,更改日志说该选项只会影响图表和图形.

也许我可以通过编辑来做到这一点LAYOUT_FILE

无论如何,聪明的人,我怎么能强迫Doxygen生成可折叠的代码段?

ax.*_*ax. 5

如果包括[ing] 方法的来源等,[...] 使页面难以扫描,为什么不直接链接到它 ( SOURCE_BROWSER = YES) 而不是包含它 ( INLINE_SOURCES = YES)?这将使页面更易于扫描和加载更快,并且源仍然可以访问(以多加载一个源页面为代价)。我想取决于您实际需要访问源的频率。

话虽这么说,有产生可折叠的代码段的方式(你将不得不修改源并重新编译Doxygen的,虽然):

    <div class="dynheader"><div class="dynsection">
    [collapsible section]
    </div></div>
Run Code Online (Sandbox Code Playgroud)
  • 包含的代码部分标记如下: <div class="fragment"><pre class="fragment">...</pre></div>
  • 因此,要使包含的代码部分可折叠,您必须

    • 修改生成该代码<div class="fragment"><pre class="fragment">...</pre></div>生成<div class="dynheader"><div class="dynsection">...</div></div>(也可能调整一些CSS),或
    • 更改扫描和折叠可折叠部分的javascriptinitDynSections()函数以识别<div class="fragment"><pre class="fragment">为其中之一。

实现(或走这SOURCE_BROWSER条路线:))留给读者作为练习。祝你好运!

哦,如果你的补丁成功了,如果你能把它提交给 dimitri 以便他可以将它包含在未来的版本中,那就太好了。谢谢!