Table of Contents
Compatible with DokuWiki
- 2022-07-31 "Igor" no
- 2020-07-29 "Hogfather" unknown
- 2018-04-22 "Greebo" unknown
- 2017-02-19 "Frusterick Manners" unknown
Similar to lampshade
LinkBonus1) is an experimental plugin undergoing development right now (as of 2010/11/12) that extends the standard DokuWiki syntax for links in order to include some extra features. Namely, it implements at least the features indicated in the linkbonus Introduction thread at the forums:
- ability to set both the link name and tooltip
- ability to automatically fetch the name from the external page
- ability to display a visual indication if the external webpage is not available
- ability to display the favicon of the remote site (see tweaking section)
- ability to enter some formatting, such as italics, in links (see tweaking section)
It also implements some other minor features which are explained below.
TAKE WARNING: This plugin is experimental and is not considered stable – it doesn't even have a definitive name. Using this extended syntax will slow page loading as data fetch must be performed, and will incur also in an overhead of outgoing connections. Use under your own risk.
Once the major release is out this page will be deleted and you will be advised to remove this plugin before installing the definitive version.
A courtesy of your friendly DokuWiki plugin developer
Peter Parker Spiderman Luis Machuca Bezzaza — 2010/11/12
Download and Installation
Search and install the plugin using the Extension Manager. Refer to Plugins on how to install plugins manually.
It is recommended to clean your DokuWiki cache right after installing or updating this plugin.
Syntax and Usage
To use this plugin simply extend the normal DokuWiki syntax for links with extra parameters:
External Link Syntax
An external link is like a standard link pointing to somewhere in the Web and accepts the HTTP and HTTPS protocols.
[[http://some.domain.tld/my/page | Link Name | <Link Tooltip> | <extra parameters>]]
Server Link Syntax
A server link is a link that resolves relative to the root of the webserver where DokuWiki is installed, in a manner similar to that of the baselink plugin.
[[@/my/page | Link Name | <Link Tooltip> | <extra parameters>]]
The extended link syntax has the following components:
- Link Name: the name displayed for the link, the same way as the normal DokuWiki syntax. Special characters that interfere with DokuWiki syntax such as pipes (|) and braces ([ < > ]) can be escaped C-style:
\| \[ \< \> \].
- Link Tooltip: the tooltip that appears when hovering the pointer over the link. No DW syntax is allowed. If left empty, will default to the same content as the Link Name.
- extra parameters are options that will affect the behaviour of the plugin. Parameters are of the form
param=“value”(where value can be empty) and are separated by pipes (|).
If you don't want to specify any extra parameters (or no tooltip for that matter), just leave the corresponding sections blank and terminate the link syntax with a pipe:
[[http://some.domain.tld/my/page | Link Name | Link Tooltip |]]
If the “
fetchname” parameter is present, the plugin will automatically fetch the title of the external page (as specified in the
<TITLE> tag and displayed in the browser's title bar). If the operation fails (eg.: the external link is not a HTML page or the link is not available, or maybe internet connection is down), the normal Link Name is used instead.
The special value
fecthname=“tooltip” causes the fetched title to go into the Link Tooltip instead of the Link Name. The same considerations apply.
Dead or Alive
“Dead or Alive”2) request when the “
doa” parameter is present. In this mode, DokuWiki will try to fetch the external web page and store information about the operation. If the process fails (because eg.: a DNS resolution error or the page no longer exists, or requires authorization) a visual indication consisting of red underlining/border will be used to show the page is not available. Future versions of this plugin will display different warnings for different problem causes.
If the “
favicon” parameter is present and the feature is enabled, DokuWiki will link to and present the favicon of the remote site's domain as the icon for the link, instead of the standard link icon in DokuWiki. This feature does not work in SSL-mode wikis, since doing so would cause a link or fetching of external content.
This feature is disabled by default. See Tweaking to enable it.
class="some_class": sets the CSS class of the link. This class is applied as well as the standard (DokuWiki's)
rel="value": implements rel attributes, like for example
Reserved for Future Use
The following parameters do not work in this version, but can be used and will work as indicated in future versions:
page="blank|self": makes the link open in a new window/tab (
blank) or in the same (
self). Defaults to the Configuration value for link targets.
http://ryan.gulix.cl/tests/doku.php/linkbonus ⇐ Demo Site.
There is another (unofficial) demo site which is my personal wiki , but the version of the plugin there incorporates some features not available in the public versions.
Some features are disabled or controlled. To modify their behaviour, add the required lines to your master configuration file (
$conf['plugin']['linkbonus']['option_name'] = option_value;
|Internal formatting|| ||
|Connection timeout|| Change the
A list of features available can be found at the official demo site.
Note: This plugin does not work with image links.
Note: This plugin does not attempt to check the validity of an external title. If it has invalid characters or tags, this plugin will generate invalid XHTML code.
Note: This plugin will increase page load time and cause a slight overhead on outgoing connections from your server.
- better handling of links with no title (eg.: images?)
- ability for the dead-or-alive mode to detect the cause of the error
- ability to detect whether an internet connection is available and operate accordingly
- ability to work with media links
- interwiki syntax?
- extended scheme syntax? (eg.: FTP, local file)
- a better name (if you have ideas, please fire away! )
Feel free to discuss here; just remember that this plugin is experimental and that it will be eventually superseded by another, much improved and “official”3) version.