【问题标题】:How to include custom files in Doxygen如何在 Doxygen 中包含自定义文件
【发布时间】:2011-03-04 09:09:51
【问题描述】:

我想添加自定义(非项目)文件以使用Doxygen 生成一些额外的页面。

我(实际上)不确定这些文件应该如何命名以及它们的内容应该如何格式化。

【问题讨论】:

    标签: doxygen


    【解决方案1】:

    在我找到答案之前我已经搜索了很多,所以我认为很高兴分享!

    根据这篇Doxygen gotchas的文章我终于发现:需要添加一个dox扩展名的文件。它的内容应该包含 C 风格的注释块:

    /*!
      \page My test page
      contents
      ...
      more contents
    */
    

    确保您的自定义文件放置在 INPUT 设置中包含的目录中,或者如果 INPUT 为空,则放置在当前目录中,以便可以找到这些文件。

    【讨论】:

    • Markdown 现在也可用。 Here's怎么用。
    • 它将(在撰写本文时)接受其他一些评论形式,例如/// 代替 C 风格的多行 cmets 和 @ 代替 `, but it seems the last line must consist of the comment marker (\\`) 等等。
    【解决方案2】:

    仅出于完整性考虑:doxygen 将 3 个可能的扩展名视为附加文档文件:.dox、.txt 和 .doc。

    此类扩展名在文件索引中隐藏的文件。在文件中,您需要放置一个或多个 C/C++ 样式的注释块。

    【讨论】:

    • 由于这在 google 上仍然很受欢迎:现在看来,必须将 .md 添加到该列表中。
    • 使用 doxygen 1.8.13,.txt 不起作用。 .md 对我有用。
    • @Fabian 查看 doxygen 配置文件(Doxyfile)中的标签 EXTENSION_MAPPING
    • @albert 谢谢。这允许添加 txt 文件,但是我需要选择一种语言来解析它们并在 txt 文件中使用 doxygen cmets。 Markdown 文件会自动被视为 doxygen 页面,无需修改 md 文件,这也是我对 txt 文件的期望。
    • @Fabian,我想我理解你的问题,在文档中没有提到 Markdown 的可能性。您可能需要:EXTENSION_MAPPING = txt=md.
    【解决方案3】:

    为了更加完整,从 Doxygen 版本 1.8(我相信)开始,它现在支持与 markdown 语法非常相似的附加文本文件。您不再需要使用 C/C++ 样式的注释块。相反,只需编写 几乎 普通文本并确保文本文件位于 INPUT 路径中,并且您的 doxygen 扫描实际上会查找具有 .markdown 扩展名的文件(或您选择使用的任何其他扩展名,像.md)。

    【讨论】:

    • 我不是很肯定(也许将其视为一个问题),但我看不到将诸如 \dot 之类的命令添加到降价文档中的方法。
    • @pedz:我已经有一段时间没有使用 Doxygen(不久前换了工作),所以不要记住所有细节。您不能将任何自定义标签添加到降价中。它必须得到解析器的支持,但我相信“\dot”是一个有效的标签:stack.nl/~dimitri/doxygen/manual/commands.html#cmddot。所以可能a)你没有正确的版本或b)在你的配置文件中你没有指定DOT工具可用。
    【解决方案4】:

    为了清楚起见:

    在 .dox 配置文件中,将文件添加到 INPUT 指令中 像这样:

    INPUT = ../src \
            ../include \
            ../docs/my-extra-file.txt
    

    如果文件有适当的扩展名,比如 .h 或 .c,那么 Doxygen 会在不添加 INPUT 指令的情况下找到该文件。在文件内部使用普通的 Doxygen 标记,就像在源代码中一样,即在注释块内部,例如:

    /*! \mainpage MyProject - A Brief Description.
    \image html Mylogo.png
    \section my-intro MyProject Introduction
    \htmlinclude about-MyProject.html
    */
    

    也可以只使用其中一个包含标签,如上例中的“\htmlinclude”,在代码中的任何位置。

    【讨论】:

      【解决方案5】:

      只需在 doxyfile 的 INPUT 宏中列出您的自定义文件。您可以选择任何您认为合适的名称。格式是带有 Doxygen 标签的文本。

      【讨论】:

      • 我试过了,但该文件作为源文件包含在内(添加到文件列表中)。使用 dox 扩展似乎可以防止这种情况发生
      猜你喜欢
      • 2011-09-14
      • 2020-06-16
      • 2016-11-03
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      • 2021-01-05
      • 1970-01-01
      • 2013-02-24
      相关资源
      最近更新 更多