Yun-Lung Lee
Yun-Lung Lee

Reputation: 105

How can I use "strikethrough" in the Doxygen's Markdown?

I found that I just cannot use double tilde (~~) to mark some text strikethrough. Is there any alternative way to mark some texts strikethrough in the Doxygen's Markdown?

Upvotes: 1

Views: 1581

Answers (3)

CodeFinder
CodeFinder

Reputation: 21

Unfortunately, I cannot comment on Patricks solution (not enough reps) but this is even shorter:

ALIASES += strike{1}="\htmlonly<div style='color:red;text-decoration:line-through'>\1</div>\endhtmlonly"

It can be used in a doxygen config file (as shown above) and in a rosdoc.yaml with rosdoc_lite, e. g.

aliases: fixme="\todo" strike{1}="\htmlonly<div style='color:red;text-decoration:line-through'>\1</div>\endhtmlonly"

... without creating an additional (nearly empty) .css file.

Tested with doxygen v1.8.11 and rosdoc_lite as of ROS Kinetic (v1.12.6). <strike>, <s> and <del> tags are not working for me, e. g.:

warning: Unsupported xml/html tag <del> found

Upvotes: 0

Patrick Schl&#252;ter
Patrick Schl&#252;ter

Reputation: 11851

I haven't found markdown strike-through for doxygen. The only way I managed to get it was by defining a class in the css.

I set in the .dox configuration file the HTML_EXTRA_STYLESHEET variable. The supplemental .css file contains project specific extensions. There I added

.strike {
   text-decoration:line-through;
 }

With that defined, I can use <div class="strike">whatever</div> to strike through text. It can work also for whole paragraphs, like

 text, bla bla
 <div class="strike">
     Whatever
       - list
       - list 2
       - list 3
     \par paragraph
       still striken
  </div>
    Not striken anymore.

It's clumsy, but it works. As it is a css class it can of course be added to all other html tags <td>, etc.

EDIT: To make it less clumsy you can also define an ALIAS

ALIASES += st{1}="\htmlonly<div class=\"strike\">\1</div>\endhtmlonly"

Then you can use it simply for text with \st{text that is striked through}

Upvotes: 1

Chris
Chris

Reputation: 137085

Standard Markdown permits inline HTML:

For any markup that is not covered by Markdown’s syntax, you simply use HTML itself. There’s no need to preface it or delimit it to indicate that you’re switching from Markdown to HTML; you just use the tags.

So you should be able to use <s> or <strike> (which have been removed from modern HTML standards, but still work in most browsers) or <del> tags, e.g.

Lorem ipsum dolor <s>sit amet</s>, consectetur adipiscing elit.

* Foo
* <strike>Bar</strike> Baz
* <del>Quuz</del>

Stack Overflow's Markdown engine renders that snippet like this:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • Foo
  • Bar Baz
  • Quuz

Upvotes: 0

Related Questions