Hi, I'm currently writing my own wiki, partly to learn about distributed version control systems. As part of that, I'm implementing a creole parser.

Its implemented in PHP5.1+, and uses the DOM extension to build the XHTML/HTML of the document.


2007-02-23

Updated my implementation at http://homepage.ntlworld.com/jared.williams/creole/Creole.zip

  • Now parses BoldAndListsAmbiguity correctly.
  • Inline markup (excluding links) within links is now implemented {{[[link|**bold**\\//italics//\\{{{mono}}}]] and [[link|{{http://www.example.org/image.png|image link}}]] .
  • Few other bug fixes.
  • Table header cells added.
  • Headers now define document structure.
=Main Heading=
==1
===1.1
==2
===2.1
====2.1.1
=====2.1.1.1
======2.1.1.1.1
=====2.1.1.2
======2.1.1.2.1
===2.2
==3

generates

<div>
  <div class="section">
    <h1>Main Heading</h1>
    <div class="section">
      <h2>1</h2>
      <div class="section">
        <h3>1.1</h3>
      </div>
    </div>
    <div class="section">
      <h2>2</h2>
      <div class="section">
        <h3>2.1</h3>
        <div class="section">
          <h4>2.1.1</h4>
          <div class="section">
            <h5>2.1.1.1</h5>
            <div class="section">
              <h6>2.1.1.1.1</h6>
            </div>
          </div>
          <div class="section">
            <h5>2.1.1.2</h5>
            <div class="section">
              <h6>2.1.1.2.1</h6>
            </div>
          </div>
        </div>
      </div>
      <div class="section">
        <h3>2.2</h3>
      </div>
    </div>
    <div class="section">
      <h2>3</h2>
    </div>
  </div>
</div>

2007-02-05

My current implementation, testsuite, and testsuite output is available at http://homepage.ntlworld.com/jared.williams/creole/Creole.zip.

It should be, if not close to an 0.4 implementation. It guarantees valid XML output (unless a bug in libxml) and should always output valid XHTML. Has a few specific engine quirks, like using <object> for local inclusions, instead of <img>, and as such output isn't intended for displaying directly to a browser.

Problems, comments, test cases all appreciated.

CREOLE
A common wiki markup
for the wiki ohana


G'day Visitor
Log in

Recent Changes
View page Discussion Edit page Page Info My Prefs Log in
This page (revision-5) last changed on 13:13 23-Feb-2007 by null.
 

edit sidebar

Copyright (C) by the contributors. Some rights reserved, license BY-SA.

Sponsored by the Wiki Symposium and i3G Institute.

JSPWiki v2.4.102
[RSS]