TWiki Text Formatting

Working in TWiki is as easy as typing in text. You don't need to know HTML, though you can use it if you prefer. Links to topics are created automatically when you enter Wiki Words. And TWiki shorthand gives you all the power of HTML with a simple coding system that takes no time to learn. It's all laid out below.

TWiki Editing Shorthand

Formatting Command: You write: You get:
Paragraphs:
Blank lines will create new paragraphs.
1st paragraph

2nd paragraph
1st paragraph

2nd paragraph
Headings:
Three or more dashes at the beginning of a line, followed by plus signs and the heading text. One plus creates a top level heading, two pluses a second level heading, etc. The maximum heading depth is 6.

You can create a table of contents with the %TOC% variable. If you want to exclude a heading from the TOC, put !! after the ---+.

ALERT! Empty headings are allowed, but won't appear in the table of contents.
---++ Sushi
---+++ Maguro
---+++!! Not in TOC

Sushi

Maguro

Not in TOC

Bold Text:
Words get shown in bold by enclosing them in * asterisks.
*Bold*
Bold
Italic Text:
Words get shown in italic by enclosing them in _ underscores.
_Italic_
Italic
Bold Italic:
Words get shown in bold italic by enclosing them in __ double-underscores.
__Bold italic__
Bold italic
Fixed Font:
Words get shown in fixed font by enclosing them in = equal signs.
=Fixed font=
Fixed font

Bold Fixed Font:
Words get shown in bold fixed font by enclosing them in double equal signs.
==Bold fixed==
Bold fixed
TIP You can follow the closing bold, italic, or other (* _ __ = ==) indicator with normal punctuation, such as commas and full stops.

ALERT! Make sure there is no space between the text and the indicators.
_This works_,
_this does not _
This works,
_this does not _
Verbatim (Literal) Text:
Surround code excerpts and other formatted text with <verbatim> and </verbatim> tags.
TIP verbatim tags disable HTML code. Use <pre> and </pre> tags instead if you want the HTML code within the tags to be interpreted.
ALERT! NOTE: Preferences variables (* Set NAME = value) are set within verbatim tags.
<verbatim>
class CatAnimal {
  void purr() {
    <code here>
  }
}
</verbatim>
class CatAnimal {
  void purr() {
    <code here>
  }
}
Separator (Horizontal Rule):
Three or more three dashes at the beginning of a line..
-------

Bulleted List:
Multiple of three spaces, an asterisk, and another space.
HELP For all the list types, you can break a list item over several lines by indenting lines after the first one by at least 3 spaces.
   * level 1
      * level 2
   * back on 1
   * A bullet
     broken over
     three lines
   * last bullet
  • level 1
    • level 2
  • back on 1
  • A bullet broken over three lines
  • last bullet
Numbered List:
Multiple of three spaces, a type character, a dot, and another space. Several types are available besides a number:
Type Generated Style Sample Sequence
1. Arabic numerals 1, 2, 3, 4...
A. Uppercase letters A, B, C, D...
a. Lowercase letters a, b, c, d...
I. Uppercase Roman Numerals I, II, III, IV...
i. Lowercase Roman Numerals i, ii, iii, iv...
   1. Sushi
   1. Dim Sum
   1. Fondue

   A. Sushi
   A. Dim Sum
   A. Fondue

   i. Sushi
   i. Dim Sum
   i. Fondue
  1. Sushi
  2. Dim Sum
  3. Fondue

  1. Sushi
  2. Dim Sum
  3. Fondue

  1. Sushi
  2. Dim Sum
  3. Fondue
Definition List:
Three spaces, a dollar sign, the term, a colon, a space, followed by the definition.
   $ Sushi: Japan
   $ Dim Sum: S.F.
Sushi
Japan
Dim Sum
S.F.
Table:
Each row of the table is a line containing of one or more cells. Each cell starts and ends with a vertical bar '|'. Any spaces at the beginning of a line are ignored.
  • | *bold* | header cell with text in asterisks
  • |   center-aligned   | cell with at least two, and equal number of spaces on either side
  • |      right-aligned | cell with more spaces on the left
  • | 2 colspan || and multi-span columns with multiple |'s right next to each other
  • |^| cell with caret indicating follow-up row of multi-span rows
  • You can split rows over multiple lines by putting a backslash '\' at the end of each line
  • Contents of table cells wrap automatically as determined by the browser
