But the syntax you describe for headingless sections goes back to treating Markdown as a source for HTML. I say that because the syntax you propose has the notion of hierarchy, but that won’t be evident to the human plain text reader , not unless they internalize your rules.
Yes, this is all about the section hierarchy in a document outline. If a reader encounters an <hr>
in HTML or the respective line of characters (inspired by printed books) in Markdown, they have to infer its structural meaning from context. For the latter, this doesn’t change at all if CM authors had the ability to opt into a more nuanced semantic treatment of their source text. For readers, it will only noticeably affect the output in a different format (or perhaps not even there if the styling ignores the hidden semantic information).
The only natural ways for plain text to represent hierarchy are indentation, borders (e.g. block quote’s left border), or headings with heading levels.
Horizontal rules are kind of like borders.
We’re all aware that due to legacy code blocks we hardly can use indentation for anything else in CM.
In other words, I don’t think your semantics for
****
works, and the distinction between----
and____
doesn’t make sense for Markdown, which should only deal with semantic breaks, not presentation (e.g. horizontal rules).
Currently, all CM parsers only output <hr>
in HTML for all of those. I’m just proposing to keep that being possible while adding the option to also more explicitly describe the document structure with <section>
.
CM authors may also choose the number of characters in such a separator line and the spaces in between. They could use this to assign a private meaning, i.e. use the same number as the respective heading would have as a mnemonic.
Note that the outline algorithm for HTML was changed severely in 2022, because browsers did not respect the previous recommendation. Heading levels are now the decisive factor again, sections have become mostly augments.