使用doxygen生成Python文档会产生到函数的断开链接

时间:2018-05-07 15:08:11

标签: python automation documentation doxygen

Doxygen版本:1.8.12 - 默认配置

我一直使用Doxygen生成我的Python文档。它在记录课程时运作良好。我现在已经构建了一些具有一些功能的模块,我将其记录如下:

 ## @file
 #  my module comment

 ##
 # my function
 # @return 0
 def func():
     return 0

然后创建一个标签Files,我可以在其中找到我的模块文件。但是,当我单击它们时,一个函数列表显示为链接,它们被破坏(当点击页面时被重定向到它自己),并且模块的实际定义被附加在页面的末尾。

我应该怎么做才能避免链接断开,也许类似于类(其中函数具有分离的html)的行为更为可取

==== UPDATE ==== 在检查生成的html代码时,显然链接指向此样式的地址:

Documtenation/myfilepy.html#some_hash

实际的页面部分有这种风格的ID:

 file_some_hash

调用链接的正确方法应该是:

Documentation/myfilepy#file_some_hash

如何让doxygen放弃file_或正确生成链接?

1 个答案:

答案 0 :(得分:0)

我刚尝试使用1.8.12(以及1.8.14当前和首选版本以及当前开发版本)。我在Files页面上看到myfile.py的链接(因为我从myfile命令中删除了\file一词)。在myfile.py页面上,我看到了myfile.func的1个链接,但引用无处可去。

使用C函数尝试相同时,它确实有效。 查看我看到的HTML代码(对于C),在Functions部分:

<a class="el" href="bb_8c.html#a916cba588658b3be41b91489a560a664">c_func</a>

<a href="#a916cba588658b3be41b91489a560a664">More...</a>

并进一步向下Function Documentation部分:

<a id="a916cba588658b3be41b91489a560a664"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a916cba588658b3be41b91489a560a664">&#9670;&nbsp;</a></span>c_func()</h2>

查看我看到的HTML代码(对于Python),在Functions部分:

<a class="el" href="myfile_8py.html#a3f1962c8fd3ce4b252b1015bf4cb3c32">myfile.func</a>

<a href="myfile_8py.html#a3f1962c8fd3ce4b252b1015bf4cb3c32">More...</a>

并进一步向下Function Documentation部分:

<a id="file_a3f1962c8fd3ce4b252b1015bf4cb3c32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#file_a3f1962c8fd3ce4b252b1015bf4cb3c32">&#9670;&nbsp;</a></span>func()</h2>

显然,Python版本中的file_不应该存在(file_与文件名无关,因为像something.py这样的文件名会产生相同的结果。)

注意:我在代码中找到了memberdef.cpp

// member is in a namespace, but is written as part of the file documentation
// as well, so we need to make sure its label is unique.

编辑:基于我在评论中已经提出的建议,我刚刚将其作为github的提议补丁推送(拉取请求720,https://github.com/doxygen/doxygen/pull/720)。