Fog Creek Software
Discussion Board




Wiki question

Do wikis automagically link terms based on identity? Or is there a way to indicate what should link to what?

Philo

Philo
Tuesday, March 23, 2004

Wikis have a concept called WikiWords. Any word that's in MixedCase is considered a WikiWord, and is automatically linked to its appropriate topic. If there is no appropriate topic, it usually gives you a link to create said topic.

Brad Wilson (dotnetguy.techieswithcats.com)
Tuesday, March 23, 2004

If you type a NameInCamelCase in a wiki, that automatically becomes a link to the page named "NameInCamelCase" on the same wiki. If the page doesn't exist, you're prompted to create it.

There are ways to get some wiki software to build links to other web sites; I've just started playing with flexwiki, and in that just type in http://whatever and that gets turned into a hyperlink.

Does that answer your question?

Chris Tavares
Tuesday, March 23, 2004

Mixed cased words are called PascalCase. When a word starts with a lower case letter, but is otherwise mixed case, that's called camelCase (the image to conjure in your mind is the hump in the middle of the camel's back).

Brad Wilson (dotnetguy.techieswithcats.com)
Tuesday, March 23, 2004

From http://c2.com/cgi/wiki?TextFormattingRules:

"JoinCapitalizedWords to make links to Wiki pages"

(Looked it up just to make sure my recollection was correct.)  So, yes.  That's the whole point, apparently.  Kinda neat, thought I haven't used 'em myself.

Rich
Tuesday, March 23, 2004

Just for the record, all the previous replies were posted in the minute or so it took for my entry.  Geez!

Rich
Tuesday, March 23, 2004

Hmmm... so how are the links on this page:
http://en.wikipedia.org/wiki/Centriole
generated? (they're not humpty-cased). Check the link for "spindle" - that's what prompted the inquiry.

Philo

Philo
Tuesday, March 23, 2004

Argh! I always get Camel and Pascal case mixed up. Sorry about that!

I wonder if it's just an aversion to Pascal from my experiences with it in high school?

Chris Tavares
Tuesday, March 23, 2004

"Hmmm... so how are the links on this page:
http://en.wikipedia.org/wiki/Centriole
generated? "

If you hit the "Edit this page" link, you can see that the linked terms are written in the wiki markup as [[biology]]. The double square brackets must be their signal that it's a link.

Chris Tavares
Tuesday, March 23, 2004

looks like they use some [[wacky]] wiki markup

apw
Tuesday, March 23, 2004

ahhh... got it. Still, not a great system, as "spindle" indicates. The humpty-cased method sounds less likely to get wild links...

Philo

Philo
Tuesday, March 23, 2004

As I understand it, part of the deciding factor on what makes a Wiki a Wiki is that it has a stripped-down markup system built-in to it.  That could be [[brackets]] or MixedCaseWords, just something.

Andrew Burton
Tuesday, March 23, 2004

Different wikis use different conventions. Some
turn off camel case by default because it is automatically
makes links out of too much text.

http://www.jspwiki.org is an example of a wiki where
you can encode links in []. You can use phrases for links
[like go here | http://spam.com]. This is better than
camel case imho.

son of parnas
Tuesday, March 23, 2004

For example, the camel case linkification might not work so well if you were talking about using the PalmOne and PalmSource SDKs with the CodeWarrior tools, something I once tried to do cogently.

Ben Combee
Tuesday, March 23, 2004

I think it works quite well in the general case...
But you need a way to mark words one of two ways:
1) Global 'don't make these links'. (e.g. PalmSource should never be a link unless otherwise specified, e.g. [PalmSource])
2) Instance 'don't make this a link', so you can mark a particular word as a word, not a link (e.g. !PalmSource! or something). I'm sure some wiki must already have this feature. On moinmoin, {{{}}} works, but it's not quite the same thing.

mb
Tuesday, March 23, 2004

On c2.com's wiki, you use something like Wiki''''Names to prevent linking.

Giovanni Corriga
Tuesday, March 23, 2004

In twiki, to not link a wiki word, you use <nop>

ThisWikiWordLinks and <nop>ThisOneDoesnt

Andrew Hurst
Tuesday, March 23, 2004

"Do wikis automagically link terms based on identity? Or is there a way to indicate what should link to what?"

This looks like some sort of conceptual confusion.  There are no links among "terms".  What is called a link is
simply a piece of text (or an image) that, when clicked,
sends the browser to a specific page.  So, in a wiki,
you might say that a word on your screen is linked to a
page that describes that word.  By default, a WikiWord
is linked to a page with the same name as the word --
that's "automatic".  But most wikis, including wikipedia,
allow manual specification of which page a word (or phrase) links to, and of course people can make mistakes
when doing things manually.  Perhaps someone did that
in the case of some instance of the word "spindle", but
as you didn't provide a link to the page on which that
word appears, it's not possible to say.

jqb
Tuesday, March 23, 2004

Oops, sorry, you did provide the link.  Well, there are
several possible solutions: a) Edit the page to change
[[spindle]] to spindle, so it won't be a link. b) Add text to the "Spindle" page that covers the biological sense. c) Add a separate page describing biological spindles and link
the word to that. d) Change the "Spindle" page to be a "disambiguating page" where one can click on different links to different senses of "spindle".

Read the various information pages at wikipedia to learn the tradeoffs and preferred approaches among the various approaches.

jqb
Tuesday, March 23, 2004

You can also, depending on the Wiki and it's support/plugins/whatever create categories. In the Wiki I use (Wakka... no particular reason, it's PHP and was around when I needed it) I can put:

CategoryWikiQuestions

on any page, usually at the bottom. It will link to the CategoryWikiQuestions page, and with a small bit of code on that page - along the lines of {CategoryWikiQuestions} - it will show me everything else in that category.

Browse http://en.wikipedia.org/wiki/Main_Page and view the source (not HTML source, Wiki source) on a few pages to get a sense of how these things link together.

All Wiki's should have a way of making CamelCase words not link if you don't want them to.

www.MarkTAW.com
Wednesday, March 24, 2004

Wikis are supposed to have simple syntax, but they get pretty hairy pretty quickly, like trying to handle plurals and forcing links and non-links.  There are pages on Ward's Wiki about how to use six single quotes to keep a word from linking.  Wikis are beautiful idea, but generally seemed to have failed to actually be simple and intuative.  Especially for programmers, who are constantly dealing with text that is already full of markup and special symbols.

Keith Wright
Wednesday, March 24, 2004

*  Recent Topics

*  Fog Creek Home