3 <li><a href="#TWiki Text Formatting"> TWiki Text Formatting</a><ul>
4 <li><a href="#TWiki Editing Shorthand"> TWiki Editing Shorthand</a></li>
5 <li><a href="#Using HTML"> Using HTML</a><ul>
6 <li><a href="#HTML and TWiki Usability"> HTML and TWiki Usability</a></li>
7 <li><a href="#TWiki HTML Rendering"> TWiki HTML Rendering</a></li>
8 <li><a href="#TWiki and _JavaScript"> TWiki and JavaScript</a></li>
11 <li><a href="#Hyperlinks"> Hyperlinks</a><ul>
12 <li><a href="#Internal Links"> Internal Links</a></li>
13 <li><a href="#External Links"> External Links</a></li>
16 <li><a href="#TWiki Variables"> TWiki Variables</a></li>
17 <li><a href="#TWikiPlugin Formatting Extension"> TWikiPlugin Formatting Extensions</a></li>
18 <li><a href="#Common Editing Errors"> Common Editing Errors</a></li>
24 # <a name="TWiki Text Formatting"></a> TWiki Text Formatting
26 Working in TWiki is as easy as typing in text - **exactly like email**. 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 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 - refer back to this page in a pop-up window from the **Edit** screen.
28 <a name="TWikiShorthand"></a>
30 ## <a name="TWiki Editing Shorthand"></a> TWiki Editing Shorthand
32 <table bgcolor="#000000" border="1" cellpadding="3" cellspacing="1">
33 <tr bgcolor="#ffffff">
34 <td><strong>Formatting Command:</strong></td>
35 <td><strong>Example: You write:</strong></td>
36 <td><strong>You get:</strong></td>
38 <tr bgcolor="#ffffff">
39 <td valign="top"><strong>Paragraphs:</strong> %BR% Blank lines will create new paragraphs. </td>
40 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
44 </pre> </font></span></td>
45 <td valign="top"> 1st paragraph <p> 2nd paragraph </p>
48 <tr bgcolor="#ffffff">
49 <td valign="top"><strong>Headings:</strong> %BR% At least three dashes at the beginning of a line, followed by plus signs and the heading text. One plus creates a level 1 heading (most important), two pluses a level 2 heading; the maximum is level 6. <strong><em>Note:</em></strong> A Table of Content can be created automatically with the <code>%TOC%</code> variable, see [[Main/TWikiVariables]]. Any heading text after <code>!!</code> is excluded from the TOC; for example, write <code>---+!! text</code> if you do not want to list a header in the TOC. </td>
50 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
54 </pre> </font></span></td>
62 <tr bgcolor="#ffffff">
63 <td valign="top"><strong>Bold Text:</strong> %BR% Words get <strong>bold</strong> by enclosing them in <code>*</code> asterisks. </td>
64 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
66 </pre> </font></span></td>
67 <td valign="top"><strong>Bold</strong></td>
69 <tr bgcolor="#ffffff">
70 <td valign="top"><strong>Italic Text:</strong> %BR% Words get <em>italic</em> by enclosing them in <code>_</code> underscores. </td>
71 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
73 </pre> </font></span></td>
74 <td valign="top"><em>Italic</em></td>
76 <tr bgcolor="#ffffff">
77 <td valign="top"><strong>Bold Italic:</strong> %BR% Words get <em>_bold italic</em> by enclosing them in <code>_</code> double-underscores. </td>
78 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
80 </pre> </font></span></td>
81 <td valign="top"><strong><em>Bold italic</em></strong></td>
83 <tr bgcolor="#ffffff">
84 <td valign="top"><strong>Fixed Font:</strong> %BR% Words get shown in <code>fixed font</code> by enclosing them in <code>=</code> equal signs. </td>
85 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
87 </pre> </font></span></td>
88 <td valign="top"><code>Fixed font</code><p>
92 <tr bgcolor="#ffffff">
93 <td valign="top"><strong>Bold Fixed Font:</strong> %BR% Words get shown in <code><b>bold fixed font</b></code> by enclosing them in <code><b></b></code> double equal signs. </td>
94 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
96 </pre> </font></span></td>
97 <td valign="top"><code><b>Bold fixed</b></code></td>
99 <tr bgcolor="#ffffff">
100 <td valign="top"><strong><em>Note:</em></strong> Make sure there is no space between the text and the bold, italic, or other indicators (<code>* _ __ = ==</code>). </td>
101 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
104 </pre> </font></span></td>
105 <td valign="top"><em>This works</em>,%BR% _this not _ </td>
107 <tr bgcolor="#ffffff">
108 <td valign="top"><strong>Verbatim Mode:</strong> %BR% Surround code excerpts and other formatted text with <code><verbatim></code> and <code></verbatim></code> tags. %BR% <strong><em>Note:</em></strong> Use <code><pre></code> and <code></pre></code> tags instead if you want that HTML code is interpreted. %BR% <strong><em>Note:</em></strong> Each tag must be on a line by itself. </td>
109 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
117 </pre> </font></span></td>
118 <td valign="top"><pre>
126 <tr bgcolor="#ffffff">
127 <td valign="top"><strong>Separator:</strong> %BR% At least three dashes at the beginning of a line. </td>
128 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
130 </pre> </font></span></td>
135 <tr bgcolor="#ffffff">
136 <td valign="top"><strong>List Item:</strong> %BR% Three spaces, an asterisk, and another space. </td>
137 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
139 </pre> </font></span></td>
142 <li> bullet item </li>
146 <tr bgcolor="#ffffff">
147 <td valign="top"><strong>Nested List Item:</strong> %BR% Six, nine, ... spaces, an asterisk, and another space. </td>
148 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
151 </pre> </font></span></td>
161 <tr bgcolor="#ffffff">
162 <td valign="top"><strong>Ordered List:</strong> %BR% Three spaces, a number, a dot, and another space. Several types are available besides a number: <table border="1" cellpadding="0" cellspacing="0">
164 <th bgcolor="#99CCCC"><strong> Type </strong></th>
165 <th bgcolor="#99CCCC"><strong> Generated Style </strong></th>
166 <th bgcolor="#99CCCC"><strong> Sample Sequence </strong></th>
170 <td> Arabic numerals </td>
171 <td> 1, 2, 3, 4... </td>
175 <td> Uppercase letters </td>
176 <td> A, B, C, D... </td>
180 <td> Lowercase letters </td>
181 <td> a, b, c, d... </td>
185 <td> Uppercase Roman Numerals </td>
186 <td> I, II, III, IV... </td>
190 <td> Lowercase Roman Numerals </td>
191 <td> i, ii, iii, iv... </td>
197 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
206 </pre> </font></span></td>
215 <li type="A"> Sushi </li>
216 <li type="A"> Dim Sum </li>
221 <li type="i"> Sushi </li>
222 <li type="i"> Dim Sum </li>
226 <tr bgcolor="#ffffff">
227 <td valign="top"><strong>Definition List:</strong> %BR% Three spaces, a dollar sign, the term, a colon, a space, followed by the definition. </td>
228 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
231 </pre> </font></span></td>
241 <tr bgcolor="#ffffff">
242 <td valign="top"><strong>Table:</strong> %BR% Any number of lines of text. Each line is one row of the table consisting of one or more cells. Each cell starts and ends with a vertical bar '|'. Any spaces at the beginning of a line are ignored.%BR% <strong><em>Notes:</em></strong> %BB% <code>| *bold* |</code> cells are displayed as table headers.%BB% <code>| center-spaced |</code> cells are displayed center aligned.%BB% <code>| right-spaced |</code> cells are displayed right aligned.%BB% <code>| 2 colspan ||</code> cells are displayed as multi-span columns (i.e., a cell with no text spans a column).%BB% <code>|^|</code> cells with a caret indicate follow-up rows of multi-span rows (this functionality is provided by [[Main/TablePlugin]]).%BB% If a row contains a large amount of text, and you want it to be more readable while editing the table, split the row into multiple text lines by ending each line with a backslash character <code>'\'</code>.%BB% Table cells wrap automatically as determined by the browser. </td>
243 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
248 | A4-6 | four | four |
252 </pre> </font></span></td>
254 <table border="1" cellpadding="0" cellspacing="0">
256 <th bgcolor="#99CCCC"><strong> L </strong></th>
257 <th bgcolor="#99CCCC"><strong> C </strong></th>
258 <th bgcolor="#99CCCC"><strong> R </strong></th>
262 <td align="center"> 2 </td>
263 <td align="right"> 2 </td>
267 <td align="center"> 3 </td>
268 <td align="right"> 3 </td>
271 <td colspan="3"> multi span </td>
291 <tr bgcolor="#ffffff">
292 <td valign="top"><strong>WikiWord Links:</strong> %BR% CapitalizedWordsStuckTogether (or [[Main/WikiWords]]) will produce a link automatically. %BR% <strong><em>Note:</em></strong> In case you want to link to a topic in a different %WIKITOOLNAME% web write <code>Webname.TopicName</code>. </td>
293 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
297 </pre> </font></span></td>
298 <td valign="top">[[Main/WebNotify]]<p>[[Know/ReadmeFirst]]</p>
301 <tr bgcolor="#ffffff">
302 <td valign="top"><a name="SquareBrackets"></a> <strong>Forced Links:</strong> %BR% You can create a forced internal link by enclosing words in double square brackets. %BR% <strong><em>Note:</em></strong> 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, <code>[[text formatting FAQ]]</code> links to topic [[Main/TextFormattingFAQ]]. You can also refer to a different web and use anchors. %BR% <strong><em>Note:</em></strong> To "escape" double square brackets that would otherwise be a correct link, prefix the leading left square brackets with an exclamation point, that is, begin with <code>![[....</code></td>
303 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
310 </pre> </font></span></td>
311 <td valign="top">[[Main/WikiSyntax]]<p>[[Main/TWikiUsers]]</p>
312 <p> escaped: [[wiki syntax]] </p>
315 <tr bgcolor="#ffffff">
316 <td valign="top"><strong>Specific Links:</strong> %BR% Create a link where you can specify the link text and the link reference separately, using nested square brackets like <code>[[reference][text]]</code>. Internal link references (e.g. [[Main/WikiSyntax]]) and external link references (e.g. <a href="http://TWiki.org/" target="_top">http://TWiki.org/</a>) are supported. %BR% <strong><em>Note:</em></strong> The same <strong><em>Forced Links</em></strong> rules apply for internal link references. %BR% <strong><em>Note:</em></strong> For external link references, you can simply use a space instead of <code>][</code> to separate the link URL from the descriptive text. %BR% <strong><em>Note:</em></strong> Anchor names can be added as well, like <code>[[WebHome#MyAnchor][go home]]</code> and <code>[[http://gnu.org/#Action][GNU Action]]</code>. </td>
317 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
318 [[WikiSyntax][syntax]]
320 [[http://gnu.org][GNU]]
322 [[http://xml.org XML]]
323 </pre> </font></span></td>
324 <td valign="top">[[Main/WikiSyntax]]<p><a href="http://gnu.org" target="_top">GNU</a></p>
325 <p><a href="http://xml.org" target="_top">XML</a></p>
328 <tr bgcolor="#ffffff">
329 <td valign="top"><strong>Anchors:</strong> %BR% You can define a link reference inside a %WIKITOOLNAME% topic (called an anchor name) and link to that. To <strong><em>define</em></strong> an anchor write <code>#AnchorName</code> at the beginning of a line. The anchor name must be a [[Main/WikiWord]]. To <strong><em>link to</em></strong> an anchor name use the <code>[[MyTopic#MyAnchor]]</code> syntax. You can omit the topic name if you want to link within the same topic. </td>
330 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
331 [[WikiWord#NotThere]]
336 </pre> </font></span></td>
337 <td valign="top">[[Main/WikiWord#NotThere]]<p>[[Main/WebHome#MyAnchor]]</p>
338 <p><a name="MyAnchor"></a> To here </p>
341 <tr bgcolor="#ffffff">
342 <td valign="top"><strong>Prevent a Link:</strong> %BR% Prevent a [[Main/WikiWord]] from being linked by prepending it with an exclamation point. </td>
343 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
345 </pre> </font></span></td>
346 <td valign="top"> SunOS </td>
348 <tr bgcolor="#ffffff">
349 <td valign="top"><strong>Disable Links:</strong> %BR% You can disable automatic linking of [[Main/WikiWords]] by surrounding text with <code><noautolink></code> and <code></noautolink></code> tags. %BR% <strong><em>Note:</em></strong> Each tag must be on a line by itself. %BR% <strong><em>Note:</em></strong> This also works for TWiki tables, but only if you add a blank line between the end of the table and the closing <code></noautolink></code> tag (known issue of the [[Main/TablePlugin]]). </td>
350 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
355 </pre> </font></span></td>
356 <td valign="top"> RedHat & SuSE </td>
358 <tr bgcolor="#ffffff">
359 <td valign="top"><strong>Mailto: Links:</strong> %BR% To create 'mailto:' links that have more descriptive link text, specify subject lines or message bodies, or omit the email address, you can write <code>[[mailto:user@domain descriptive text]]</code>. </td>
360 <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
361 [[mailto:a@z.com Mail]]
363 [[mailto:?subject=Hi Hi]]
364 </pre> </font></span></td>
365 <td valign="top"><a href="mailto:a@z.com">Mail</a><p><a href="mailto:?subject=Hi">Hi</a></p>
370 ## <a name="Using HTML"></a> Using HTML
372 You can use just about any HTML tag without a problem - however, there are a few usability and technical considerations to keep in mind.
374 ### <a name="HTML and TWiki Usability"></a> HTML and TWiki Usability
376 - %T% **TIP:** On collaboration pages, it's preferable NOT to use HTML, and to use [[TWiki shorthand|Main/WebHome#TWikiShorthand]] instead - this keeps the text uncluttered and easy to edit.
377 - %X% **NOTE:** TWiki is designed to work with a wide range of browsers and computer platforms, holding to HTML 4.0 and XHTML 1.0 compatibility in the standard installation - adding raw HTML, particularly browser-specific tags (or any other mark-up that doesn't degrade well) will reduce compatibility.
378 - Recommondations when using HTML:
379 - Use [XHTML 1.0 Transitional](http://www.w3.org/TR/xhtml1/) syntax
380 - Do not span a tag over more then one line
381 - Remove all empty lines. TWiki inserts `<p />` paragraph tags on empty lines, which causes problems if done between tags that do not allow paragraph tags, like for example between table tags.
383 ### <a name="TWiki HTML Rendering"></a> TWiki HTML Rendering
385 - TWiki converts shorthand notation to XHTML 1.0 for display. To copy a fully marked-up page, simply view source in your browser and save the contents.
386 - %T% If you need to save HTML frequently, you may want to check out TWiki:Plugins/GenHTMLAddon - it will "generate a directory containing rendered versions of a set of TWiki pages together with any attached files."
387 - %X% **NOTE:** The opening and closing angle brackets - <code>**<...>**</code> - of an HTML tag **_must be on the same line_**, or the tag will be broken.
388 - This feature allows you to enter an unclosed angle bracket - as a greater than or less than symbol - and have it automatically rendered as if you had entered its HTML character, `<`, ex: <code>**a < b**</code>
389 - %T% If you're pasting in preformatted HTML text and notice problems, check the file in a text processor with no text wrap. Also, save without hard line breaks on text wrap, in your HTML editing program.
391 ### <a name="TWiki and _JavaScript"></a> TWiki and JavaScript
393 You can use JavaScript for your TWiki applications. Since TWiki rendering might interfere with JavaScript code you need to escape it with HTML comments and `<pre>` tags:
395 <script language="JavaScript">
396 <!-- Hide JavaScript and <pre> escape TWiki rendering
397 ... put your JavaScript code here...
398 // Stop hiding and stop </pre> escaping TWiki rendering -->
401 ## <a name="Hyperlinks"></a> Hyperlinks
403 Being able to create links without any formatting required is a core TWiki feature, made possible with [[WikiWords]]. New TWiki linking rules are a simple extension of the syntax that provide a new set of flexible options.
405 ### <a name="Internal Links"></a> Internal Links
407 - [[GoodStyle]] is a [[WikiWord]] that links to the GoodStyle topic located in the current %WIKITOOLNAME% web.
409 - [[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!)
411 ### <a name="External Links"></a> External Links
413 - `http://...`, `https://...`, `ftp://...`, `gopher://...`, `news://...`, `file://...`, `telnet://...` and `mailto:...@...` are linked automatically.
415 - Email addresses like `name@domain.com` are linked automatically.
417 - `[[Square bracket rules]]` let you easily create [[non-WikiWord links|Main/WebHome#SquareBrackets]].
418 - 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](http://yahoo.com/).
420 ## <a name="TWiki Variables"></a> TWiki Variables
422 Variables are names that are enclosed in percent signs `%` that are expanded on the fly.
424 - `%TOC%` : Automatically generates a table of contents based on headings in a topic - see the top of this page for an example.
426 - `%WEB%` : The current web, is **%WEB%**.
428 - `%TOPIC%` : The current topic name, is **%TOPIC%**.
430 - `%ATTACHURL%` : The attachment URL of the current topic. Example usage: If you attach a file to a topic you can refer to it as <code>**%ATTACHURL%/image.gif**</code> to show the URL of the file or the image in your text.
432 - `%INCLUDE{"SomeTopic"}%` : Server side include, includes another topic. The current %WIKITOOLNAME% web is the default web. Example: <code>**%INCLUDE\{"TWiki.SiteMap"\}%**</code>
434 - `%SEARCH{"sushi"}%` : Inline search showing the search result embedded in a topic. [[FormattedSearch]] gives you control over formatting, used to create web-based applications.
436 - [[TWikiPreferences]] defines site-wide variables. Among others:
437 - **Line break:** Write <code><span><font>%BR%</font></span></code> to start a new line.
438 - **Colored text:** Write: <code><span><font> %RED% Red %ENDCOLOR% and %BLUE% blue %ENDCOLOR% colors</font></span></code> to get: %RED% Red %ENDCOLOR% and %BLUE% blue %ENDCOLOR% colors.
439 - **Documentation Graphics:** Write: <code><span><font> %H% Help, %T% Tip, %X% Alert</font></span></code> to get: %H% Help, %T% Tip, %X% Alert. For more info see [[TWikiDocGraphics]].
441 - There are many more variables, see **[[TWikiVariables]]**.
443 - To "escape" a variable, prefix it with an exclamation point. Write: <code><span><font> !%SOMEVARIABLE% </font></span></code> to get: %SOMEVARIABLE%.
445 ## <a name="TWikiPlugin Formatting Extension"></a><a name="_TWikiPlugin Formatting Extensio"></a> TWikiPlugin Formatting Extensions
447 Plugins provide additional text formatting capabilities and can extend the functionality of %WIKITOOLNAME% into many other areas. For example, the optional [SpreadSheetPlugin](http://twiki.org/cgi-bin/view/Plugins/SpreadSheetPlugin) lets you create a spreadsheet with the same basic notation used in TWiki tables.
449 Available Plugins are located in the [Plugins](http://twiki.org/cgi-bin/view/Plugins) web on TWiki.org. Currently enabled plugins on this TWiki installation, as listed by `%PLUGINDESCRIPTIONS%`:
451 - [[SpreadSheetPlugin]] <span>(any TWiki, 10197)</span>:
452 - [[CommentPlugin]] <span>(Dakar, 11359)</span>: Allows users to quickly post comments to a page without an edit/preview/save cycle
453 - [[EditTablePlugin]] <span>(any TWiki, 11646)</span>:
454 - [[InterwikiPlugin]] <span>(Dakar, $Rev: 11935$)</span>:
455 - [[PreferencesPlugin]] <span>(Dakar, 9839)</span>:
456 - [[SlideShowPlugin]] <span>(Any TWiki, $Rev: 12847$)</span>:
457 - [[SmiliesPlugin]] <span>(Dakar, 8154)</span>:
458 - [[TablePlugin]] <span>(1.020, 12339)</span>:
459 - [[TwistyPlugin]] <span>(1.2.0, $Rev: 12154$)</span>:
461 Check on current Plugin status and settings for this site in [[TWikiPreferences]].
463 ## <a name="Common Editing Errors"></a> Common Editing Errors
465 TWiki formatting rules are fairly simple to use and quick to type. However, there are some things to watch out for, taken from the [[TextFormattingFAQ]]:
467 - **Q:** Text enclosed in angle brackets like `<filename>` is not displayed. How can I show it as it is?
468 - **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 `'>'`. <br /> Example: Type `'prog <filename>'` to get `'prog <filename>'`.
470 - **Q:** Why is the `'&'` character sometimes not displayed?
471 - **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 `'&'`. <br /> Example: Type `'This & that'` to get `'This & that'`.
473 -- TWiki:Main.MikeMannix - 02 Dec 2001 <br /> -- TWiki:Main.PeterThoeny - 25 Apr 2004