TIP The Table Plugin provides the |^| multiple-span row functionality and additional rendering features
| *L* | *C* | *R* |
| A2 |  B2  |  C2 |
| A3 |  B3  |  C3 |
| multi span |||
| A5-7 |  5  |  5 |
|^| six | six |
|^| seven | seven |
| split\
  | over\
  | 3 lines |
| A9 |  B9  |  C9 |
L C R
A2 B2 C2
A3 B3 C3
multi span
A5-7 5 5
six six
seven seven
split over 3 lines
A9 B9 C9
WikiWord Links:
CapitalizedWordsStuckTogether (or Wiki Words) will produce a link automatically if preceded by whitespace or parenthesis.
TIP If you want to link to a topic in a different web write Otherweb.TopicName.
HELP The link label excludes the name of the web, e.g. only the topic name is shown. As an exception, the name of the web is shown for the WebHome topic.

It's generally a good idea to use the TWiki Variables %TWIKIWEB% and %MAINWEB% instead of TWiki and Main.
WebStatistics

Sandbox.WebNotify

Sandbox.WebHome
Web Statistics

Web Notify

Sandbox
Anchors:
You can define a reference inside a TWiki topic (called an anchor name) and link to that. To define an anchor write #AnchorName at the beginning of a line. The anchor name must be a Wiki Word. To link to an anchor name use the [[MyTopic#MyAnchor]] syntax. You can omit the topic name if you want to link within the same topic.
[[WikiWord#NotThere]]

[[#MyAnchor][Jump]]

#MyAnchor To here
Wiki Word#Not There

Jump

To here
Forced Links:
You can create a forced internal link by enclosing words in double square brackets.
Text within the brackets may contain optional spaces; the topic name is formed by capitalizing the initial letter and by removing the spaces; for example, [[text formatting FAQ]] links to topic Text Formatting FAQ. You can also refer to a different web and use anchors.
TIP To "escape" double square brackets that would otherwise make a link, prefix the leading left square bracket with an exclamation point.
[[wiki syntax]]

[[Main.TWiki users]]

escaped:
![[wiki syntax]]
wiki syntax

WikiUsers

escaped: [[wiki syntax]]
Specific Links:
You can create a link where you specify the link text and the URL separately using nested square brackets [[reference][text]]. Internal link references (e.g. Wiki Syntax) and URLs (e.g. http://TWiki.org/) are both supported. The rules described under Forced Links apply for internal link references.
TIP Anchor names can be added as well, to create a link to a specific place in a topic.
[[WikiSyntax][wiki syntax]]

[[http://gnu.org][GNU]]
wiki syntax

GNU
Prevent a Link:
Prevent a Wiki Word from being linked by prepending it with an exclamation point.
!SunOS
SunOS
Disable Links:
You can disable automatic linking of Wiki Words by surrounding text with <noautolink> and </noautolink> tags.
HELP It is possible to turn off all auto-linking with a NOAUTOLINK preferences setting.
 <noautolink>
 RedHat &
 SuSE
 </noautolink>
RedHat & SuSE
Mailto Links:
E-mail addresses are linked automatically. To create e-mail links that have more descriptive link text, specify subject lines or message bodies, or omit the e-mail address, you can write [[mailto:user@domain][descriptive text]].
a@b.com

[[mailto:a@b.com]\
[Mail]]

[[mailto:?subject=\
Hi][Hi]]
a@b.com

Mail

Hi

Using HTML

You can use just about any HTML tag without a problem. You can add HTML if there is no TWiki equivalent, for example, write <strike>deleted text</strike> to get deleted text.

ALERT! There are a few usability and technical considerations to keep in mind:
  • On collaboration pages, it's better not to use HTML, but to use TWiki shorthand instead - this keeps the text uncluttered and easy to edit.
  • If you use HTML use XHTML 1.0 Transitional syntax.
  • ALERT! Script tags may be filtered out, at the discretion of your TWiki administrator.

Recommendations when pasting HTML from other sources:
  • Copy only text between <body> and </body> tags.
  • Remove all empty lines. TWiki inserts <p /> paragraph tags on empty lines, which causes problems if done between HTML tags that do not allow paragraph tags, like for example between table tags.
  • Remove leading spaces. TWiki might interpret some text as lists.
  • Do not span a tag over more than one line. TWiki requires that the opening and closing angle brackets - <...> - of an HTML tag are on the same line, or the tag will be broken.
  • In your HTML editing program, save without hard line breaks on text wrap.

TIP TWiki converts shorthand notation to HTML for display. To copy a fully marked-up page, simply view the source in your browser and save the contents. If you need to save HTML frequently, you may want to check out TWiki:Plugins/PublishAddOn.

Script tags

You can use HTML <script> tags for your TWiki applications. However note that your TWiki administrator can disable <script> in topics, and may have chosen to do so for security considerations. TWiki markup and TWiki Variables are not expanded inside script tags.

Hyperlinks

Being able to create links without any special formatting is a core TWiki feature, made possible with Wiki Words and inline URLs.

Internal Links

  • Not Existing Yet? is a topic waiting to be written. Create the topic by clicking on the ?. (Try clicking, but then, Cancel - creating the topic would wreck this example!)

External Links

  • http://..., https://..., ftp://..., gopher://..., news://..., file://..., telnet://... and mailto:...@... are linked automatically.

  • E-mail addresses like name@domain.com are linked automatically.

  • [[Square bracket rules]] let you easily create non-WikiWord links.
    • You can also write [[http://yahoo.com Yahoo home page]] as an easier way of doing external links with descriptive text for the link, such as Yahoo home page.

TWiki Variables

TWiki Variables are names that are enclosed in percent signs % that are expanded on the fly. Some variables take arguments, such as %INCLUDE%. For those variables, the arguments are included in curly braces ({ and }).

Variable In brief Full documentation
%TOC% Automatically generates a table of contents based on headings in a topic - see the top of this page for an example. Var TOC
%WEB% The current web, is TWiki. Var WEB
%TOPIC% The current topic name, is TextFormattingRules. Var TOPIC
%ATTACHURL% The attachment URL of the current topic. Example usage: If you attach a file to a topic you can refer to it as %ATTACHURL%/image.gif to show the URL of the file or the image in your text. Var ATTACHURL
%INCLUDE{"SomeTopic"}% Server side include, includes another topic. The current web is the default web. Example: %INCLUDE{"TWiki.SiteMap"}% Var INCLUDE
%SEARCH{"sushi"}% Inline search showing the search result embedded in a topic. Formatted Search gives you control over formatting, useful for creating web-based applications. Var SEARCH

TWiki Preferences defines some site-wide variables. Among them are:
  • Line break: Write %BR% to start a new line.
  • Colored text: Write: %RED% Red %ENDCOLOR% and %BLUE% blue %ENDCOLOR% colors to get: Red and blue colors.

There are many more variables. To see them all, go to TWiki Variables.

Documentation Graphics: There are many graphics available to use in your topics. Use %ICON{"help"}%, %ICON{"tip"|%, and %icon{"warning"}% to get: HELP, TIP, and ALERT!. To see all of the graphics available, see TWiki Doc Graphics.

tip To "escape" a variable, prefix it with an exclamation mark. Write: !%SOMEVARIABLE% to get: %SOMEVARIABLE%.

TWikiPlugin Formatting Extensions

Plugins can extend the functionality of TWiki into many other areas. There are a huge number of TWiki plugins available from the Plugins web on TWiki.org.

Currently enabled plugins on this TWiki installation, as listed by %PLUGINDESCRIPTIONS%:
  • TWiki Compatibility Plugin (1.1.2, $Rev: 13315 (2011-12-06) $): Add TWiki personality to Foswiki
  • Spread Sheet Plugin (1.1.4, $Rev: 13315 (2011-12-06) $): Add spreadsheet calculations like "$SUM($ABOVE())" to Foswiki tables and other topic text
  • Adverts Plugin (Dakar, 6827): This plugin provides a convenient interface to the functionality in PhpAdsNew
  • Auto View Template Plugin (10 Apr 2011, $Rev: 11364 (2011-04-10) $): Automatically sets VIEW_TEMPLATE and EDIT_TEMPLATE
  • Calendar Plugin (2.000, $Rev: 8058 (2010-07-07) $): Show a monthly calendar with highlighted events
  • Comment Plugin (10 Apr 2011, $Rev: 11361 (2011-04-10) $): Quickly post comments to a page without an edit/save cycle
  • Compare Revisions Addon Plugin (1.1.6, $Rev: 13317 (2011-12-06) $):
  • Edit Table Plugin (4.41, $Rev: 13315 (2011-12-06) $): Edit tables using edit fields, date pickers and drop down boxes
  • Embed Plugin (Dakar, 6827): Embeds MediaPlayer files in a TWiki page
  • Google Analytics Plugin (2.1.1, 4729): Adds Google Analytics javascript code to specified pages
  • History Plugin (1.10, $Rev: 13288 (2011-12-03) $): Shows a complete history of a topic
  • Image Gallery Plugin (6.00, $Rev: 11854 (2011-06-06) $): Displays image gallery with auto-generated thumbnails from attachments
  • Interwiki Plugin (1.1.2, $Rev: 12957 (2011-10-31) $): Link ExternalSite:Page text to external sites based on aliases defined in a rules topic
  • JQuery Plugin (4.32, $Rev: 13479 (2011-12-20) $): jQuery JavaScript library for Foswiki
  • Mailer Contrib Plugin (9 Jul 2010, $Rev: 13315 (2011-12-06) $): Supports e-mail notification of changes
  • Preferences Plugin (1.1.2, $Rev: 13315 (2011-12-06) $): Allows editing of preferences using fields predefined in a form
  • Redirect Plugin (1.1, $Rev: 7923 (2010-06-26) $): Create a redirect to another topic or website.
  • Render List Plugin (2.2.5, $Rev: 13315 (2011-12-06) $): Render bullet lists in a variety of formats
  • Slide Show Plugin (2.1.4, $Rev: 12410 (2011-08-28) $): Create web based presentations based on topics with headings
  • Smilies Plugin (05 Dec 2011, $Rev: 13315 (2011-12-06) $): Render smilies like smile as icons
  • Spaced Wiki Word Plugin (1.0.1, $Rev: 9953 (2010-11-11) $): Display topic links spaced out
  • Table Plugin (1.138, $Rev: 13401 (2011-12-13) $): Control attributes of tables and sorting of table columns
  • Tiny MCEPlugin (1.1.12, $Rev: 13315 (2011-12-06) $): Integration of the Tiny MCE WYSIWYG Editor
  • Twisty Plugin (1.6.15, $Rev: 13315 (2011-12-06) $): Twisty section Javascript library to open/close content dynamically
  • Wysiwyg Plugin (1.1.3, $Rev: 13315 (2011-12-06) $): Translator framework for WYSIWYG editors

Check on current Plugin status and settings for this site in TWiki Preferences.

Common Editing Errors

TWiki formatting rules are fairly simple to use and quick to type. However, there are some things to watch out for, taken from the Text Formatting FAQ:

  • Q: Text enclosed in angle brackets like <filename> is not displayed. How can I show it as it is?
    • A: The '<' and '>' characters have a special meaning in HTML, they define HTML tags. You need to escape them, so write '&lt;' instead of '<', and '&gt;' instead of '>'.
      Example: Type 'prog &lt;filename&gt;' to get 'prog <filename>'.

  • Q: Why is the '&' character sometimes not displayed?
    • A: The '&' character has a special meaning in HTML, it starts a so called character entity, i.e. '&copy;' is the © copyright character. You need to escape '&' to see it as it is, so write '&amp;' instead of '&'.
      Example: Type 'This &amp; that' to get 'This & that'.
Topic revision: r1 - 07 Mar 2006 - 18:38:28 - TWiki Contributor
 
2picthead.jpg}
Back to Redbourn
Copyright © We make no guarantee of the correctness of the content of this site. All material on this collaboration platform is the property of Martin Cleaver and the contributing authors.