【问题标题】:Remove author and date from doxygen generated html从 doxygen 生成的 html 中删除作者和日期
【发布时间】:2017-03-26 10:55:52
【问题描述】:

我有使用 doxygen 样式 cmets 注释的 C++ 代码。 我们使用下面的模板。 根据文档的使用(内部与外部),我们希望删除生成的 html 中的作者和日期。 是否可以从自动生成的 html 中删除作者和日期? 谢谢! 保罗

/*!
*  \file Document.h
*  \brief This header file will be useful for the doxygen.
*
*  \author John.Doe
*  \bug    No known bugs.
*  \date   3/20/2016 
*/

【问题讨论】:

    标签: doxygen


    【解决方案1】:

    如果不对标题格式进行某种修改,这将很难实现。要尝试的第一个也是最明显的事情是使用Doxygen FAQ 中讨论的\cond\endcond 条件命令(或#ifndef DOXYGEN_SHOULD_SKIP_THIS 选项)。

    您可能会考虑的另一个技巧是要求您重新排序 \bug\date 命令,以便 \author\date 在相邻的行上。如果你这样做了,你的标题将如下所示:

    /*!
     *  \file Document.h
     *  \brief This header file will be useful for the doxygen.
     *
     *  \author John.Doe
     *  \date   3/20/2016 
     *  \bug    No known bugs.
     */
    

    通过以这种方式排序,您可以在 Doxygen 配置文件中使用一些别名技巧来获得您正在寻找的结果。通过更改 \author\bug 的定义,您可以告诉 Doxygen 动态插入评论命令,忽略它们之间的作者和日期信息。在您的配置文件中使用以下行应该会导致作者/日期条目从所有 HTML 输出中消失。

    ALIASES  =  author="<!--"
    ALIASES  += bug="-->\bug"
    

    这不完全是 Doxygen 的设计功能,但它是一个应该可以解决问题的 hack。

    【讨论】:

      【解决方案2】:

      您可以使用 doxygen 的 \internal 命令 - 请参阅 http://www.doxygen.nl/manual/commands.html#cmdinternal

      基本上,您需要稍微调整标题示例,以将要排除的元素(作者、日期)放在 \internal 命令之后:

      /*!
      *  \file Document.h
      *  \brief This header file will be useful for the doxygen.
      *
      *  \bug    No known bugs.
      *  \internal
      *  \author John.Doe
      *  \date   3/20/2016 
      */
      

      然后在您的 Doxyfile 中,您可以启用/禁用 INTERNAL_DOCS 设置。

      更高级的是\if\cond 命令,它们可以让您更精细地控制显示的内容,因此您可以为不同的用户组提供三个或更多不同版本的文档。见http://www.doxygen.nl/manual/commands.html#cmdif

      【讨论】:

        【解决方案3】:

        完全删除作者和日期。

        这些信息甚至不应该在doxygen 中,这就是源代码控制管理(即git)的用途。

        【讨论】:

        • \author 不仅仅用于类似责备日志的目的(您是对的,它们应该在 SCM 中进行跟踪)。它还用于版权和许可方面的目的。
        【解决方案4】:

        对于较新版本的 doxygen,如果像示例中那样具有一行命令并且必须删除所有出现的命令,则更加容易。由于 doxygen 版本 1.8.17,命令 \noop 存在(参见 https://www.doxygen.nl/manual/commands.html):

        \noop(要忽略的文本)

        忽略所有文本,包括命令,直到行尾。该命令最常与 ALIASES 结合使用,以忽略不支持的命令,例如其他处理工具。

        所以在 doxygen 配置文件中添加以下几行就足够了:

        ALIASES += author=\noop
        ALIASES += date=\noop
        

        【讨论】:

          猜你喜欢
          • 2011-10-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-24
          • 1970-01-01
          • 2012-05-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多