Table of Contents
Choosing an Auto-Link plugin
Disclaimer: I am the author of autolink4, so I'm biased. Feel free to correct any inaccuracies, or add additional information.
What is auto-linking
Auto-linking is adding links to test on your wiki, without the need to use wiki markup. For example, you could configure a plugin so that every time the word “Things” appears, it will turn into a link to mywiki:things.
What do the plugin names mean?
Each autolink plugin was created by a different person. They are not different versions of the same thing. We just weren't clever enough to think of different names.
Built-in functionality
Without any plugins, DokuWiki automatically links camel-cased words. It will find a page with the same name, and turn your text into a link.
autolink
The first autolink is a script which searches your wiki, and replaces text strings with links.
Pros
- Maximum performance: Since there's no plugin involved, there's no impact on page rendering time.
Cons
- Difficult to use: You have to run the script manually or with a cron job.
- Permanent: There's no way to undo it. The data files are permanently changed.
- Not maintained: No one is actively maintaining this plugin.
autolink2
Autolink 2 uses per-page set-up to make linking extremely precise, if a bit tedious.
Pros
- Explicit: Each page you want to link to requires individual set-up on that page. You can decide exactly which pages should auto-link, or even link parts of pages.
- Not error-prone: Other autolink plugins have a risk of linking text you didn't mean to link – for example, text inside of other plugins. Since autolink2 makes you choose exactly what text has replacements, that risk is gone.
- Temporary: Because pages are not modified, you can undo linking just by removing the plugin markup from your pages.
Cons
- Tedious: Because each page requires its own set-up, it's a lot of work to get this plugin configured the way you want.
- Moderate performance: Data has to be gathered from many pages to do linking.
- Not maintained: No one is actively maintaining this plugin.
autolink3
Autolink 3, like Autolink, permanently replaces strings, but it does it with admin configuration, instead of a script.
Pros
- Easy to use: The admin interface makes it easy to add new links, though if you want to add a lot of links at once, you're better off modifying the config file directly.
- High performance: Saving edits can take a little longer, but there's no impact on viewing pages, since links are added permanently.
- Namespace scoping: Replacements can be limited to a given namespace.
Cons
- Permanent: There's no way to undo it. The data files are permanently changed.
- Not maintained: No one is actively maintaining this plugin.
autolink4
Autolink 4 replaces strings dynamically, so there's no permanent change to your pages, and it works with another plugin to create page previews.
Pros
- Easy to use: The admin interface makes it easy to add new links, though you have to be careful to type everything correctly, since it's just a plain text field. It uses CSV, so you can import data from a spreadsheet.
- Flexible: Regular expression characters are supported, so a variety of text can be easily linked. For example, you can link a singular and plural word with the same entry.
- Namespace scoping: Replacements can be limited to a given namespace.
- Temporary: Because pages are not modified, you can undo linking just by removing links from the admin interface.
- Tooltip support: Automatically integrates with the Auto-Tooltip plugin, to display previous of linked pages in tooltips.
- Maintained: This plugin is actively maintained.
Cons
- Moderate performance: Because pages are modified dynamically, it takes longer to render a page with than without this plugin. However, this has been tested with 500 links, and the performance difference was not obvious.
- Limited: Due to the way DokuWiki syntax plugins work, there's a limit to the total number of autolink strings that can be configured on your site. This is somewhere in the 500-1000 range. You also have to do a manual hack if you want non-English character support in regular expressions.