MeatballWiki | RecentChanges | Random Page | Indices | Categories

One of the most fascinating properties of the original WikiWikiWeb and most of its followers (systems, clones) is automatic page linking. I'll try to analyze automatic page linking and try to draw a picture about its variations and how to cope with them using AutoLinkStrategies. -- HelmutLeitner

Basically a wiki software does its magic in two steps: recognize page names and decide how to link them.

Everyone knows the most basic form:

  1. recognize CamelCase page names and
  2. link
    1. to existing page or
    2. link to the edit new page form

But both steps have many useful variations.

Recognizing page names:

Automatic word linking is an interesting area. It is often useful (look e. g. into TolkienWiki) and it more or less enforced the idea of positive linking. This means that a link is only created if the corresponding page exists (otherwise this last sentence alone might create 13 begging page links).

Linking may look for single connections:

Linking may use lists to look for matches:

Most but not all of these alternatives come from having subpages enabled.

AutoLinkStrategies now means to configure a wiki to follow a certain definable path in trying to establish links to existing pages.


For example "AutoLinkStrategies=B;D;T;P{list:Glossary FAQ}" might mean:

  1. link to existing page on the same level if it exists
  2. otherwise link to existing subpage if it exists
  3. otherwise link to existing primary page if it exists
  4. otherwise link to existing subpage of page "Glossary" if it exists
  5. otherwise link to existing subpage of page "FAQ" if it exists
  6. otherwise link to an "edit page" with a time-stamped link entry of the (MetaWiki-) Search-Engine(s) that produced zero or more hits

It's clear that one needs an efficient way to check for the existance of the hypothetical page names that the system has to check.

Possible extensions:

Further ideas (some inspired by, though not implemented in, PeriPeri):

Conflict resolution (if you don't want to stop at the first match):

Replace fixed lists in the AutoLinkStrategies by:



Analysis of the PeriPeri spike

Using this way of thinking, the PeriPeri uses special ALS combining:

If this is true one could invent a syntax and specify this as:

A first example of working AutoLinkStrategies can be seen on the page (4 standard wiki page names link according to 4 different options).


MeatballWiki | RecentChanges | Random Page | Indices | Categories
Edit text of this page | View other revisions