Welcome to SimpleWiki.org
posted November 20, 2009
This is the website for SimpleWiki, the markup language specification, and the parser/emitter module for php5.
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) for more advanced markup is the consistency and simplicity of the 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 |
|---|---|---|---|
| Meaning: | class | style rule | attribute |
| Example: | |:table standard:| | %i border:'2px solid green'% | |:td colspan=2:| |
| Interpretation: | block decorator: add class "standard" to the class attribute of the table | inline decorator: place a border around an image | block decorator: make the current cell span two columns |
| Action: | 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 names can be registered by client software as methods, and interpreted in interesting ways (for example "footnote"). Class methods, macros, block declarations, symbolic links, and certain events can all be extended through client add-ins.
The SimpleWiki module is available for free, as open-source software, under the GPLv3 licence.