Strikeout threw out? Strikethrough strikes out, throughout?

Continuing the discussion from Feature Request: Strikethrough text:

I very much would like to see this in the spec as well.

I use this feature all the time in GFM, pandoc and friends.
In my opinion, strikethrough is a phenomenally expressive use of formatting, and I fucking hate it find it quite irksome using other renderers lacking this feature, forcing me to drop to HTML.

So, with respect, can I ask what is the rationale for not including this in the spec?

If it is a matter of support in present implementations, @jgm, I would note that (on its face) Babelmark 2 seems rather skewed on this one as, IMHO:

  • If one is going to include variants like “pandoc (strict)”, one should also take into account redcarpet --parse-strikethrough and other renderers that have optional support for this feature.

  • If one counts multiple versions of, etc., one should also count variants of other renderers, i.e., vanilla discount in addition to rdiscount, canonical GFM in addition to “cebe/markdown GFM”, etc.

  • strikethrough is now default in the current version of marked.


I would also argue that rendering ~~foo~~ as <del>foo</del> does match up with the semantic meaning of the element in HTML5 (see the example).



Probably could live a non-core CommonMark as, sadly, tables might do.

1 Like

I cannot recall needing strikethrough for any reason other than comedy in the last 5 years. And in those rare cases I do need it, typing <s> hardly seems onerous.

1 Like

Strikeout is just trying to make digital text mimic pen and paper, which is only useful for (jackass wiseguy) comedy at best and is frivolous/obsolete at worst.

… strikethrough is a phenomenally expressive use of formatting …

A line through some words is “phenomenally expressive”? Whatever happened to measured language?

It is used in reviewing documents. Like . Perhaps we should consider an extended syntax dedicated to reviewing documents in commonmark that would include the strikeout.

In critics markup, they used {--striked out text --} to do the subtraction. Since {} will be used for consistant attributes, we could try [--striked out text --] instead.

Or alternatively >>--striked out text --<<

Brainstorming Reviewing Markups in future commonmark: (edit: moved to Reviewing Markups )

1 Like

Adding support for delta markup (so ---/+++) might be interesting but as extension.

Hardly. I beg to differ on all counts.

Your first sentence is self-contradictory, as that particular use of strikeout has only appeared in the digital era. In fact, the opposite is true: it is now filtering down into print.

Ok, so yes, I’m trying to sell make the case for this feature’s inclusion. But I fully stand by that statement: particularly, on the internet, where the lack of tone and inflection often makes it difficult to convey the writer’s intent, strikethrough stands apart in its power a metadiscursive device that can variously be used for apophasis, epanorthosis, implied criticism, wry humor, irony, etc.

You may disagree, but I certainly am not alone in this opinion.

Of course, additionally:

  • It is often used to render completed items in a list.

  • And, more critically, it is frequently used to preserve the “revision history” (illustrate where and how text has been changed) in revised blog posts, etc., which have been updated since their first publication.

Well… I can think of one or two blog posts which could benefit from the judicious use of some strikethrough. :wink:

True, typing <s> isn’t particularly onerous. But the spec (as it reads today) does allude to the possibility of non-html rendering targets, and these would benefit from the inclusion of this extension in the standard, a feature which is already implemented in a good many Markdown implementations.

I measure it all the time!

And, if “strikeout is just trying to make digital text mimic pen and paper”, ok, but isn’t Markdown “just” trying to make HTML formatting mimic plaintext email?


It is confusing that both <s> and <del> are in the HTML5 spec.

For the record, Github flavoured Markdown converts ~~ to <del>, rather than <s>.

ah <s> represented text that are just plain deleted. While <del> represents deleted text that has a <ins> counterpart text inserted.

Does <del> require an <ins> counterpart though? Careful trusting W3Schools. The W3C HTML5 spec doesn’t appear to require this, making me wonder what the practical difference between <s> and <del> is.

1 Like

I don’t think so. Basically what I think they are trying to do, is keep “review” operations of deleting and adding text, separate from the visible ‘strikeout’ that you occationally see in news site that has been edited.

Basically <s> is for public consumption, while <del and <ins> is for internal consumption. E.g. during publishing, the del and ins tag may be removed.

From the <del> spec:

This value may be shown to the user, but it is primarily intended for private use.

As it can be shown to the user, why not always use <del> instead of <s>? More importantly for us, why should Markdown support both? If there is no practical reason, I suggest only supporting <del> via ~~ and saving a lot of confusion.

I may be mistaken, but <s> feels like a legacy element in the same way that <b>, <i>, and <u> do.

1 Like

well its used often enough that it was reintroduced by w3 for html5. I mean, how else do you bold text or underline or italic without it?

With CSS normally, if it’s presentational information only. In HTML5 they have been updated with semantic meaning, but it’s misleading coming from HTML4. This article explains the new meanings of <b> and <i>.

argh yea I see what you mean in terms of <b> and <i>.

Well at least for <s> it seems rather straightforward.
It represents “Mark up text that is no longer correct” .

Which does include ‘ironic usage’, e.g. I am keeping some slaves interns in the office.
Which works, as long as you know it’s context.

<del> would commonly be used to markup text that is no longer correct (otherwise why edit it out?). It might be removed for other reasons as well of course. Practically, the meanings of <del> and <s> seem close enough not to warrant a separate tag.

I think on closer reading, there is a distinct difference. The <del> tag is specifically a ‘reviewing’ tag, which means it is a tag that along with <ins> is for addition and subtraction of a content under review. This is much different than <s> which is for marking strikethrough of text, (rather than striking out), and thus is for public consumption. Refer to Reviewing Markups for more information.

<del> appears to encompass the meaning of <s> since it can be publicly presented as well. We need some examples of where <s> might be used but where <del> would be inappropriate. If there are no examples, perhaps <s> is not needed in Markdown.

well strike though marks does not always mean ‘deleting’.

It’s sometimes used as an ironic notion. E.g. CAT: “I seriously love my slave human”

Also I’ll show <del> as a red box with --- on each side. While for <s> I would show it as a standard strikethought. (Which shows that presentation between the two tags is not always treated the same)

1 Like