The wiki Link Pattern does not allow single words to be links. The first problem is that people think this is a problem. (Don't they get it? We like to double things: quotes, hyphens, words, even wiki in Wiki Wiki.)
Link Pattern suggests one write at least two words which are more specific than a single word, e.g. Java Language instead of Java.
Sometimes the Wiki Single Word Problem results in anomalies like:
The Wiki Single Word Problem is probably the most important (or perhaps the only one) of the Wiki Name Disadvantages, though there are Wiki Name Advantages, too.
Workarounds
Append a general category. Example:
Jboss Server, Delphi Language.
Make the name more specific. Example:
What Is Refactoring or How To Refactor. Cons: limits the contexts in which it can be used, e.g. "While What Is Refactoring my code yesterday..."
Kludge the capitalization. Examples:
Del Phi, Re Factoring.
For nouns, prepend an article. Example:
TheUsa.
Double the word. Example:
RefactoringRefactoring.
Currying Schonfinkelling instead of Currying
Acronyms offer more alternatives:
Expand. Example:
United States Of America. Cons: Some acronyms don't mean anything. VHS, for example doesn't have an expanded meaning. [That may not be correct: According to Wiki Pedia (at en.wikipedia.org ), VHS stands for "Video Home System."--Steve (www.progressiveportal.org )] Same for DVD, PHP, C, C++... Really? Surely VHS is Video Home System and DVD is Digital Versatile Disc. Aside: Officially the DVD cartel undefined the acronym, after standing for both Video disc and then Versatile disk. Like BP no longer standing for British Petroleum but just BP.
Use Wiki Alphabet substitutions. Example:
Cee Plus Plus, Jay Boss. Cons: PHP becomes Pee Aitch Pee, which is both Dis Turbing and Non Descriptive. Plus, Cee is still not a Wiki Word.
On the other hand, there's always Cee Language...
Suggested Technical Fixes
Free Links (i.e., allowing What Is Refactoring to appear as "Refactoring")
Some subtle changes of the Link Pattern used ('1' stand for uppercase letters, '0' for lowercase; shortest Link Pattern is given):
\b([A-Z][a-z]+){2,}\b # '1010' - seems to be the current LinkPattern \b([A-Z][a-z]*){2,}[a-z]\b # '110' - would allow DoubleCapitalization; lowercase is still required to make it a link \b([A-Z][a-z]*){2,}\b # '11' - would allow DoubleCapitalization \b([A-Z][a-z]+)+\b # '10' - would allow linking of single words; as long as they start with an UpperCase letter
The first alternative would allow CPlusPlus to be a link, the second one would allow PHP to be a link as well. The third alternative would pose some serious problems, since we would need to disambiguate words capitalised for syntactic reasons (start of the sentence) from those capitalised for linking purposes. -- Aalbert Torsius
Q: Related: Why is double capitalization a problem? (DennisOHara, SwimmingInALake) -- Kurt George Gjerde
A: It is not a problem if you do not wish to make the Double Capitalized Word a Link. While some wikis see these as links, this one does not.
Sometimes a word starts with a Greek or Latin particle. Re-Factor comes to mind. If you can identify such words, presto, a new Wiki Word (ie, the obvious Wiki Word for something like Re-Factor is Re Factor) -Juan Pablo Nunnez Rojas.
ok, I will try Re Factoring and Refactoring and reFactoring and REFACTORING
how'bout Re Glenning or Re Glenning? (with a ?)
What about McKinley? Six Single Quotes.
I seriously think that also wiki pages should be as readable as standard text. That means to get rid of the wiki words when the text is presented for reading.
I suggest that a word ending with _? (wiki_?) are made into a hyperlink and likewise a group of words joined with one underscore and ending in _? (long_wiki_word_?). The link is presented with the joining underscores replaced by spaces and the final _? removed if the target exists and with the usual question mark if it doesn't.
Camel case and wiki words are distracting. (The solution is to use Media Wiki.)
Hans
But that would reduce the chance of a Happy Collision.
Some special markup (underscores?) to force a single word to be wikiwordified? (eg. _Example_)
Contributors: Fredrik Breivald, Karl Knechtel
See original on c2.com