[pmwiki-users] Different Markup definitions for a section?
Joachim Durchholz
jo at durchholz.org
Tue Apr 25 03:42:37 CDT 2006
Dominique Faure schrieb:
> This lead to a complex and error-prone rule design (see the recent
> space-leaded list item bug/feature described at
> http://www.pmwiki.org/wiki/PITS/00722).
The basic problem is that PmWiki's syntax aims to be simple. Simplifying
syntax always runs the risk of pushing the complexity elsewhere (usually
in the form of unintended side effects in other syntax).
I think that PmWiki is pushing the limit here. It's doing an excellent
job at simple syntax (I have seen other wikis and wiki syntaxes, and
PmWiki is still the cleanest one, even with problems like the one in the
above PITS entry), and there's still plenty of room for new good markup,
but the trade-offs are getting more difficult. If PmWiki acquires more
markup, that new markup cannot be as good as the existing one.
> In fact, processing text with markup is to be considered as a
> programming language as PHP could be (even if it is simpler).
No, it's not Turing-complete until you have both "if" statements
(present) and some form of loop (not currently present).
There are still important similarities, of course.
> Therefore, if the current rule system is quite powerful at handling
> the syntaxic aspects of this markup language, the need is here to
> improve the grammatical structure it has, providing *real* block
> statements, and this couldn't be done without a non trivial
> enhancement of the PmWiki markup core itself.
Block markup (actually: nestable markup) won't remove the problem, but
it would be another tool in the toolbox.
A block markup engine would, for example, give us a hook for
automatically closing off open constructs when an outer level closes or
at end-of-input (that's something that I'd have liked for my
form-related work).
The easiest way to do that would be using a "Keep pool" for that. I
think it can even be done as a recipe, with no changes in the PmWiki
core, if done that way.
I had started looking into the issue months ago, but got sidetracked by
other things, and also PM didn't seem overly enthusiastic about the
whole thing, so I dropped the project.
If you want to do something concrete in this area, I won't find the time
to do any actual programming, but I can put up warning signs around the
pits and point out the vistas.
>> If you want to take any of these routes, I can look up what variables
>> and functions to use, and what pitfalls to avoid.
>
> Your help is welcome!
Ask and ye will be answered :-)
Regards,
Jo
More information about the pmwiki-users
mailing list