如何在doxygen中的降价文档之间建立链接?

时间:2013-10-09 15:10:32

标签: documentation markdown doxygen

我有一个带有一组降价页面的项目,这些页面与

等链接相互关联
[Go to this page](subdir/MyOtherPage.md)

这些页面都被doxygen选中并出现在输出中,但链接不会改变为指向新的html再现。

我可以将链接更改为指向html页面,但我的项目托管在github上,然后这些链接将被破坏,因为github支持自动在降价页面之间进行链接。

我在doxygen文档中看不到任何关于支持除外部链接之外的链接的内容。有没有办法让doxygen从降价产生HTML链接?

4 个答案:

答案 0 :(得分:15)

根据Doxygen 1.8.7,有三种方法可以做到这一点:

  • 使用原始问题中描述的标准降价超链接。
  • 使用@ref并在目标前添加md_以及所有子目录。
  • 为页面命名并使用@ref来引用名称。

第一种方法很简单,这也可以在没有Doxygen的情况下工作(例如,在Github上浏览代码存储库时)。

[Go to this page](subdir/MyOtherPage.md)

而第二种方法你需要像这样链接它:

[Go to this page](@ref md_subdir_MyOtherPage)

显然这也是the way prescribed by the Doxygen's primary author

最后,在第三种方法中,您需要为目标页面指定一个名称,然后链接到该名称。例如:

MyOtherPage.md中将此标题作为标题

# My Other Page Title {#MyOtherPageName}

然后将其链接为

[Go to this page](@ref MyOtherPageName)

答案 1 :(得分:4)

常规旧Markdown链接从Doxygen 1.8.6开始处理,例如[link text](docs/page.md)。但这有点不可思议 - URL必须是Doxygen工作目录的相对位置(即不是Doxyfile或.md文件的目录,而是Doxygen运行的目录)。如果您发现单击链接显示原始Markdown而不是呈现HTML,则表示您的URL与Doxygen的工作目录不相关。

答案 2 :(得分:2)

Doxygen 1.8.6(2013年12月)中添加了此功能

Allow @ref to unlabeled markdown page by name, i.e. @ref mypage.md
Allow links to other markdown pages of the form [link text](page.md)

您可能需要在链接中包含文档目录以使其正常工作,例如

[link text](docs/page.md)

答案 3 :(得分:0)

以下步骤可以解决问题,

  • STRIP_FROM_PATH设置为Doxyfile目录。链接markdown文件时相对路径存在问题。
  • 将以下代码附加到doxygen源文件src / docparser.cpp中,包含代码pd = Doxygen::pageSDict->find(target);的2438行号(如果它不存在)。它修复了在页面列表中搜索的降价文件。

    if(pd == 0&& lang == SrcLangExt_Markdown){pd = Doxygen :: pageSDict-> find(markdownFileNameToId(target));}

  • 最后编译doxygen并再试一次。

它对我有用。