Edit | Attach | New | Raw | Delete | History | Diff | Print | Pdf | Subscribe | Tools
Text Formatting
Working in Foswiki 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 WikiWords. And Foswiki 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.
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% macro. If you want to exclude a heading from the TOC, put !! after the ---+ .
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
|
You can follow the closing bold, italic, or other (* _ __ = == ) indicator
with normal punctuation, such as commas and full stops.
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.
verbatim tags disable HTML code. Use <pre> and </pre> tags instead if you want the HTML code within the tags to be interpreted.
Preferences settings (* 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.
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
- 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
|
- Sushi
- Dim Sum
- Fondue
- Sushi
- Dim Sum
- Fondue
- Sushi
- Dim Sum
- 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
- Use
%VBAR% or | to add | characters in tables.
- Use
%CARET% or ^ to add ^ characters in tables.
The TablePlugin 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 WikiWords) will produce a link automatically if preceded by whitespace or parenthesis.
If you want to link to a topic in a different web write Otherweb.TopicName .
To link to a topic in a subweb write Otherweb.Subweb.TopicName .
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.
Dots '.' are used to separate webs and subwebs from topic names and therefore cannot be used in topic names.
It's generally a good idea to use the macros %SYSTEMWEB% and %USERSWEB% instead of System and Main.
|
WebStatistics
Sandbox.WebNotify
Sandbox.WebHome
Sandbox.Subweb.TopicName
|
WebStatistics
WebNotify
Sandbox
TopicName
|
Anchors:
You can define a reference inside a 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 WikiWord of no more than 32 characters. 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
|
WikiWord#NotThere
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, [[wiki syntax]] links to topic WikiSyntax. You can also refer to a different web and use anchors.
To "escape" double square brackets that would otherwise make a link, prefix the leading left square bracket with an exclamation point.
|
[[wiki syntax]]
[[Sandbox.My unspaced topic]]
escaped:
![[wiki syntax]]
|
wiki syntax
Main.Wiki groups
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. WikiSyntax) and URLs (e.g. http://foswiki.org/) are both supported.
The rules described under Forced Links apply for internal link references.
Anchor names can be added as well, to create a link to a specific place in a topic.
|
[[WikiSyntax][wiki syntax]]
<span class='externalLink'>[[http://gnu.org][GNU]]</span>
|
wiki syntax
GNU
|
Prevent a Link:
Prevent a WikiWord from being linked by prepending it with an exclamation point.
|
!SunOS
|
SunOS
|
Disable Links:
You can disable automatic linking of WikiWords by surrounding text with <noautolink> and </noautolink> tags.
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
|
Literal content:
Foswiki generates HTML code from TML shorthand.
Experts surround anything that must be output literally in the HTML code, without the application of
shorthand rules, with <literal>..</literal> tags. any HTML
within literal tags must be well formed i.e. all tags must be properly closed before
the end of the literal block. Macros are expanded within literal blocks.
|
<literal>
| Not | A | Table |
</literal>
|
| Not | A | Table |
|
Protected content:
Experts protect text from mangling by WYSIWYG editors using
<sticky>..</sticky> tags. Sticky tags don't have any effect on normal
topic display; they are only relevant when content has to be
protected from a WYSIWYG editor (usually because it isn't well-formed HTML, or because it
is HTML that WYSIWYG would normally filter out or modify). Protected
content appears as plain text in the WYSIWYG editor.
|
<sticky>
<div>
This div is required
</div>
</sticky>
|
This div is required
|
Using HTML
You can use most HTML tags in topics without a problem. This is useful where you want to
add some content that is formatted in a way that is not supported using shorthand, for example,
you can write <strike>deleted text</strike> to get deleted text.
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 shorthand instead - this keeps the text uncluttered and easy to edit using the plaintext editor.
- If you must use HTML, use XHTML 1.0 Transitional syntax.
- Use
<literal>..</literal> tags around blocks of HTML to avoid accidental interpretation of shorthand within the HTML.
- Script tags may be filtered out, at the discretion of your Wiki administrator.
Recommendations when pasting HTML from other sources (using the plain-text editor):
- Copy only text between
<body> and </body> tags.
- Remove all empty lines. Foswiki 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. Foswiki might interpret some text as lists.
- Do not span a tag over more than one line. Foswiki requires that the opening and closing angle brackets -
<...> - of a 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.
When using a WYSIWYG editor, you can just copy-paste directly into the editor, and the content will
be converted to shorthand automatically when you save.
Hyperlinks
Being able to create links without any special formatting is a core Foswiki feature, made possible with WikiWords and inline URLs.
Internal Links
- GoodStyle is a WikiWord that links to the GoodStyle topic located in the current web.
- NotExistingYet? 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
- Protocols matching the configuration parameter
LinkProtocolPattern , which by default is set to (file|ftp|gopher|https|http|irc|mailto|news|nntp|telnet) , are linked automatically. You might change this setting to add more protocols (such as smb). Thus, all lines containing:
-
file://...
-
ftp://...
-
gopher://...
-
https://...
-
http://...
-
irc://...
-
mailto:...@...
-
news://...
-
nntp://...
-
telnet://... 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.
Macros
Macros are names enclosed in percent signs that are that are expanded to some other text when the topic is displayed. For example, %TOPIC% is expanded to MacrosQuickStart, the title of this topic.
Some macros can take arguments in curly braces - for example, %INCLUDE{"OtherTopic" ARG="arg"}% .
Many macro definitions are built-in, and others ( preference settings) are predefined for your convenience. You can also define your own
preference settings at the entire site, individual web, or individual topic level. For more information, see Macros
Macros are fully expanded before any of the text formatting rules are applied.
Documentation Graphics: There are many graphics available to use in your topics. Use %ICON{"help"}% , %ICON{"tip"}% , and %ICON{"warning"}% to get: , , and , respectively. DocumentGraphics lists them all.
To "escape" a macro, prefix it with an exclamation mark. Write: !%SOMEMACRO% to get: %SOMEMACRO%.
Plugin Formatting Extensions
Plugins can extend the functionality of Foswiki into many other areas. There are a huge number of plugins available from the foswiki site?.
Currently enabled plugins on this installation, as listed by %PLUGINDESCRIPTIONS% :
- TWikiCompatibilityPlugin (Foswiki-1.0.9, $Rev: 6017 (2010-01-11) $): add TWiki personality to Foswiki
- SpreadSheetPlugin (10 Nov 2009, $Rev: 5484 (2009-11-10) $): Add spreadsheet calculations like "$SUM($ABOVE())" to Foswiki tables and other topic text
- AutoViewTemplatePlugin (2009-09-06, $Rev: 5221 (2009-10-06) $): Automatically sets VIEW_TEMPLATE and EDIT_TEMPLATE
- BreadCrumbsPlugin (v2.42, 4694): A flexible way to display breadcrumbs navigation
- CalendarPlugin (2.000, $Rev: 8058 (2010-07-07) $): Show a monthly calendar with highlighted events
- ChartPlugin (13 Mar 2010, $Rev: 6743 (2010-03-14) $): Create PNG or GIF charts to visualize Foswiki tables
- CommentPlugin (24 Feb 2010, $Rev: 6512 (2010-02-24) $): Quickly post comments to a page without an edit/save cycle
- DBCachePlugin (3.50, $Rev: 8342 (2010-07-28) $): Lightweighted frontend to the DBCacheContrib
- EditChapterPlugin (2.12, $Rev: 6337 (2010-02-15) $): An easy sectional edit facility
- EditTablePlugin (4.34, $Rev: 5854 (2009-12-23) $): Edit tables using edit fields, date pickers and drop down boxes
- ExplicitNumberingPlugin (1.6, $Rev: 6482 (2010-02-23) $): Use the
##., ##.. etc. notation to insert outline numbering sequences (1, 1.1, 2, 2.1) in topic's text. Also support numbered headings. - ExternalLinkPlugin (1.21, $Rev: 5906 (2009-12-31) $): Adds a visual indicator to outgoing links
- FilterPlugin (2.03, $Rev: 8284 (2010-07-23) $): Substitute and extract information from content by using regular expressions
- FlexWebListPlugin (v1.51, $Rev: 5698 (2009-12-02) $): Flexible way to display hierarchical weblists
- GluePlugin (2.20, $Rev: 4420 (2009-07-03) $): Enable markup to span multiple lines
- HeadlinesPlugin (2.21.2, $Rev: 6822 (2010-03-21) $): Show headline news in Foswiki pages based on RSS and ATOM news feeds from external sites
- IfDefinedPlugin (v2.00, $Rev: 4422 (2009-07-03) $): Render content conditionally
- ImagePlugin (2.31, $Rev: 6307 (2010-02-12) $): Control the display and alignment of images using an easy syntax
- InterwikiPlugin (20 Sep 2009, $Rev: 5022 (2009-09-20) $): Link ExternalSite?:Page text to external sites based on aliases defined in a rules topic
- JQueryLibPlugin (v1.0, $Rev: 3729 (2009-04-28) $): Provides you with the jQuery javascript library
- JQueryPlugin (3.51, $Rev: 20090710 (2009-07-10) $): jQuery JavaScript library for Foswiki
- LatexModePlugin (4.0, $Rev: 4721 (2009-08-28) $): Enables LaTeX markup (mathematics and more) in Foswiki topics
- LdapNgPlugin (v3.00, $Rev: 3726 (2009-04-27) $): Query and display data from an LDAP directory
- MathModePlugin (4.01, $Rev: 3649 (2009-04-23) $): Include LaTeX formatted math in your Foswiki pages
- NatEditPlugin (v4.21, $Rev: 6336 (2010-02-15) $): A Wikiwyg Editor
- NatSkinPlugin (3.96, $Rev: 6287 (2010-02-12) $): Theming engine for NatSkin
- NewUserPlugin (v2.00, $Rev: 3642 (2009-04-23) $): Create a user topic if it does not exist yet
- PreferencesPlugin (20 Sep 2009, $Rev: 5037 (2009-09-20) $): Allows editing of preferences using fields predefined in a form
- RedirectPlugin (1.1, $Rev: 7923 (2010-06-26) $): Create a redirect to another topic or website.
- RenderListPlugin (2.2, $Rev: 5042 (2009-09-20) $): Render bullet lists in a variety of formats
- RenderPlugin (3.0, 4818): Render WikiApplications asynchronously
- SendEmailPlugin (1.5.1, $Rev: 6581 (2010-02-28) $): Allows to send e-mails through an e-mail form.
- SetVariablePlugin (1.00, $Rev: 4287 (2009-06-23) $): Flexible handling of topic variables
- SlideShowPlugin (02 Aug 2008, $Rev: 2742 (2009-02-26) $): Create web based presentations based on topics with headings.
- SmiliesPlugin (20 Sep 2009, $Rev: 5046 (2009-09-20) $): Render smilies like as icons
- SubscribePlugin (03 Dec 2008, $Rev: 13787 (18 May 2007) $): Subscribe to web notification
- SyntaxHighlightingPlugin (1.2, $Rev: 4052 (2009-06-07) $): Highlights code fragments for many languages using
enscript . - TablePlugin (1.046, $Rev: 6733 (2010-03-13) $): Control attributes of tables and sorting of table columns
- TagMePlugin (02 Mar 2010, $Rev: 6613 (2010-03-02) $): Tag wiki content collectively to find content by keywords
- TwistyPlugin (1.5.4, $Rev: 6281 (2010-02-12) $): Twisty section Javascript library to open/close content dynamically
- UploadPlugin (1.11, $Rev: 20090703 (2009-07-03) $): Attach multiple files to a topic in one go
- VarCachePlugin (29 Jan 2009, $Rev: 2215 (29 Jan 2009) $): Cache Foswiki macros in selected topics for faster page rendering
- VotePlugin (1.33, $Rev: 5560 (2009-11-17) $): Simple way to count votes
- ZonePlugin (2.1, $Rev: 6966 (2010-03-28) $): Gather content of a page in named zones while rendering it
Check on current Plugin status and settings for this site in System.Plugins.
Common Editing Errors
Foswiki formatting rules are fairly simple to use and quick to type. However, there are some things to watch out for:
- 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 '<' instead of '<' , and '>' instead of '>' . Example: Type 'prog <filename>' 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. '©' is the © copyright character. You need to escape '&' to see it as it is, so write '&' instead of '&' . Example: Type 'This & that' to get 'This & that' .
|