我需要一个别名来标记命令行代码,设置在带有白色文本的黑色背景上,如下所示:
@cmd
C:\temp>echo Hello, world!
Hello, world!
C:\temp>
@endcmd
普通doxygen的别名不能这样做(多行,嵌套“\ temp”),但@code
和@verbatim
可以。但是,我不能使用它们,因为它们被格式化为带有黑色文本的白色背景,因此用自定义CSS覆盖pre.fragment类是不正确的。
有什么想法吗?
UPD : 评论显示我的英语有多糟糕......
好吧,再试一次。常规doxygen的功能如HTML和XML的工作方式如下所示:
cpp file doxygen produced index.html
/**
@mainpage main |
<pre> | <pre>C:>echo Hello, world!
C:\temp>echo Hello, world! | Hello, world!</pre>
Hello, world! |
|
C:\temp> | <pre>C:></pre>
</pre> |
*/ |
在日志中:
/tmp/index.h:3: warning: Found unknown command `\temp'
/tmp/index.h:6: warning: Found unknown command `\temp'
“code”和“verbatim”的工作方式不同!感受不同之处:
cpp file doxygen produced index.html
/**
@mainpage main |
@verbatim | <div class="fragment">
C:\temp>echo Hello, world! | <pre class="fragment">C:\temp>echo Hello, world!
Hello, world! | Hello, world!
|
C:\temp> | C:\temp>
@endverbatim | </pre>
*/ | <div>
问题是:我可以写别名,它会像“代码”或“逐字”一样工作。现在干净吗?
答案 0 :(得分:1)
如何使用自己的CSS标记和添加到Doxygen css文件的HTML标记。它的打字量似乎差不多。
答案 1 :(得分:1)
这个答案总结了Paul Joireman的回答中的一些评论。
Paul Joireman的回答是要走的路。在doxygen配置文件中定义两个别名:
ALIASES += "mycode=<div class="myfragment"><pre class=myfragment>"
ALIASES += "endmycode=</pre></div>"
并在\mycode
和\endmycode
语句中包装您的代码示例。例如,您的C ++文件可能类似于
/** \mainpage main
* \mycode
* C:\\temp>echo Hello, World!
* Hello, World!
*
* \endmycode
*/
产生以下相应的doxygen HTML输出:
<div class="myfragment>"><pre class="myfragment>">
C:\temp>echo Hello, World!
Hello, World!</pre></div>
(我不确定为什么>
部分中有class="myfragments>"
个。您需要格式化CSS文件中的myfragments
类。
上述C ++代码中未在评论中提及的另一件事是在代码示例中使用了转义反斜杠\\
。
答案 2 :(得分:0)
我找到的唯一出路就是
ALIASES += cmd="<div class=\"cmd\">@verbatim"
ALIASES += endcmd="@endverbatim</div>"
其中,CSS“cmd”类在您自己的样式表中设置。可能是:
.cmd {color:#e3e3e3;背景色:#222222; }