This is a fantastic development, and no mistake. That needs to be said first.
In discussions about Markdown implementation on Meta.StackExchange (of various kinds) some of the most desired features not implemented in Markdown have been identified: support for tables and footnotes appearing high in the pecking order, but definition lists and even “special attributes” might be added (this latter not nearly so significant, imo, but still worth noting).
These of course have long been found in MarkdownExtra and it seems inevitable that the question should be raised about where these fit in to the Standard Markdown initiative now that it has seen light of day.
So – what plans for implementing these “extensions”, then?
Extensibility has been a huge thing for me also. The implementation I’ve usually used is showdown and the major win for it is that it allows pretty easy extensions even though it isn’t maintained at all.
I would switch to stmd immediately if extensions were easy.
Yeah, I think we need to come up with a way to add extensions to the spec in a way that the extensions make sense.
E.g., the extension should specify whether it is adding a container block, leaf block, or inline element. I think that’s the #1 thing - several “existing extensions” come up with their own syntax that breaks the container/leaf/inline categorization.
And it should probably specify how conflicts are resolved with the standard spec.
which is the type of name/anchor markup used in the Standard Markdown link above, for example. It would be good to have both, of course. The difference between them is the the latter doesn’t need to have a bogus link, and get marked up as <a href="#">...</a> text, of course.
True, and I appreciate that. It looks as if some minor “extensions” are already in the Standard though (as in the Link reference definitions noted elsehwere in this thread), so perhaps it’s worth at least having this on the edge of the radar, with suitably managed expectation? (I hope?)
(And while I’m at it, thank you for what you’ve done here – I had been hoping for something like this for a while!)
I suggest someone should create a topic about how best to include simple extensibility points for extensions, ways to namespace them and handle order so they don’t conflict, etcetera. That is the best thing to discuss right now.
One extension I love is the definition lists one: actually they are implemented by Kramdown. PHP Markdown extra, pandoc, MultiMarkdown and other interpreters, in various flavours.
I use a lot this extension (and in general HTML definition lists): I find it useful for example for changelogs. Consider the readability this:
: Update README
: Update of the script comment in order to reflect the README
: Fix minor bug
: First release
Compared to the HTML version:
<dt>1.0.2</dt> <dd>Update README</dd>
<dd>Update the script comment in order to reflect the README</dd>
<dt>1.0.1</dt> <dd>Fix minor bug</dd>
<dt>1.0.0</dt> <dd>First release</dd>
This is the result (definition lists formatting colud be improved here IMHO ):
Update the script comment in order to reflect the README