wiki:WikiCreoleRendererPlugin

Version 1 (modified by davidfraser, 4 years ago) (diff)

New hack WikiCreoleRendererPlugin, created by davidfraser

wiki:WikiCreole page renderer

Description

A plugin for rendering WikiCreole source as HTML - see the wikicreole project.

Specifically it extends the IHTMLPreviewRenderer component of the mimeviewer to pass the wiki creole page through Creoleparser which generates an HTML version of the page.

Bugs/Feature Requests

Existing bugs and feature requests for WikiCreoleRendererPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from here.

Source

You can check out WikiCreoleRendererPlugin from here using Subversion, or browse the source with Trac.

Example

The wiki text should have mime type text/x-wiki.creole. I've only tested this by adding a source file to the repository with that mime type. The sample wiki text for the creole format is included below, and will be rendered as intended:

= Top-level heading (1)
== This a test for creole 0.1 (2)
=== This is a Subheading (3)
==== Subsub (4)
===== Subsubsub (5)

The ending equal signs should not be displayed:

= Top-level heading (1) =
== This a test for creole 0.1 (2) ==
=== This is a Subheading (3) ===
==== Subsub (4) ====
===== Subsubsub (5) =====


You can make things **bold** or //italic// or **//both//** or //**both**//.

Character formatting extends across line breaks: **bold,
this is still bold. This line deliberately does not end in star-star.

Not bold. Character formatting does not cross paragraph boundaries.

You can use [[internal links]] or [[http://www.wikicreole.org|external links]],
give the link a [[internal links|different]] name.

Here's another sentence: This wisdom is taken from [[Ward Cunningham's]]
[[http://www.c2.com/doc/wikisym/WikiSym2006.pdf|Presentation at the Wikisym 06]].

Here's a external link without a description: [[http://www.wikicreole.org]]

Be careful that italic links are rendered properly:  //[[http://my.book.example/|My Book Title]]// 

Free links without braces should be rendered as well, like http://www.wikicreole.org/ and http://www.wikicreole.org/users/~example. 

Creole1.0 specifies that http://bar and ftp://bar should not render italic,
something like foo://bar should render as italic.

You can use this to draw a line to separate the page:
----

You can use lists, start it at the first column for now, please...

unnumbered lists are like
* item a
* item b
* **bold item c**

blank space is also permitted before lists like:
  *   item a
 * item b
* item c
 ** item c.a

or you can number them
# [[item 1]]
# item 2
# // italic item 3 //
    ## item 3.1
  ## item 3.2

up to five levels
* 1
** 2
*** 3
**** 4
***** 5

* You can have
multiline list items
* this is a second multiline
list item

You can use nowiki syntax if you would like do stuff like this:

{{{
Guitar Chord C:

||---|---|---|
||-0-|---|---|
||---|---|---|
||---|-0-|---|
||---|---|-0-|
||---|---|---|
}}}

You can also use it inline nowiki {{{ in a sentence }}} like this.

= Escapes =
Normal Link: http://wikicreole.org/ - now same link, but escaped: ~http://wikicreole.org/ 

Normal asterisks: ~**not bold~**

a tilde alone: ~

a tilde escapes itself: ~~xxx

=== Creole 0.2 ===

This should be a flower with the ALT text "this is a flower" if your wiki supports ALT text on images:

{{Red-Flower.jpg|here is a red flower}}

=== Creole 0.4 ===

Tables are done like this:

|=header col1|=header col2| 
|col1|col2| 
|you         |can         | 
|also        |align\\ it. | 

You can format an address by simply forcing linebreaks:

My contact dates:\\
Pone: xyz\\
Fax: +45\\
Mobile: abc

=== Creole 0.5 ===

|= Header title               |= Another header title     |
| {{{ //not italic text// }}} | {{{ **not bold text** }}} |
| //italic text//             | **  bold text **          |

=== Creole 1.0 ===

If interwiki links are setup in your wiki, this links to the WikiCreole page about Creole 1.0 test cases: [[WikiCreole:Creole1.0TestCases]].

Recent Changes

[8153] by davidfraser on 2010-06-24 16:22:16
Move rendering to a separate method; actually filter the stream, and don't wrap in a naughty unnamed tag
[8152] by davidfraser on 2010-06-24 16:12:19
Let's call this version 0.2
[8151] by davidfraser on 2010-06-24 16:11:05
Added code to set table classes to wiki, so they look more like trac

Author/Contributors

Author: davidfraser
Maintainer: davidfraser
Contributors: