This wiki is locked. Future workgroup activity and specification development must take place at our new wiki. For more information, see this blog post about the new governance model and this post about changes to the website.

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 WebHome. 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.
  • ALERT! 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.
  • ALERT! 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

Topic revision: r8 - 18 Jul 2007 - 04:58:27 - TWikiContributor
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.WikiWord