doxygen link 可以从 C 源代码返回到 .md Markdown 文件的各个部分吗?
Can doxygen link from C source code back to sections of a .md Markdown file?
我看到 doxygen 可以通过配置文件设置 USE_MDFILE_AS_MAINPAGE
使用 .md
(Markdown) 文件作为其输出文档主页。我还看到 .md 文件中的函数名称(例如 myfunc()
)将 link 加入该函数的文档。
有没有办法 link 从源代码(例如 C 函数 header)返回到 .md
文件的部分?
目前我正在使用 doxygen @page
特殊命令描述源代码中的几个 product-related 概念,我可以让其他源代码通过 [=16] 引用这些页面=] 特殊命令。例如,我可以通过 @ref concept
从其他地方为它创建 @page concept My Concept
和 link。但我更愿意将这些概念部分记录在单独的 documentation-focused 文件中,而不是在源代码文件中,因此将它们移动到 .md
文件似乎是合乎逻辑的方法。
更新:阿尔伯特在下面的回答可能应该有效,但是对于我测试的 doxygen 版本(1.8.11 和 1.8.13),建议的解决方案存在以下问题:
包含 header ID 属性(例如 {#label2}
)的 2 级 headers(即以 ##
开头的那些)不再出现在生成的 doxygen 输出中,生成输出:"warning: found subsection command outside of section context!" 这显然是一个已知错误。一种对我有用的解决方法是复制 header,一行包含 header ID 属性,另一行不包含它。例如:
## Header 2 {#label2}
## Header 2
link 通过 @ref label2
回到这些级别 2 header 的代码不会出现 link 回到指定的部分但是而不是包含该部分的页面的头部,如果页面很长 and/or 包含多个部分,那么它的用处就会大大减少。
更新 2:显然上面的问题 1 已在 doxygen 1.8.16 及更高版本中修复。
在 markdown 中使用章节/页面等也可以指定一个 id 属性,如:
Header 1 {#labelid}
========
## Header 2 ## {#labelid2}
这些是扩展名,在以下手册中有描述:http://doxygen.nl/manual/markdown.html#md_header_id。这些 id 属性可以被引用,例如\ref
我看到 doxygen 可以通过配置文件设置 USE_MDFILE_AS_MAINPAGE
使用 .md
(Markdown) 文件作为其输出文档主页。我还看到 .md 文件中的函数名称(例如 myfunc()
)将 link 加入该函数的文档。
有没有办法 link 从源代码(例如 C 函数 header)返回到 .md
文件的部分?
目前我正在使用 doxygen @page
特殊命令描述源代码中的几个 product-related 概念,我可以让其他源代码通过 [=16] 引用这些页面=] 特殊命令。例如,我可以通过 @ref concept
从其他地方为它创建 @page concept My Concept
和 link。但我更愿意将这些概念部分记录在单独的 documentation-focused 文件中,而不是在源代码文件中,因此将它们移动到 .md
文件似乎是合乎逻辑的方法。
更新:阿尔伯特在下面的回答可能应该有效,但是对于我测试的 doxygen 版本(1.8.11 和 1.8.13),建议的解决方案存在以下问题:
-
包含 header ID 属性(例如
2 级 headers(即以
##
开头的那些)不再出现在生成的 doxygen 输出中,生成输出:"warning: found subsection command outside of section context!" 这显然是一个已知错误。一种对我有用的解决方法是复制 header,一行包含 header ID 属性,另一行不包含它。例如:## Header 2 {#label2}
## Header 2
link 通过
@ref label2
回到这些级别 2 header 的代码不会出现 link 回到指定的部分但是而不是包含该部分的页面的头部,如果页面很长 and/or 包含多个部分,那么它的用处就会大大减少。
{#label2}
)的 更新 2:显然上面的问题 1 已在 doxygen 1.8.16 及更高版本中修复。
在 markdown 中使用章节/页面等也可以指定一个 id 属性,如:
Header 1 {#labelid}
========
## Header 2 ## {#labelid2}
这些是扩展名,在以下手册中有描述:http://doxygen.nl/manual/markdown.html#md_header_id。这些 id 属性可以被引用,例如\ref