Revised 2005 proposal for meta-data

Sam Angove peasant at gmail.com
Sun Dec 31 10:14:37 EST 2006


On 12/29/06, Andrea Censi <andrea at censi.org> wrote:

>

> I wait for comments.



Are you wedded to the curly brackets?

The way I see it, Markdown already has a span-level metadata syntax:

This is [a link](http://example.com "Title").

In Python it might be this function:

def link(link_text, href, title=None):
element="a"

# blah blah

But it could just as easily be this one:

def meta(text, href=None, title=None, **kwargs):
if not "element" in kwargs:
if href:
element="a"
else:
element="span"

# blah blah

And exist in text like so:

This is [a link](http://example.com xml:lang="en").

[Not a *link*...](class="not-a-link" element="blink")

Like the curly-bracket proposal, something similar was also [discussed
in 2005][1], though only in relation to reference-style links and
images.

[1]: http://six.pairlist.net/pipermail/markdown-discuss/2005-October/001578.html

I think it's more elegant, but that's obviously a personal preference.

* * *

The footnote syntax isn't official, but it's pretty popular:

Blah blah blah [^note_id] blah.

[^note_id]: Note text.

That's just arbitrary metadata applied to a specific point inside a
block. It's a natural syntax to extend to other types of metadata,
indicated by their own "magic" characters:

> Blockquote hooray! [@cite="http://example.com/" class="ext"]

## Heading [.classname]

The rules regarding placement etc. could be essentially the same as
they are in the curly-bracket syntax.

I prefer it because square brackets already indicate editorial content
(i.e. a form of metadata) in plain text.

Anyway, YMMV, $0.02, etc. Happy new year!


More information about the Markdown-Discuss mailing list