Shrimple – A Simpler, Nicer Markdown(qount25.dev) |
Shrimple – A Simpler, Nicer Markdown(qount25.dev) |
Solved my problems. Caused no inconvenience.
[1]: https://web.archive.org/web/20210130000533/http://doc.replic...
[2]: https://github.com/gritzko/beagle-journal/blob/main/wiki/Str...
[3]: https://github.com/gritzko/beagle-journal/blob/main/wiki/Str...
In researching for this reply I see that it's joining a somewhat crowded field https://en.wikipedia.org/wiki/Comparison_of_document_markup_...
What makes it better or cleaner? It isn't explained anywhere on the page. It looks about the same as markdown to me.
[Edit:] There's h1 and h2, who'd ever need h3? You gotta be kidding me!
Also, the markup should at least support tables.
On the other hand, I am always happy to see progress in the LaTeX alternatives world. That typesetting language has become comically overgrown and I think it's turing complete at this point.
Markdown's issue is that it isn't a standard, and many "standard" Markdown implementation default to rending HTML tags without any validation.
—⁂—
Code blocks are indented by six spaces. Oddly specific. Four spaces or one tab I could understand, even two or eight spaces have some precedent, but six spaces?
Combining that with treating “### ” as special… very odd.
—⁂—
Link syntax is possibly even worse than Markdown’s.
Now Markdown’s is terrible: people mix up the square brackets and parentheses frequently, the fact that the href is next to the delimited text rather than inside (e.g. [text <href>] or [text|href]) is dubious, and it uses as its closing delimiter the right parenthesis which doesn’t get escaped in URLs <https://url.spec.whatwg.org/#url-code-points> so that you have to add an extra step after normal URL serialisation, { '(' → %28, ')' → %29 }, for general correctness.
But Shrimple’s? The idea of merging hrefs with footnotes is definitely appealing, but the way it’s been done is hard to read and quite unmanageable. The link is essentially delimited by a "-> " prefix and a "[N]" suffix. Tough to read, though syntax highlighting may make it more bearable. But really, paired delimiters are generally safer. In Markdown, it would have been a "[" prefix and a "][N]" suffix, and that would have been nicer.
Then the URLs (as text, not linked) remain at the end of the document, devoid of context.
And you can only use numbers, not names. And to be frank, inline hrefs are better a significant fraction of the time.
Footnotes are a bad idea in general: you have to go all the way to the end of the document to resolve them, then find your way back. By contrast, in languages like Markdown and reStructuredText you can define your links closer to where they’re used, if you wish.
reStructuredText_ lets you link a single word with a trailing underscore.
Multi-word link targets need `backtick delimition`_.
In either form, double the underscore for an anonymous link__,
which you can place after the paragraph.
That might sometimes be neater than using an `inline reference <https://example.com>`_.
__ https://example.com/
.. _reStructuredText: https://docutils.sourceforge.io/rst.html
.. _backtick delimition: https://docutils.sourceforge.io/docs/user/rst/quickref.html#hyperlink-targets
I also think that notes sources should be spanned: mark which words the footnote applies to. But that sort of thing is going beyond what Markdown covers.(Content-wise: looking at the footnotes, I see two orphaned footnotes, and one of them seems to have bad HTML escaping done to it, > becomes &rt; which is invalid; where I would have expected that -> to become a link.)
—⁂—
Lists: requiring two-space indentation is bizarre. For bullets, it can be nice to match four-space block indentation, and that’s how I’ve tended to write things in my own lightweight markup language (LML), but then for numbers you want one or zero spaces to keep up that concept. In the end, it’s just… why?
> Subsequent items may be numbered normally (unlike Markdown, where they all have to be "1").
That’s flat-out wrong about Markdown.
> Numbers don't have to be consequtive, but they will be normalized to be consequtive. It just werks!
Yuck, yuck, yuck. That’s what Markdown does, and I hate it. If I wrote 44, I meant 44. If you really want to, have tooling that detects sequence breaks and warns “did you actually mean 44?”, but changing what the user clearly wrote is nasty.
—⁂—
Parse and render dictionaries: seems a very specific feature that is unlikely to compose well. The basic concept can definitely be useful, but I don’t think it’s exposed well.