Markdown

Markdown

IntraWeb supports a simple Markdown syntax which allows formatting of text, data binding and more.

Syntax

Primary Syntax

IWML MarkDown only changes text found with in [ and ] markers. Within these square brackets the primary syntax is:

[TagName:Data]

Example:

[bold:This is bold text]

TagName is mandatory. Data is not used with some tags.

TagName specifies the behavior. Tags are expandable and custom tags can be defined.

Alternate Syntax

Tags can also take the following alternate form:

[TagName]Data

Example:

[bold]This is bold text

With this alternate syntax, Data will be unconstrained and will continue until the end of the input string. The alternate form is useful mostly for text and html types but can be used with any tag.

Data with this alternate form cannot contain any embedded tags. All tag markers and special sequences are ignored.

Parameters

In addition to the primary data, tags may support parameters:

[TagName(Params):Data]

or

[TagName(Params)]Data

Multiple parameters are also supported and can be optional or required. Multiple parameters can be supported but are up to the individual tag how it separates the parameters, but a comma is suggested for most cases. An example of a tag that optionally uses a parameter is the HTML tag.

Neither name nor parameters can contain any of the following characters:
[]:

Special Sequences

[]

As [] is never a valid tag but is often used to notate arrays in code examples. [] is valid and does not need any special sequences even if embedded inside a tag. [] will always be rendered as [].

]

] when not inside a tag is rendered exactly as is and no special handling is required.

Additional Information

HTML Conversion

Special characters such as “&'<> and EOL are automatically encoded for HTML output except within the html tag.

Casing

All tag names are case insensitive.

No Markdown in Data

For properties that support markdown, they do not use markdown when the field is data bound.

Embedding

Tags can embedded inside other tags when the primary syntax is used.

Example:

[bold:This is bold and [i:italic text] ]

Note the space between the last two ] ending brackets. This is necessary in this case as ]] is a special sequence.

Tags

Built in tags are as follows. Some tags have alternate shortcuts. Such tags will be listed with / as a separator.