In case somebody cares, I create my own pages with a tool called Rewaster (which I haven't released) which works with two ideas:
Block level markup is done with a combination of starting characters, indentation, and empty lines. Basicly, more identation puts a block on an inner level, while less indentation gets it back out. Empty line terminates a block, unless it was terminated anyway by less indentation. For example:
Code: Select all
Foo bar.
An unordered list:
+ an item
+ another item
+ a longer item on
several lines
in fact it has two paragraphs as this is still in third item
Back to toplevel again.
On inline level another form of markup exists. It is actually a generic macro-system (with enough power for building non-terminating macro-expansions), but in reality that's just an implementation detail.
The real point is: [tt]/:word[/tt] comes out as italic, and [tt]/:{segment of italic words with one *:{bold} word}[/tt]. That is, macroname followed by : followed by a word or a {}-delimited cluster expands into a macrocall which generates XHTML. And it's impossible to get stuff nested improperly in the output. Any extra {} are ignored with a warning, and if foo: is not a proper macro name then it's left as it is..
Multiple arguments are handled by currying as in $link:{Google}{http://www.google.com}. I'm happy with my system so far, and it's easy to extend it by just adding new macros. The one feature lacking is that conditional macro-expansion is not possible. Would have to add that at some point.
Finally, I also do --- to em-dash, -- to en-dash, `` and '' to start/end quotation (and with nested quotations alternates single and double quotes), ... to ellipsis and a few similar expansion in order to get more pleasing typography without any extra effort.