HOP Wiki syntax This page describes the external syntax (the user visual syntax) used by the HOP wiki parser (see ,( "Wiki facilities" "wiki.wiki")). ~~ This documentation presents the wiki syntax forms by examples. That is, each forms is presented as an example whose source code and layout are presented side-by-side. == Basic Text Formatting == === Bold, Italic, and Underline === ,(meta-wiki-example "basic.wiki") === Mono Space === ,(meta-wiki-example "tt.wiki") === Quotation, Strike, and Note === ,(meta-wiki-example "quote.wiki") === Misc === ,(meta-wiki-example "misc.wiki") == Links and Anchors == HOP Wiki only supports innter and external links. No effort is made to automatically recognize links in a regular text. Links are enclosed inside double angle parenthesis. Anchors are introduced by the double sharp constructor. ,(meta-wiki-example "link.wiki") == Images == ,(meta-wiki-example "image.wiki") == Sectioning == HOP supports 5 section levels. They starts by a double equal sign at the beginning of line. ,(meta-wiki-example "section.wiki") More than 5 consecutive equal signs at the beginning of a line, introduce an horizontal rule. HOP, does not automatically compute table of contents but it supports ,( "facilities" "wiki.wiki") for producing such tables. == Text Layout == === Paragraph === The sequence ,( "~~") located at the beginning of a line starts a new paragraph. ~~ ,(meta-wiki-example "paragraph.wiki") === Verbatim === Non parsed, pre-formated blocks are introduced by indenting lines with two space characters. This blocks can be used for representing computer programs or anything else that needs pre-formated indentations. These blocks end with two consecutive empty lines. === Lists === HOP Wiki supports order and unorder lists. They are created by lines indent with at least two space character and followed by a ++-++ character for ordered lists and by a ++*++ character for unordered ones. ~~ ,(meta-wiki-example "lists.wiki") === Tables === Tables starts by the character ++^++ (for a header) or ++|++ (for a regular data) in column 1. A table ends with two consecutive blank lines. Table cells may be centered (if they start and end with two space characters). They may be left aligned (if they end with two space characters) or right aligned (if they start with two space characters). A cell may span over several columns (when it is followed by one or several empty cells). ~~ ,(meta-wiki-example "tables.wiki") === Math === If you browser supports [[http://en.wikipedia.org/wiki/Mathml|MathML]], the Hop Wiki parser let you embed mathematical formulas inside documents. ~~ he more general way of embedding MathML inside Wiki document consists in using the ++,( "" "math.wiki")++ markup. Users accustomed to LaTeX can also use direct embedding of formulas inside wiki documents by the means of the ++,(begin "$$")++ syntax such as: ~~ ,(meta-wiki-example "math.wiki") == Embedding HOP == HOP wiki syntax supports embedded HOP expressions. An HOP expressions starts with the sequence comma and parenthesis (i.e., ,( ",(")) and its ends with a closing parenthesis. ~~ The full power of HOP is available inside HOP wiki. ~~ ,(meta-wiki-example "hop.wiki") == Inclusion == HOP wiki syntax supports two forms of inclusion. The first one allows a wiki source to include other sources. The second one allows a wiki source to include a pre-formatted text. ~~ ,(meta-wiki-example "include.wiki") == Syntax Plugins == HOP wiki supports //plugins//. A plugin invocation starts with an opening markup (i.e., a word starting with a ++,(begin "<")++ character and ending with a ++,(begin ">")++ character) at the beginning of a line. The invocation ends with a closing markup (i.e., a word starting with the sequence ++,(begin "<")++ and ending with a ++,(begin ">")++ character). The closing markup must either be on the same line as the opening markup or at the beginning of a line. All characters following a closing markup are ignored. ~~ A plugin is implemented by the means of a function accepting three parameters. - an input port - a title - a body The title is composed of all the characters following the opening markup up to the end of line or up to the closing markup for one-line plugins. The body of the plugin is composed of the characters composing the lines in between the opening and closing markups. The body and the title may use the wiki the syntax. ~~ ,(meta-wiki-example "plugin.wiki") The developer documentation for the ,( "Wiki library" "wiki.wiki") shows how to implement Wiki plugins. == Playground == ,(