我有一个带有一组降价页面的项目,这些页面与
等链接相互关联[Go to this page](subdir/MyOtherPage.md)
这些页面都被doxygen选中并出现在输出中,但链接不会改变为指向新的html再现。
我可以将链接更改为指向html页面,但我的项目托管在github上,然后这些链接将被破坏,因为github支持自动在降价页面之间进行链接。
我在doxygen文档中看不到任何关于支持除外部链接之外的链接的内容。有没有办法让doxygen从降价产生HTML链接?
答案 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并再试一次。
它对我有用。