Welcome to SimpleWiki.org
posted November 20, 2009; updated February 9, 2012
This is the website for SimpleWiki, the simplewiki markup language (swml) specification, and the parser/emitter PHP5 module.
SimpleWiki markup starts with the creole markup set for basic markup, then adds decorators (both inline decorators and block decorators) and block declarations for advanced markup. SimpleWiki also supports macros.
Basic markup allows users to post articles with the usual simple and concise markup for headings, paragraphs, bold, italics, images, links, lists, quick tables, etc..
What makes SimpleWiki unique (as far as we know) is the thin veneer over HTML and CSS provided for more advanced markup through consistent formats of arguments passed to markup objects through decorators. Arguments are always in one of three formats:
| Format: | Discreet-value format | Colon-separated format | Equals-separated format |
|---|---|---|---|
| Interpretation: | class | style rule | attribute |
| Example: | |:table standard:| | %i border:'2px solid green'% | |:td colspan=2:| |
| Action: | block decorator: add class "standard" to the class attribute of the quick table | inline decorator: place a border around an image | block decorator: make the current cell span two columns |
| Result: | adds class to underlying HTML element's class attribute | adds style rule to underlying HTML element's style attribute | passes attribute as-is to underlying HTML element |
Decorators are always placed in front of the objects they decorate.
Any number of each argument format, in any appropriate combination, can be passed through decorators or declarations to markup objects.
In this way SimpleWiki can act as a thin skin over HTML, which is very easy to maintain. In other words it can be the basis of a CMS (content management system), without having to invent new markup syntax for every new required element.
The SimpleWiki module also supports block declarations (which can be nested) for advanced div, blockquote, table and list work; and it supports macros. Furthermore class and property names can be registered by client software as methods (active classes and active properties), and interpreted in interesting ways (for example "footnote"). Class and property methods, macros, block declarations, symbolic links, and certain events can all be extended through client add-ins and handlers.
The SimpleWiki module is available for free, as open-source software, under the BSD licence.