What is a WikiWord?
A WikiWord consists of two or more words with initial capitals, run together.
WikiWords are topic names. A TWiki topic name always has a fixed format: two or more words with initial capitals, run together. Like the name of the current topic:
WikiWord. When you type the name of a topic, you create a link to that topic. You type
WebHome
and on saving the page this becomes
TWiki. It's as easy as that.
When you type a WikiWord, you establish a hyperlink. It's as easy as that.
WikiWord linking is easy to use:
- You don't have to know the full path to where the topic is stored - you just type the name
- You don't need to write HTML
- Without HTML, the topic text is easier to read when editing
- Easy linking leads to interesting texts with links placed in context
WikiWords are styled like this because:
- It makes Wiki hyperlinks instantly recognizable
- It leads to interesting Wiki topics
- It avoids the need to fiddle with HTML tags
- It avoids over-general topics because at least two words are required
Syntax of a WikiWord
- Uppercase letter(s)
- Lowercase letter(s) or numbers(s)
- Uppercase letter(s)
- Optional lowercase or uppercase letter(s) or number(s)
WikiWord syntax in
Extended Backus.Naur form (EBNF):
wikiWord = upperLetters , lowerNumLetters , upperLetters , { alphaNum } ;
upperLetters = upperCase , { upperCase } ;
lowerNumLetters = lowerNum , { lowerNum } ;
alphaNum = upperCase | lowerCase | digit ;
lowerNum = lowerCase | digit ;
lowerCase = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i"
| "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r"
| "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" ;
upperCase = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I"
| "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R"
| "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" ;
digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
Good examples of WikiWords
- WikiWord
- GoodStyle
- VersionFiveDotThree?
- ReleaseVersion5dot3?
- AVeryLongWikiTopicNameIsAlsoPossible? : wherever an uppercase or lowercase letter is allowed, a group of letters of the same case is allowed
- YearTwoThousand?
- Nine2Five? : Note that numbers are considered to be lowercase letters in WikiWords
Bad examples of WikiWords:
- Web: Name without the uppercase letter(s), lowercase letter(s), uppercase letter(s) sequence
- 5TWiki: Name beginning with a number
- Know-How: Name with dashes in between
Variations in linking
When you write the name of a topic, it becomes a link. There are more ways
- To write a custom link label, use bracket notation:
[[TWikiAccessControl][access control]]
- this becomes: access control
- To link to a topic in another web, write:
Sandbox.WebSearch
- this becomes: WebSearch?
- To link to a topic in another subweb write:
Sandbox.Subweb.WebSearch
.
- To show the web name in the link use bracket notation:
[[Sandbox.WebHome]]
- this becomes: Sandbox.WebHome?
- To link to a topic on another Wiki site, use:
TWiki:Main/WebHome
- this becomes: TWiki:Main/WebHome (sites are defined in the InterwikiPlugin)
- To link to a part on the same page, write a "#" followed by the name of an anchor. The anchor is a "#" followed by a name which must be a WikiName. Example
#MyAnchor
. You can also link to an anchor on another page: TWiki.WebHome#MyAnchor
.
- To link to a header on the same page, write a "#" followed by the header text, with spaces replaced by underscores (and
!
removed): [[#Good_examples_of_WikiWords]]
becomes: #Good_examples_of_WikiWords. You can also link to a header on another page: TWiki.WebHome#Disclaimer
becomes: WebHome#Disclaimer.
Hints
- Insert WikiWords wherever you can. Rich linking helps to make a Wiki successful.
- Be specific. All topics in a web share one name space. For example, instead of
FunctionalSpec
write BreadSlicerFunctionalSpec
because other projects might also have a functional spec topic.
- To stop a WikiWord from being turned into a hyperlink, insert an exclamation point immediately before the WikiWord. For example, write
!SunOS
to get SunOS.
- Create topics with singular names. Plural WikiWords are automatically linked to the singular topic, i.e. the link WikiWords links to the topic WikiWord (works only in English).
- Sometimes you have to be creative to find a good WikiName. Examples:
- To create a topic about the the Bread Slicer 1.2 product, use
BreadSlicer1dot2
or BreadSlicer1pt2
, but not BreadSlicer1.2
.
- Numbers are considered lowercase which makes
Year2K
and Y2K
WikiWords but not Y2000
and Y2k
.
- Turn acronyms into WikiWords, i.e. take
FaqIndex
for a "FAQ index" topic.
- It is possible to turn off the auto-linking of WikiWords and to rely only on the bracket notation. See NOAUTOLINK setting in TWikiPreferences#Default_Web_Preferences.
- When linking to a WebHome topic in another web, the link will be rendered as the name of the web, e.g.
Sandbox.WebHome
becomes Sandbox? .
- Dots (.) are used as seperators between webs, subwebs, and topics. It is not possible to use dots in topic names. TWiki does not attempt to guess if a dot could be part of a topic name.
Related Topics: WikiSyntax,
TextFormattingRules
--
Contributors: TWiki:Main.PeterThoeny,
TWiki:Main.ArthurClemens,
TWiki:Main.CrawfordCurrie