doxygen \ code标签在同一页上打破html标签

时间:2016-12-03 14:59:20

标签: doxygen

这是我在这里的第一个问题。

当我使用doxygen来记录我的C ++代码时,我遇到了一个奇怪的问题。只要我在页面上有一个\ code标签,就不会在输出中处理所有html标签。

第一个例子展示了我对html标签的期望。在第二个例子中,我只添加一个doxygen \ code标签,完整的输出已损坏。

示例1:

//!   \page testpage Test Page
//!
//!   <ul>
//!     <li>\ref test_section1</li>
//!     <li>\ref test_section2</li>
//!   </ul>
//!
//!   \section test_section1 Test Section 1
//!
//!   Any text.
//!
//!   \section test_section2 Test Section 2
//!
//!   Any text.
//!   <br><br>

doxygen result of the first example

示例2:

//!   \page testpage Test Page
//!
//!   <ul>
//!     <li>\ref test_section1</li>
//!     <li>\ref test_section2</li>
//!   </ul>
//!
//!   \section test_section1 Test Section 1
//!
//!   Any text.
//!
//!   \code
//!   if (x==1) return;
//!   \endcode
//!
//!   \section test_section2 Test Section 2
//!
//!   Any text.
//!   <br><br>

doxygen result of the second example

顺便说一句,我在linux上使用doxygen 1.8.5。

1 个答案:

答案 0 :(得分:1)

使用当前版本的doxygen(1.8.12)解决了这个问题。

通过在doxygen配置文件(Doxyfile)中禁用Markdown支持(MARKDOWN_SUPPORT = NO),可以获得1.8.5的更好结果。

使用以下代码形式也可以获得良好的结果:

    /**
   \page testpage2 Test2 Page

   <ul>
     <li>\ref test_section1</li>
     <li>\ref test_section2</li>
   </ul>

   \section test_section1 Test Section 1

   Any text.

   \code
   if (x==1) return;
   \endcode

   \section test_section2 Test Section 2

   Any text.
   <br><br>
*/

这与MARKDOWN_SUPPORT的设置无关。

建议无论如何都要使用当前版本(1.8.12)。