Metadata syntax (was Universal syntax for Markdown)

Richard Caldwell nrc at offcamber.org
Mon Sep 19 22:59:55 EDT 2011




> From: "Fletcher T. Penney" <fletcher at fletcherpenney.net>



> I think the idea of metadata boils down to three perspectives:

>

> 1) I don't want it/need it/care about it --- get rid of it

>

> 2) I want something easy to write, easy to read, and fits with the

> Markdown philosophy of as little markup as possible to accomplish

> the job ---even if not quite as powerful (e.g. MultiMarkdown)

>

> 3) I want something powerful/flexible, even if it looks like computer

> code at the top of my document (e.g. lunamark)

>

>

> Before there can be a unified standard, there has to be a unified

> philosophy (just like the rest of the "standards" debate on the

> list).


After some initial excitement that it might be possible to brew up a standard for Markdown extensions I have become disheartened. Metadata is one of the most commonly implemented extensions for Markdown. If we cannot agree that including metadata is important and that any standards should adhere to the fundamental philosophy of Markdown, then there is little hope for consensus.

I suppose having Gruber as the the absentee landlord of Markdown is better than turning Markdown it into something completely different than what has worked so well for so many. Many of the proposals that I'm seeing try to solve problems that go far beyond the scope of what Markdown is or should ever be.

Here is what I believe to be the appropriate solution for Markdown metadata.

* Metadata is specified at the top of the document similar to RFC822 headers. The keys and values may be arbitrary.
Multiple lines may be folded as in RFC822.

* Metadata lines may be enclosed in an HTML comment to hide metadata if original Markdown is used.

* Metadata is omitted from the output except that:

* Keys matching standard header elements are included as the appropriate header element.
* Keys that do not match standard header elements are included as standard HTML meta element.

* If metadata is present in the file then full HTML files are generated by default. This could be suppressed by a switch.

* Everything else is left up to the extension or whatever is processing the HTML.

For example:

Title: Markdown for Dummies
Tags: markdown, text, markup

<header>
<title>Markdown for Dummies</title>
<meta name="tags" content="markdown, text, markup" >
</header>


More information about the Markdown-Discuss mailing list