我发现我不能使用双波浪号 ( ~~
) 来标记一些文本删除线。有没有其他方法可以在 Doxygen 的 Markdown 中标记一些文本?
3 回答
我还没有找到 doxygen 的降价删除。我设法得到它的唯一方法是在css中定义一个类。
我在 .dox 配置文件中设置了HTML_EXTRA_STYLESHEET
变量。补充的 .css 文件包含项目特定的扩展。我在那里添加了
.strike {
text-decoration:line-through;
}
有了这个定义,我可以用它<div class="strike">whatever</div>
来删除文本。它也适用于整个段落,例如
text, bla bla
<div class="strike">
Whatever
- list
- list 2
- list 3
\par paragraph
still striken
</div>
Not striken anymore.
这很笨拙,但它有效。因为它是一个 css 类,它当然可以添加到所有其他 html 标签<td>
等中。
编辑:为了让它不那么笨拙,您还可以定义一个别名
ALIASES += st{1}="\htmlonly<div class=\"strike\">\1</div>\endhtmlonly"
然后你可以简单地将它用于文本\st{text that is striked through}
对于 Markdown 语法未涵盖的任何标记,您只需使用 HTML 本身。无需为它加上前缀或定界以表明您正在从 Markdown 切换到 HTML;您只需使用标签。
因此,您应该能够使用<s>
or<strike>
(已从现代 HTML 标准中删除,但仍可在大多数浏览器中使用)或<del>
标签,例如
Lorem ipsum dolor <s>sit amet</s>, consectetur adipiscing elit.
* Foo
* <strike>Bar</strike> Baz
* <del>Quuz</del>
Stack Overflow 的 Markdown 引擎会像这样呈现该片段:
Lorem ipsum dolor
sit amet, consectetur adipiscing elit。
- 富
巴兹酒吧曲子
不幸的是,我无法评论帕特里克的解决方案(没有足够的代表),但这更短:
ALIASES += strike{1}="\htmlonly<div style='color:red;text-decoration:line-through'>\1</div>\endhtmlonly"
它可以在 doxygen 配置文件(如上所示)和带有rosdoc_lite的 rosdoc.yaml 中使用,例如
aliases: fixme="\todo" strike{1}="\htmlonly<div style='color:red;text-decoration:line-through'>\1</div>\endhtmlonly"
...无需创建额外的(几乎是空的) .css 文件。
从 ROS Kinetic (v1.12.6) 开始使用 doxygen v1.8.11 和 rosdoc_lite 进行测试。
<strike>
,<s>
并且<del>
标签对我不起作用,例如:
<del>
警告:找到不支持的 xml/html 标记