doxygen @par命令用于打破缺少<b>或错误</b>标记的html输出

时间:2012-04-02 00:11:22

标签: doxygen

这里的Doxygen noob。我已经搜索并试图解决这个问题几个小时了,没有运气。答案可能很明显,我不太熟悉。

编辑:Doxygen的@par命令会破坏HTML输出页面(通过gui向导运行doxy 1.8.0),无法在<b>内插入<dt>,或者插入错误{ {1}}中的{1}},而类似的命令(例如</b></dt>)则没有。示例注释(注释是关于函数的,如果这很重要......):

@return

你可能会认出部分评论,因为我已经从命令用法的doxygen演示中解除了它。这会产生HTML输出,停止在“这是第一段”。在\ note命令下(正确渲染之前的所有部分),并且doxygen页面的顶部引用了错误:

  

此页面包含以下错误:   第42行第422行的错误:打开和结束标签不匹配:dt第0行和第b行   下面是第一个错误的页面呈现。

XML呈现(或至少在我看来)正确,如下所示:

@note

错误网站上的HTML输出:

/** 
Register a new exit to the room object. Adds the exit to our exit_hash map with some safety checks for whether we've been passed an array of exits or just one.

New practice; there's now an exit hash map ([direction:hash])
and we add exits into our hash map as they're created. This is how guards
are now identified: they're assigned the hashes they guard as IDs.

@code
OH JESUS GOD PLEASE WORK
@endcode

@return hrm

\note
This note consists of two paragraphs.
This is the first paragraph.

\par User defined paragraph:
Contents of the paragraph.

\par
New paragraph under the same heading.

\par
And this is the second paragraph.

More normal text.


*/

3 个答案:

答案 0 :(得分:1)

我不确定,但问题的一部分可能是您在\note的其中一段中使用了段落标题。来自\par的doxygen手册页:

  

如果没有给出段落标题,则此命令将启动一个新段落。这也适用于其他段落命令(如\ param或\ warning),而不会结束该命令。

这意味着添加标题将结束任何先前的命令块。尝试重新订购文档以匹配\par文档示例,看看是否会产生您期望的结果。

另外,422线上有什么?

答案 1 :(得分:1)

我处于同样的境地。由于.xhtml点图,.svg作为我的扩展名。我发现如果你在@code块之前和之后添加一条额外的新行,它似乎解决了很多问题:

/**
 * @par Example:
 * This is an example:
 * @code
 * // Some code
 * @endcode
 * The above example is AWESOME!
 */

上面会创建XHTML错误,但如果我将其更改为:

/**
 * @par Example:
 * This is an example:
 *
 * @code
 * // Some code
 * @endcode
 *
 * The above example is AWESOME!
 */

一切都很好。这可能会或可能不会解决您的问题,但允许我在处理doxygen XHTML输出时保留.xhtml扩展名。

答案 2 :(得分:0)

我几天都在评论格式中切换选项/搜索错误,看起来我终于找到了这个问题,我将在此处记录,如果其他人想来的话:

我已根据HTML_FILE_EXTENSION设置的文档中的建议将.xhtml选项设置为DOT_IMAGE_FORMAT

  

DOT_IMAGE_FORMAT标签可用于设置由dot生成的图像的图像格式。可能的值是svg,png,jpg或gif。如果留空,将使用png。   注意:   如果选择svg,则需要将HTML_FILE_EXTENSION设置为xhtml,以使SVG文件在IE 9+中可见(其他浏览器没有此要求)。

此设置不是错误的原因(错误报告:https://bugzilla.gnome.org/show_bug.cgi?id=672472),但该设置导致它阻止由于未配对标记而导致页面加载。将此设置返回到.html并不能解决额外</b>标记的问题,但它确实可以作为一种解决方法,以防止它暂时中断页面。