Jeff Atwood recently proposed that Markdown users come together and create a unified specification. While I do think a unified specification would be useful I do not think Markdown is the right syntax. I have used it and many of the other structured text markup alternatives. For programmer types and anyone else used to machine readable documents, structured text markup is a great way to reduce the effort needed to get content on the page. However, HTML is a great way to reduce the effort needed too. The problem with both is that Markdown is too weak a syntax and HTML is too strong of a one. We need a middle ground.
Here is a proposal for a middle ground. I am going to call this syntax Permatext:
- A valid HTML document is a valid Permatext document.
- HTML class and style information is discarded by a Permatext processor.
- Any HTML end tags can be dropped if it is clear from the context that the end tag would be used. So, for example, an opening P tag automatically closes the previous P tag. An opening A tag need not use the closing tag if the link's title is a single word. Etc.
- A short closing tag, </>, closes the most recient open tag.
- Text within a code or pre tag need not be XML escaped. However, escaped XML will be honored. That is, if a valid named or numbered entity is found then it is honored. [tricky]
For example, the document contained in Atwood's posting would be marked up as follows:
<h1>Lightweight Markup Languages</>[NOTE: The A tag is hard to read. Perhaps assume href.]
<p>According to <i>Wikipedia</>:
A <a href="http://is.gd/gns">lightweight markup language</>
is a markup language with a simple syntax, designed
to be easy for a human to enter with a simple text
editor, and easy to read in its raw form.
<p>Some examples are:
Markup should also extend to <i>code</>:
10 PRINT "I ROCK AT BASIC!"
20 GOTO 10
For all Permatext details see Permatext.info.