Hi Christian,
I have a very long term commitment to Simplewiki, as it is part of my database application framework strategy (see
musterdb.org). The wheels grind very slowly, it's a long term project. It's all starting to show life. (The other major piece is
dlml.org with
dlml.org/gargoyle starting to show a bit of life).
Simplewiki has been stable for me, but I know it needs some work. Re extensions, I've done some work to split out the classes into separate files so that the classes can be loaded with an autoloader (I use Kohana for the base application framework for musterdb, and they use a search approach I like that I believe they mention was established by the Zend framework). This will allow arbitrary class extensions when it is relased, which is I presume the preferred way to extend the product. I'll publish that in probably March or April or so.
Currently the best guide to the code is the annotation and the code itself. In general SimpleWiki acts as a facade. The best thing is to invoke one instance, and then re-use it as needed with
$html = $wiki->prepare($text)->get_html();
so, like
$wiki = new SimpleWiki();
$wiki->allow_html(false);
etc...
To see how the parser/compiler is extended, best to study the Simplwiki class implementation for now. Simplewiki itself could certainly be extended now (mywiki extends SimpleWiki) to add your own flavours.
Note that the parser ($wiki->parser()) has an argchars() method for setting allowable value characters for properties and attributes.
Adding a separate markup for code blocks is certainly an option. Could you tell me where "###" is recommended? I haven't seen it. In the meantime as you say %c html%{{{ provides a door to literal inline code (could be php), or |:pre html:|{{{... for whole blocks.
I use the backtick operator for line extensions and comments (and the "```##" combination for metadata, very interesting possibilities there!).
Hope this helps a bit, and thanks for your interest.
- Henrik