(anonymous guest) (logged out)

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

Sponsored by the Wiki Symposium and the Nuveon GmbH.

 

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.

Add new attachment

Only authorized users are allowed to upload new attachments.

« This page (revision-5) was last changed on 23-Feb-2007 13:13 by null