====== 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 [[config:camelcase|camel-cased]] words. It will find a page with the same name, and turn your text into a link. ====autolink==== [[tips: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==== [[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==== [[plugin:autolink3|Autolink 3]], like [[tips:autolink|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==== [[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 [[:plugin:autotooltip|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.