Loading...
 
Skip to main content

History: WikiParserDev

Preview of version: 6

What it is ?

It's notorious that the current wiki parser from tikilib has reached its limits. (see WikiDev , WikiParser ...)
As Mose did a new HEAD after 1.9.0 release, the wiki parser from PEAR was incorporated as an experimental alternative by Justin Patrin.
This parser was originally released by P.M. Jones.

Roadmap

The hardest steps (decision and first implementation) are done ...
That's still experimental, it's controlled by a default setting in Admin Wikis, a link is provided in top of the pages to easily comute old/new parser. todo: in both direction switch
Currently, you need to install pear::Wiki_Text as a standard pear installation, but it will be bundled in the future. HEAD CVS only contains our specific rules and renderers

The next step is some ants' work, reproduce with the most accuracy possible our old grandmother tikilib:
The rules are only roughly derived from the default ones, now we need to test them one by one for all possible cases, decrypting what tikilib does to get them work identically.
Keep in mind that the rendering uses much more ))XHtml(( and Css so identical is not direct 😀

When, and only when we achieve that, it will be a pleasure to remove a few 1000 lines from tikilib and think of a rationalization/extension of our rules.

How it works

For the details please see Text_Wiki documentation
Globally the parsing and the rendering of the wiki are independants, parser produce a tokenized form of the wiki what renderer transform in a usable media.
This common tokenized form may be produced for different sets of rules reproducing different wiki idioms and not only the default one. Our current work is to fully implement Tikiwiki's rules but inital coWiki and DokuWiki parsers are also done.
On the output different renderers can be used: ))XHtml((, plain, but also Latex and Pdf (in development). It is also possible to convert to other wiki syntaxes. DokuWiki, coWiki, and TikiWiki renderers have been started but may not be complete.

The parser's rules

The parsing is divided in rules, each of them being an independant class (small is beautifull):

  • anchor
  • blockquote
  • break
  • center
  • code
  • colortext
  • deflist
  • delimiter
  • embed
  • emphasis
  • freelink
  • heading
  • horiz
  • html
  • image
  • include
  • interwiki
  • list
  • newline
  • paragraph
  • phplookup
  • prefilter
  • raw
  • revise
  • strong
  • superscript
  • table
  • tighten
  • toc
  • translatehtml
  • tt
  • url
  • wikilink


Not all of them have a corresponding syntax in TikiWiki, but we have intoduced other rules we need:

  • page
  • plugin
  • preformatted
  • specialchar
  • titlebar
  • underline


There were also some changes made to the Heading, Toc, and WikiLink renderers to allow more flexibility.

History

Information Version
Oliver Hertel 11
View
Oliver Hertel 10
View
bertrand Gugger 9
View
bertrand Gugger 8
View
bertrand Gugger 7
View
Justin Patrin Filling out some more info 6
View
MikeW titelbar -> titlebar 5
View
bertrand Gugger 4
View
bertrand Gugger 3
View
bertrand Gugger 2
View
bertrand Gugger 1
View