Home of
info@simplewiki.org
- comments
- suggestions

join the forum

Welcome to SimpleWiki.org

Current version: 1.2, December 26, 2013. Download (This website is powered by simplewiki 1.2)

posted November 20, 2009; updated December 28, 2013

This is the website for the the Muster Markup language (previously called the Simplewiki Markup language) specification, and the parser/emitter PHP5 module.

For an example of what the markup looks like, view the source markup for this page.

  • Markup without limits
  • Easy (and standard) basic markup
  • Flat learning curve

These are the basic characteristics of Muster Markup:

  • simple standard basic markup
  • simple comprehensive decorators for the basic markup
  • concise advanced tag declarations for all html5 elements
  • fast
  • extensible by client code in many ways

Muster Markup is the markup language without limits. It's also html5 compatible, as of version 1.2.

Muster Markup starts with the creole markup set for basic markup, then adds decorators for the basic markup (both inline decorators and block decorators) and very concise tag declarations for all block and inline html5 elements, for advanced markup. Muster Markup 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 Muster Markup unique (as far as we know) is the thin veneer over HTML and CSS provided for more advanced markup through consistent formats of decoration arguments passed to markup objects through decorators. Decorators provide a uniform way of applying classes, style-rules, and attributes to the objects created by simplewiki's basic markup.

Decoration arguments, whether for decorators or tag declarations, 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 decorator argument formats, in any appropriate combination, can be passed through decorators or tag declarations to markup objects. So these decorations allow any number of classes, styles, or attributes to be passed to the markup objects, and ultimately the generated html elements.

In this way Muster Markup 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 Muster Markup module (called SimpleWiki) also supports tag declarations for things like advanced div, blockquote, table and list work. Block declarations can be nested. Block and inline declarations support most available html5 tags, and can be extended.

For behavioural extensions, Muster Markup also supports macros. Furthermore class and property names can be registered by client software as methods (action classes and action properties), and interpreted in interesting ways (for example "footnote"). Class and property methods, macros, tag declarations, symbolic links, and certain events can all be extended through client add-ins and handlers.

The SimpleWiki module (which implements the Muster Markup Language) is available for free, as open-source software, under the BSD licence.