I might be being optimistic, but if that ever happens, it could be the start of a new era in internet content authorship!
I might be being optimistic, but if that ever happens, it could be the start of a new era in internet content authorship!
The RFC for text/markdown includes a variant specifier but that only makes me think that we would be repeating the mistake of early browers when there were browser-specific HTML tags.
Which markdown?
That depends on which one eventually gets specified (if at all) by some reputable standardization body. And sometimes, people don't want much more than a static web page!A little more work on that to get it to version 1.0 and we'd be golden.
> This document attempts to specify Markdown syntax unambiguously.
So if you're aware of any ambiguities in the spec, those are bugs which should be reported and fixed.
Great for library / parser implementers and it helps discover ambiguities.
> If anyone wants to contribute a BNF, please do! But I'm very skeptical that it can be done, due to the many quirks of the syntax.
https://github.com/jgm/CommonMark/issues/113#issuecomment-60...
I mean, Foo = "hello" / "hello" is totally acceptable, and if you have any indirection like Foo = XXX / YYY with XXX, YYY = "hello" you can then attach different semantics to XXX and YYY despite it being ambiguous. Add in more levels of indirection, and you have a lower chance of it being trivially obvious.
I wonder if Markdown will ever get style annotations? Like CSS, but lighter and less broken.
Anything much more complicated than that I think risks jeopardizing Markdown's readability in plain text format and intuitive simplicity. Markdown is meant to be focused more on content than style.
Write software first; people will create content that matches the platforms that they care about most.
Basically a small group of people worked in private for years while there were public community efforts, including a W3C gorup, to do the same. None of the disparate efforts coalesced into a unified front, so the simple answer is that projects advocated for whatever spec their developers backed. The community is fractured.
Sure, the YAML and Markdown specs could be more strict but right now browsers are very tolerant of malformed HTML.
Unlike HTML it would help separate data/content from presentation, which I think is at the root of ads and poor quality content we are forced to sift through now.
On a sidenote:
Sure, the YAML and Markdown specs could be more strict but right now browsers are very tolerant of malformed HTML.
This wouldn't be possible without an extremely well-defined HTML spec :) For example, if I write the following in a hypothetical browser-parsed Markdown document: _Hello!_
*Hello!*
**Hello!**
Which one should show up as bold? What about italic? Which one should just be surrounded by {1,2} asterisks?Conversely, if I have:
<ul>
<li>Hello</li>
<li>World!
</ul>
Many browsers can determine (non-trivially, and not always, granted) that there's an unclosed `<li>` tag inside a closed `<ul>` environment and work with that. It's generally a different class of problems, though.Note that <li> example is perfectly valid, and will be parsed correctly by any html5 capable parser. Per the html5 spec, the closing tag on an <li> element is optional.[0]
[0] - https://html.spec.whatwg.org/#optional-tags
An li element's end tag may be omitted if the li element is immediately followed by another li element or if there is no more content in the parent element.
<!doctype html>
<title></title>
<ul>
<li>item1
<li>item2
</ul>> Though we understand many people would love to use Markdown in Slack messages, we have no plans to support it. Our message formatting is similar to other popular services like Skype and Google Talk, and is intended for a majority of our users who are unfamiliar with Markdown. However, we'll keep it in mind for the future.
https://get.slack.help/hc/en-us/articles/202288908-Format-yo...
Markdown has no notion of italic and bold styling, only semantics for emphasis and strong emphasis.
// this is a string
quote: I say, good man, could you spare a vowel?
// this is a parsing error
quote: And then I said: "Oh, god, man, you're an aardvark!"
// this is a string (not including the quotes as part of the string)
quote: "And then Winston Churchill kicked him square in the knee."
// this is a string (including the quotes as part of the string)
quote: |
"What do you mean, all the monkeys have escaped?"
// this is a string
theCharacterToShow: =
// this is a null value
theCharacterToShow: ~
// this is a boolean true
theCharacterToShow: y
// this is an integer
obscureAnimeTitle: 0xDEADBEEF