none
[openafs-wiki.git] / TWiki / TextFormattingRules.mdwn
1 <div>
2   <ul>
3     <li><a href="#Links"> Links</a><ul>
4         <li><a href="#%WIKITOOLNAME% Internal Links"> %WIKITOOLNAME% Internal Links</a></li>
5         <li><a href="#Remote Site Links"> Remote Site Links</a></li>
6       </ul>
7     </li>
8     <li><a href="#Editing"> Editing</a></li>
9     <li><a href="#Using HTML"> Using HTML</a></li>
10     <li><a href="#TWiki Variables"> TWiki Variables</a></li>
11     <li><a href="#"Gotchas" when Editing Text"> "Gotchas" when Editing Text</a></li>
12     <li><a href="#%WIKITOOLNAME% Plugins"> %WIKITOOLNAME% Plugins</a></li>
13   </ul>
14 </div>
15
16 It is easy to collaborate; just type your text. You don't need to know HTML at all, though you can use it if you prefer. Links to topics will be created automatically, as long as you follow these simple Text Formatting Rules. [[TextFormattingFAQ]] has answers to frequently asked questions about text formatting. This page is available in a pop-up window when in Edit mode.
17
18 ## <a name="Links"></a> Links
19
20 Being able to create links without any formating required is a core TWiki feature, made possible using [[WikiNames]]. With the latest version of TWiki linking rules, by adding a few extra symbols, you can have even more powerful linking control.
21
22 ### <a name="%WIKITOOLNAME% Internal Links"></a> %WIKITOOLNAME% Internal Links
23
24 - [[GoodStyle]] is a [[WikiWord]] that links to the GoodStyle topic located in the current %WIKITOOLNAME% web.
25 - [[NotExistingYet]] is a topic waiting to be written. You could create that topic by clicking on the question mark. (Do not create that topic; you would wreck this example!)
26
27 ### <a name="Remote Site Links"></a> Remote Site Links
28
29 - `http://...`, `https://...`, `ftp://...` and `mailto:...@...` are linked automatically.
30 - Email addresses like `name@domain.com` are linked automatically.
31
32 ## <a name="Editing"></a> Editing
33
34 <table border="3" cellpadding="2" cellspacing="2">
35   <tr>
36     <td><strong>Formatting Command:</strong></td>
37     <td><strong>Example: You write:</strong></td>
38     <td><strong>You get:</strong></td>
39   </tr>
40   <tr>
41     <td valign="top"><strong>Paragraphs:</strong><br /> Blank lines will create new paragraphs. </td>
42     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
43 1st paragraph
44
45 2nd paragraph
46 </pre> </font></span></td>
47     <td valign="top"> 1st paragraph <p> 2nd paragraph </p>
48     </td>
49   </tr>
50   <tr>
51     <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]]. </td>
52     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
53 ---++ Sushi
54
55 ---+++ Maguro
56 </pre> </font></span></td>
57     <td valign="top">
58       <h2>Sushi</h2>
59       <p>
60       </p>
61       <h3>Maguro</h3>
62     </td>
63   </tr>
64   <tr>
65     <td valign="top"><strong>Bold Text:</strong><br /> Words get <strong>bold</strong> by enclosing them in <code>*</code> asterisks. </td>
66     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
67 *Bold*
68 </pre> </font></span></td>
69     <td valign="top"><strong>Bold</strong></td>
70   </tr>
71   <tr>
72     <td valign="top"><strong>Italic Text:</strong><br /> Words get <em>italic</em> by enclosing them in <code>_</code> underscores. </td>
73     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
74 _Italic_
75 </pre> </font></span></td>
76     <td valign="top"><em>Italic</em></td>
77   </tr>
78   <tr>
79     <td valign="top"><strong>Bold Italic:</strong><br /> Words get <em>_bold italic</em> by enclosing them in <code>_</code> double-underscores. </td>
80     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
81 __Bold italic__
82 </pre> </font></span></td>
83     <td valign="top"><strong><em>Bold italic</em></strong></td>
84   </tr>
85   <tr>
86     <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>
87     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
88 =Fixed font=
89 </pre> </font></span></td>
90     <td valign="top"><code>Fixed font</code></td>
91   </tr>
92   <tr>
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>
95 ==Bold fixed==
96 </pre> </font></span></td>
97     <td valign="top"><code><b>Bold fixed</b></code></td>
98   </tr>
99   <tr>
100     <td valign="top"><strong><em>Note:</em></strong> Make sure to "stick" the <code>* _ = ==</code> signs to the words, e.g. take away spaces. </td>
101     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
102 _This works_,
103 _this not _
104 </pre> </font></span></td>
105     <td valign="top"><em>This works</em>, _this not _ </td>
106   </tr>
107   <tr>
108     <td valign="top"><strong>Verbatim Mode:</strong><br /> Surround code excerpts and other formatted text with <code>&lt;verbatim&gt;</code> and <code>&lt;/verbatim&gt;</code> tags. <br /><strong><em>Note:</em></strong> Use <code>&lt;pre&gt;</code> and <code>&lt;/pre&gt;</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>
110 &lt;verbatim&gt;
111 class CatAnimal {
112   void purr() {
113          &lt;code here&gt;
114   }
115 }
116 &lt;/verbatim&gt;
117 </pre> </font></span></td>
118     <td valign="top"><pre>
119 class CatAnimal {
120   void purr() {
121     &lt;code here&gt;
122   }
123 }
124 </pre></td>
125   </tr>
126   <tr>
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>
129 -------
130 </pre> </font></span></td>
131     <td valign="top">
132       <hr />
133     </td>
134   </tr>
135   <tr>
136     <td valign="top"><strong>List Item:</strong><br /> Three spaces and an asterisk. </td>
137     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
138         * bullet item
139 </pre> </font></span></td>
140     <td valign="top">
141       <ul>
142         <li> bullet item </li>
143       </ul>
144     </td>
145   </tr>
146   <tr>
147     <td valign="top"><strong>Nested List Item:</strong><br /> Six, nine, ... spaces and an asterisk. </td>
148     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
149                 * nested stuff
150 </pre> </font></span></td>
151     <td valign="top">
152       <ul>
153         <li>
154           <ul>
155             <li> nested stuff </li>
156           </ul>
157         </li>
158       </ul>
159     </td>
160   </tr>
161   <tr>
162     <td valign="top"><strong>Ordered List:</strong><br /> Three spaces and a number. </td>
163     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
164         1 Sushi
165         1 Dim Sum
166 </pre> </font></span></td>
167     <td valign="top">
168       <ol>
169         <li> Sushi </li>
170         <li> Dim Sum </li>
171       </ol>
172     </td>
173   </tr>
174   <tr>
175     <td valign="top"><strong>Definition List:</strong><br /> Three spaces, the term, a colon, a space, followed by the definition. <br /><strong><em>Note:</em></strong> Terms with spaces are not supported. In case you do have a term with more then one word, separate the words with dashes or with the <code>&amp;nbsp;</code> non-breaking-space entity. </td>
176     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
177         Sushi: Japan
178         Dim&amp;nbsp;Sum: S.F.
179 </pre> </font></span></td>
180     <td valign="top">
181       <dl>
182         <dt> Sushi</dt>
183         <dd> Japan </dd>
184         <dt> Dim Sum</dt>
185         <dd> S.F. </dd>
186       </dl>
187     </td>
188   </tr>
189   <tr>
190     <td valign="top"><strong>Table:</strong><br /> Optional spaces followed by the cells enclosed in vertical bars. <br /><strong><em>Note:</em></strong> <code>| *bold* |</code> cells are rendered as table headers. <br /><strong><em>Note:</em></strong> <code>|   spaced   |</code> cells are rendered center aligned. <br /><strong><em>Note:</em></strong> <code>|     spaced |</code> cells are rendered right aligned. <br /><strong><em>Note:</em></strong> <code>| 2 colspan ||</code> cells are rendered as multi-span columns. <br /><strong><em>Note:</em></strong> In case you have a long row and you want it to be more readable when you edit the table you can split the row into lines that end with a <code>'\'</code> backslash character. <br />
191     </td>
192     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
193 | *L* | *C* | *R* |
194 | A2 |  2  |  2 |
195 | A3 |  3  |  3 |
196 | multi span |||
197 | A4 \  | next \  | next |
198 </pre> </font></span></td>
199     <td valign="top">
200       <table border="1" cellpadding="0" cellspacing="0">
201         <tr>
202           <th bgcolor="#99CCCC"><strong> L </strong></th>
203           <th bgcolor="#99CCCC"><strong> C </strong></th>
204           <th bgcolor="#99CCCC"><strong> R </strong></th>
205         </tr>
206         <tr>
207           <td> A2 </td>
208           <td align="center"> 2 </td>
209           <td align="right"> 2 </td>
210         </tr>
211         <tr>
212           <td> A3 </td>
213           <td align="center"> 3 </td>
214           <td align="right"> 3 </td>
215         </tr>
216         <tr>
217           <td colspan="3"> multi span </td>
218         </tr>
219         <tr>
220           <td> A4 </td>
221           <td> next </td>
222           <td> next </td>
223         </tr>
224       </table>
225     </td>
226   </tr>
227   <tr>
228     <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>
229     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
230 WebNotify
231
232 Know.ReadmeFirst
233 </pre> </font></span></td>
234     <td valign="top">[[Main/WebNotify]]<p>[[Know/ReadmeFirst]]</p>
235     </td>
236   </tr>
237   <tr>
238     <td valign="top"><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; i.e. <code>[[text formatting FAQ]]</code> links to topic [[Main/TextFormattingFAQ]]. You can also refer to a different web and use anchors. </td>
239     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
240 [[wiki syntax]]
241
242 [[Main.TWiki users]]
243 </pre> </font></span></td>
244     <td valign="top">[[Main/WikiSyntax]]<p>[[Main/TWikiUsers]]</p>
245     </td>
246   </tr>
247   <tr>
248     <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 (i.e. [[Main/WikiSyntax]]) and external link references (i.e. <a href="http://TWiki.org/" target="_top">http://TWiki.org/</a>) are supported. The same <strong><em>Forced Links</em></strong> rules apply for internal link references. Anchor names can be added as well, like <code>[[WebHome#MyAnchor][go home]]</code> and <code>[[http://www.yahoo.com/#somewhere][Yahoo!]]</code>. </td>
249     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
250 [[WikiSyntax][syntax]]
251
252 [[http://gnu.org][GNU]]
253 </pre> </font></span></td>
254     <td valign="top">[[Main/WikiSyntax]]<p><a href="http://gnu.org" target="_top">GNU</a></p>
255     </td>
256   </tr>
257   <tr>
258     <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>
259     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
260 [[WebHome#NotThere]]
261
262 [[#MyAnchor][Jump]]
263
264 #MyAnchor To here
265 </pre> </font></span></td>
266     <td valign="top">[[Main/WebHome#NotThere]]<p>[[Main/WebHome#MyAnchor]]</p>
267       <p><a name="MyAnchor"></a> To here </p>
268     </td>
269   </tr>
270   <tr>
271     <td valign="top"><strong>Prevent a Link:</strong><br /> Prevent a [[Main/WikiWord]] from being linked by prepending it with the <code>&lt;nop&gt;</code> tag. </td>
272     <td valign="top"><span style="background: #FFFFCC"><font color="#990000"> <pre>
273 &lt;nop&gt;SunOS
274 </pre> </font></span></td>
275     <td valign="top"> SunOS </td>
276   </tr>
277 </table>
278
279 ## <a name="Using HTML"></a> Using HTML
280
281 Most HTML tags will work, but it's almost always preferable not to use HTML, so that the markup remains easy for everyone to edit.
282
283 - HTML 4.01 Reference Specification: <http://www.w3.org/TR/html4/>
284 - Quick reference of all HTML elements: <http://werbach.com/barebones/barebones.html>
285
286 ## <a name="TWiki Variables"></a> TWiki Variables
287
288 Variables are names that are enclosed in percent signs; they get expanded on the fly.
289
290 - `%TOC%` : The table of content, is based on headings in a topic.
291 - `%WEB%` : The current web, is **%WEB%** .
292 - `%TOPIC%` : The current topic name, is **%TOPIC%** .
293 - `%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.
294 - `%INCLUDE{"SomeTopic"}%` : Server side include, includes another topic. The current %WIKITOOLNAME% web is the default web. Example: <code>**%INCLUDE\{"TWiki.TWikiWebsTable"\}%**</code>
295 - There are many more variables, see [[TWikiVariables]].
296
297 ## <a name="&quot;Gotchas&quot; when Editing Text"></a> "Gotchas" when Editing Text
298
299 The formatting rules are fairly simple to use and fast to type. However, there are some things to watch out for:
300
301 - **Q:** Text enclosed in angle brackets like `<filename>` is not displayed. How can I show it as it is?
302   - **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 `'>'`. <br /> Example: Type `'prog &lt;filename&gt;'` to get `'prog <filename>'`.
303
304 - **Q:** Why is the `'&'` character sometimes not displayed?
305   - **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 `'&'`. <br /> Example: Type `'This &amp; that'` to get `'This & that'`.
306
307 - See more [[TextFormattingFAQs]]
308
309 ## <a name="%WIKITOOLNAME% Plugins"></a> %WIKITOOLNAME% Plugins
310
311 Plugins offer additional text formatting rules and extend the functionality of %WIKITOOLNAME%. Currently enabled plugins are:
312
313 - [[SpreadSheetPlugin]] <span>(any TWiki, 10197)</span>:
314 - [[CommentPlugin]] <span>(Dakar, 11359)</span>: Allows users to quickly post comments to a page without an edit/preview/save cycle
315 - [[EditTablePlugin]] <span>(any TWiki, 11646)</span>:
316 - [[InterwikiPlugin]] <span>(Dakar, $Rev: 11935$)</span>:
317 - [[PreferencesPlugin]] <span>(Dakar, 9839)</span>:
318 - [[SlideShowPlugin]] <span>(Any TWiki, $Rev: 12847$)</span>:
319 - [[SmiliesPlugin]] <span>(Dakar, 8154)</span>:
320 - [[TablePlugin]] <span>(1.020, 12339)</span>:
321 - [[TwistyPlugin]] <span>(1.2.0, $Rev: 12154$)</span>:
322
323 Learn more about plugins in [[TWikiPlugins]] and [[TWikiPreferences]].