Help

Difference between version 4 and 5 - Previous - Next
**Markup**

***Headings***

There are 3 heading levels available. Put a heading surrounded by two, three or four asterisks on a separate line. Example:

======none
**Heading 1**
***Heading 2***
****Heading 3****
======

***Paragraphs and blocks***

****Separate Paragraphs****

Separate two paragraphs with an empty line. Example:

======none
This is a first paragraph.

This is a second paragraph.
This is not a third paragraph as there is no empty line between this line and the previous one.
======

****Horizontal Ruler****

To insert a horizontal ruler, use a line like this:

======none
----
======

Rendering result:

----

****Code Blocks and Syntax Highlighting****

A code block is surrounded by lines containing six equal signs. The opening equal signs can be followed by a language name. This language name will be used to highlight the syntax. Known languages are:
+++
tcl  Tcl/Tk
c  C
cpp  C++
none  no highlighting
+++

If no language is specified, tcl is assumed. The following example is Tcl/Tk code:

======none
 ======tcl
 set a [expr {$b + $c}]
 ======
======

Rendering result:

======tcl
set a [expr {$b + $c}]
======

Code blocks are rendered in a fixed width font. No further rendering is done inside code blocks.

Lines starting with a space are also rendered in a fixed width font, but no syntax highlighting is done:

======
 I'm a line starting with a space.
======

Rendering result:

 I'm a line starting with a space.

****Fixed Width blocks****

A fixed width block is surrounded by lines containing three equal signs. As in code blocks, the opening line can be followed by a language name (see '''''Code Blocks''''' for known languages). Example:

======none
===c
for(int i = 0; i < 10; i++) {
    printf("%d\n", i); // Taken from [Help]
}
===
======

Rendering result:

===c
for(int i = 0; i < 10; i++) {
    printf("%d\n", i); // Taken from [Help]
}
===

Fixed width blocks are rendered in a fixed width font. Opposite to code blocks, markup in fixed width blocks is still processed.

****Centered Content****
To center one or more block of content, enclose it in lines containing nothing but six exclamation marks. Example:

======none
!!!!!!
This content will be centered.
!!!!!!
======

Rendering result:

!!!!!!
This conent will be centered.
!!!!!!

****Option Block****

An option block starts and ends with a line containing three plus signs. Within those lines, each lines contains an option and a description separated by a tab or two spaces. This defines some option definitions:

======none
+++
Tcl  The Tool Command Language
Tk  Graphical toolkit on top of Tcl
Tcl OO  Object oriented toolkit on top of Tcl
+++
======

Rendering result:

+++
Tcl  The Tool Command Language
Tk  Graphical toolkit on top of Tcl
Tcl OO  Object oriented toolkit on top of Tcl
+++

****Descriptions****

Descriptions can be specified using a line starting with three spaces, the term followed by a colon, three spaces and the description. An example:

======none
   Tcl:   The Tool Command Language
   Tk:   Graphical toolkit on top of Tcl
   Tcl OO:   Object oriented toolkit on top of Tcl
======

Rendering result:

   Tcl:   The Tool Command Language
   Tk:   Graphical toolkit on top of Tcl
   Tcl OO:   Object oriented toolkit on top of Tcl

****Inline HTML****

HTML can be inserted into a page surrounded by lines containing `<<inlinehtml>>`. Example:

======none
<<inlinehtml>>
This is <b>bold</b>.
<<inlinehtml>>
======

Rendering result:

<<inlinehtml>>
This is <b>bold</b>.
<<inlinehtml>>

***Inline Markup***

Supported inline markup:

======none
Italics:  ''enclose text in two single quote characters.''
Bold:  '''enclose text in three single quote characters.'''
Fixed width font:  `enclose text in back quote character.`
Line break:  a line break between a en b can be forced like this a<<br>>b
Space:  a space between a and b can be forced like this a<<nbsp>>b
Pipe character:  <<pipe>>
Opening square bracket:  [[
Closing square bracket:  ]]
======

Rendering result:

Italics:  ''enclose text in two single quote characters.''
Bold:  '''enclose text in three single quote characters.'''
Fixed width font:  `enclose text in back quote character.`
Line break:  a line break between a and b can be forced like this a<<br>>b
Space:  a space between a and b can be forced like this a<<nbsp>>b
Pipe character:  <<pipe>>
Opening square bracket:  [[
Closing square bracket:  ]]

Sometimes the renderer gets confused about singles quotes when using them in different locations on the same line. In such cases, put a second use on a new line.

***Lists***

Ordered and unordered list can be used:

   * Ordered list: start each list item with three space, a digit, a dot and a space.
   * Unordered list: start each list item with three spaces an asterisk and a space.

All text belonging to a list item must be typed on the same line.

Nesting of lists is possible by using multiple digits or multiple asterisks. An example:

======none
   * a
   11. a.a
   11. a.b
   111. a.b.a
   111. a.b.b
   111. a.b.c
   **** a.b.c.a
   **** a.b.c.b
   **** a.b.c.c
   111. a.b.d
   *** a.b.e
   11. a.c
   * b
   * c
======

Rendering result:

   * a
   11. a.a
   11. a.b
   111. a.b.a
   111. a.b.b
   111. a.b.c
   **** a.b.c.a
   **** a.b.c.b
   **** a.b.c.c
   111. a.b.d
   *** a.b.e
   11. a.c
   * b
   * c

***Links***

****Internal Links****

Links to other pages are created by putting the page name enclosed in square brackets. To rename an internal link, specify the name to show enclosed in %|%.

