【发布时间】:2015-03-05 20:23:54
【问题描述】:
我发现我不能使用双波浪号 (~~) 来标记一些文本删除线。
有没有其他方法可以在 Doxygen 的 Markdown 中标记一些文本?
【问题讨论】:
标签: markdown doxygen strikethrough
我发现我不能使用双波浪号 (~~) 来标记一些文本删除线。
有没有其他方法可以在 Doxygen 的 Markdown 中标记一些文本?
【问题讨论】:
标签: markdown doxygen strikethrough
我还没有找到 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}的文本
【讨论】:
span 而不是div,否则你会在之后换行
Standard Markdown permits inline HTML:
对于 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 引擎像这样渲染 sn-p:
Lorem ipsum dolor
sit amet, consectetur adipiscing elit.
- 富
酒吧巴兹库兹
【讨论】:
<del> 也不起作用?请注意,所有这三个标签在浏览器之间也有不同程度的支持,因此可能值得测试几个不同的标签。
不幸的是,我无法评论帕特里克的解决方案(没有足够的代表),但这更短:
ALIASES += strike{1}="\htmlonly<div style='color:red;text-decoration:line-through'>\1</div>\endhtmlonly"
它可以在 doxygen 配置文件(如上所示)和带有rosdoc_lite 的 rosdoc.yaml 中使用,例如。 g.
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> 标签对我不起作用,例如。 g.:
警告:发现不支持的 xml/html 标记
<del>
【讨论】: