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.