Below are two examples of internal links. The first one will be shown with the page name, the second one is renamed:

======none
[Tcl and Tk] and [Tcl and Tk%|%Tcl/Tk%|%]
======

Rendering result:

[Tcl and Tk]  and [Tcl and Tk%|%Tcl/Tk%|%]

Internal links to image pages will show the image.

A link to the list of pages referencing a certain page can be specified like this:

======none[backrefs:Tcl and Tk]
======

Rendering result:
[backrefs:Tcl and Tk]

****External Links****

Links can be added to any of the following protocols:

   * http
   * https
   * ftp
   * mailto
   * file
   * irc

The following extension are recognized as links to images:

   * .gif
   * .jpg
   * .jpeg
   * .png

An external link is rendered as specified, unless followed by a new name enclosed in %|%. Some examples:

======none
External link: https://nikit.tcl-lang.org/_edit/Help
Renamed external link: https://nikit.tcl-lang.org/_edit/Help%|%Tcler's Wiki%|%
External link to image: http://www.tcl.tk/images/plume.png
Renamed external link to image: http://www.tcl.tk/images/plume.png%|%Plume%|%
======

Rendering result:

External link: https://nikit.tcl-lang.org/_edit/Help <<br>>
Renamed external link: https://nikit.tcl-lang.org/_edit/Help%|%Tcler's Wiki%|% <<br>>
External link to image: http://www.tcl.tk/images/plume.png <<br>>
Renamed external link to image: http://www.tcl.tk/images/plume.png%|%Plume%|% <<br>>

When an external link to an image is enclosed in square brackets the image itself is shown i.s.o. a link to the image. When an external link to a non image is enclosed in square brackets, the link is rendered as a numerical link enclosed in square brackets. Some examples:

======none
External link: [https://nikit.tcl-lang.org/_edit/Help]
Renamed external link: [https://nikit.tcl-lang.org/_edit/Help%|%Tcler's Wiki%|%]
External link to image: [http://www.tcl.tk/images/plume.png]
Renamed external link to image: [http://www.tcl.tk/images/plume.png%|%Plume%|%]
======

Rendering result:

External link: [https://nikit.tcl-lang.org/_edit/Help] <<br>>
Renamed external link: [https://nikit.tcl-lang.org/_edit/Help%|%Tcler's Wiki%|%] <<br>>
External link to image: [http://www.tcl.tk/images/plume.png] <<br>>
Renamed external link to image: [http://www.tcl.tk/images/plume.png%|%Plume%|%] <<br>>

***Back References***

To insert a list of all pages referencing the current page use this line:

======none
<<backrefs>>
======

Rendering result:

<<backrefs>>

To insert a list of all pages referencing a specific pages use this line:

======none
<<backrefs:page name>>
======

Rendering result:

<<backrefs:Help>>

***Table of Contents***

Insert the table of contents of the page using this line:

======none
<<toc>>
======

Rendering result:

<<toc>>

***Message of the Day***

Insert the message of the day (taken from page ADMIN:MOTD) using this line:

======none
<<motd>>
======

Rendering result:

<<motd>>

***Recent Changes***

Insert an overview of recent changes using this line:

======none
<<changes>>
======

Rendering result:

<<changes>>

***Redirecting***

To redirect a page to another pages, put this redirect statement on the first line
of a page:

======none
<<redirect>> target page name
======

The redirect can be annotated with a reason why the redirect was done. This
reason will be show on top of the target page. Possible annotations are:

======none
<<redirect redundant>> target page name
<<redirect duplicate>> target page name
<<redirect merged>> target page name
<<redirect inaccurate>> target page name
======

***Tables***

A table row is specified as a line starting and ending with a pipe (|) sign. Each row element is separated with a pipe sign too. A header row start with %| and end with |%. To color even and odd rows differently, start rows with &| and end them with |&. An example:

======none
%| Row 1 | Row 2 | Row 3 |%
&| a | b | c |&
&| d | e | f |&
&| a | b | c |&
&| d | e | f |&
======

Rendering result:

%| Row 1 | Row 2 | Row 3 |%
&| a | b | c |&
&| d | e | f |&
&| a | b | c |&
&| d | e | f |&

To use a pipe sign in a row element, specify it as:

======none
<<pipe>>
======

The above syntax requires full table rows to be specified on a single line. This following alternative syntax allows rows element to be specified line per line. A line only containing a `+` sign marks the beginning of a row. Following lines starting with a `|` sign specify row element. A line containing only `+%` specifies a header row. To color even and odd rows differently, specify a row using a line containing only `+&`. An example:

======none
+%
|a
|b
|c
+&
|d
|e
|f
+&
|g
|h
|i
======

Rendering result:

+%
|a
|b
|c
+&
|d
|e
|f
+&
|g
|h
|i

***Discussion***

A discussion is hidden by default and can be made visible by clicking the associated button. A discussion is started with a line containing:

======none
<<discussion>>
======

optionally followed by a name. The discussion will contain all content up to the end discussion markup:

======none
<<enddiscussion>>
======

or the next discussion line or if no other discussion is started, up to the end of the page.

***Categories or tags***

This Wiki has a category or tag system. A page can be categorized or tagged like this:

======none
<<categories>>tag1|tag2|tag3
<<tags>>tag1|tag2|tag2
======

Different tags can be separated by a pipe sign. A tag is page name. If the other page name starts with  `Category` the word `Category` can be omitted in the tagging. If the specified tag does not start with `Category`, the wiki will still first look for a page with that name but starting with `Category`. If such a page can not be found, the plain tag name will be used to link to.