Structured text is text that uses indentation and simple symbology to indicate the structure of a document. For the next generation of structured text, see here.
A structured string consists of a sequence of paragraphs separated by one or more blank lines. Each paragraph has a level which is defined as the minimum indentation of the paragraph. A paragraph is a sub-paragraph of another paragraph if the other paragraph is the last preceding paragraph that has a lower level.
Special symbology is used to indicate special constructs:
'Note:
' This works for relative as well as absolute URLs.
* Text enclosed by double quotes followed by a comma, one or more spaces, an absolute URL and concluded by punctuation plus white space, or just white space, is treated as a hyper link. For example:
“mail me”, mailto:amos@digicool.com.
Is interpreted as '<a href=“mailto:amos@digicool.com”>mail me</a>.'
* Text enclosed in brackets which consists only of letters, digits, underscores and dashes is treated as hyper links within the document. For example:
As demonstrated by Smith [12] this technique is quite effective.
Is interpreted as '… by Smith <a href=“#12”>[12]</a> this …'. Together with the next rule this allows easy coding of references or end notes.
* Text enclosed in brackets which is preceded by the start of a line, two periods and a space is treated as a named link. For example:
.. [12] “Effective Techniques” Smith, Joe …
Is interpreted as '<a name=“12”>[12]</a> “Effective Techniques” …'. Together with the previous rule this allows easy coding of references or end notes.
* A paragraph that has blocks of text enclosed in '||' is treated as a table. The text blocks correspond to table cells and table rows are denoted by newlines. By default the cells are center aligned. A cell can span more than one column by preceding a block of text with an equivalent number of cell separators '||'. Newlines and '|' cannot be a part of the cell text. For example:
{{{
|||| Ingredients ||
|| *Name* || *Amount* ||
||Spam||10||
||Eggs||3||
</code>
renders like this:
|||| Ingredients** |||| *Name* || *Amount* ||
||Spam||10|| ||Eggs||3||