JCreole
Not your Gramma's Creole
No other Creole Engine can do half of what JCreole does automatically and
controlled with fine-grained privileges:
table of contents, definition lists (incl. glossaries), footnotes,
document index, section enumeration, author-coded pop-up messages.
What is JCreole?
JCreole is a very powerful Wikitext markup engine and library.
It starts with the Creole specification and wipes out the limitations of
Creole— most importantly it adds the ability for page authors to style
their own work... all with the addition of about 5 simple directives, all of
the format "<<something>>".
JCreole has tons of easy-to-use features.
Unfortunately, I dedicate tons of time developing JCreole itself, and do not
give top priority to making this demo site attractive.
The goal here is to provide full documentation and working samples for JCreole.
Why do you provide no WYSIWYG editor?
I could make a WYSIWYG editor at some point, but it is low priority since
a WYSIWYG editor would eliminate all benefits of wikitext for the end user.
When a WYSIWYG editor is used, it
becomes entirely irrelevant whether wikitext is even used behind the scenes.
I spent the time to make this wikitext engine because writing documents with
wikitext is much more efficient than using a WYSIWYG editor.
It is much more efficient, for example, to type "__xy__" than to type "xy" then
use mouse gestures to select "xy" and click a tool bar item or context menu
to italicize the selection.
If you want to satisfy users who want things to be as easy as possible to learn,
without concern about editing time or efficiency, then forget wikitext and just
use a WYSIWYG editor like CKEditor.
Where can I find a real wiki that uses the JCreole engine?
As of today... nowhere.
If you are a developer, then you are welcome to use JCreole in your own wiki.
If I were a developer for an existing Java-centric wiki, I'd start converting over to JCreole today.
I am working on my own open source wiki, but without funding it may never get done.
You can
You are welcome to email me, Blaine, the author of JCreole, at
blaine (dot) simpson (at) admc (dot) com.
To thwart spam, in your email client you will need to change the
dot
and at
tokens to the corresponding characters.
When I get my Wiki finished and a JCreole support page up, I'll put a link to
it here.
Until then, please email me about problems with JCreole or with this web site,
or if you would like to employ me to integrate JCreole with your application
or for your organization.
JCreole Features
- Ad-hoc generation of complete, styled HTML pages (or HTML fragments)
from Creole files, from the command-line.
- Generation of complete, styled HTML pages (or HTML fragments)
from Creole files, from Java applications, including web apps.
- Every features of Creole 1.0 base
- All additional (optional) features of Creole 1.0, other than
a couple purposefully rejected.
- Thorough and smart error handling.
Creole rule violations generate precise messages about the cause, and
indicate the exact location to fix in the source Creole (whenever that is
possible).
- Creole authors may comment their code either at author-only level (i.e.
only page authors can ever see the comment), or so
that it appears in HTML/XML comments.
This eliminates a major impediment to proper collaboration and change
control of Creole documents.
- Parser thoroughly tested with nearly a hundred JUnit test cases.
- Re-distributable in commercial or source form for commercial or
non-commercial purposes, via Apache 2.0 open source license.
- All JCreole feature additions are either backwards-compatible with Creole
1.0 or strictly comply with Creole's Plugin mechanism.
- Plugins allow for Creole authors to style the appearance of their
contributions well beyond what is possible with the base and additional
Creole tags.
- Plugin features are constrained by a fine-grained privilege system with
convenient defaults for typical usage.
This accommodates preventing blog commenters from changing CSS styles,
allowing special users to embed raw HTML, preventing links to external
sites, and several other use cases.
- Auto generation of link labels in many cases.
- Automatic generation of anchor link targets for section headings.
- Automatic enumeration of sections in body and in table-of-contents.
Display format of enumerations is adjustable.
Off by default— application or (authorized) Creole author just
toggles it on to get enumeration.
- Automatic table-of-content generation.
The TOC may be inserted by the Creole author (if they are authorized), or
may be inserted by the application into a framing page, template, or tile.
- Automatic index to author-specified phrases or locations in the main
document body.
- Automatic definition list generation (incl. glossaries), with reference
points hot-linked to popup display of referenced definition.
- Automatic footnote list generation, with reference
points hot-linked to popup display of referenced footnote.
- Tabs
- Standard Java interface hook provided for app to support Inter-wiki and
Intra-wiki links.
- Creole authors may use named character entities (like ©).
- Creole authors may embed raw HTML if they are authorized.