Mark II is a text-to-HTML converter. The syntax it uses closely follows the way its author formats his plain text documents (e.g. e-mail), so it stays simple and readable.
You can get the latest sources  via mercurial like this:
hg clone http://hg.tx97.net/mark-two
Mark II recognizes two styles of headers. Underlined headers:
This is a level 1 header ======================== A level 2 header ---------------- And a level 3 header ~~~~~~~~~~~~~~~~~~~~
And prefixed headers:
= Level 1 == Level 2 === And so on
A code block is any piece of text indented by 4 spaces (including unindented empty lines between indented parts).
You can also have inline code fragments by enclosing text into one or several single quotes:
Here’s an example 'inline code fragment'. You can also quote the quotes, like this: '' ' ''.
A reference id enclosed in square brackets, becomes a link to that reference. You must actually define the reference with the same id somewhere in the text.
References  work just as they do in printed literature.  the-url
A common practice is to gather all the references into one block at the end of the document.
An indented piece of text started with a minus or an asterisk marks an unordered list:
* you can use both single-line items * and multi-line items, like this one * note that empty lines do not break lists
An indented piece of text started with a number and a dot or a closing paren marks an ordered list:
1. note that the numbers 9) don’t matter
A single closed HTML tag placed on its own line will be placed into the HTML output verbatim:
Similarly, multi-line HTML fragments are recognized if the starting and ending tags are located on their own lines:
Everything else becomes paragraphs. Use empty lines to delimit them.
Setup TCL 8.5, get
mark-two.tcl, make it executable, pipe text into it or run it with file names as parameters, and collect the HTML from its output.