DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:linkbonus

This is an old revision of the document!


linkbonus plugin

Compatible with DokuWiki

No compatibility info given!

plugin Extended syntax for external links

Last updated on
2010-04-10
Provides
Syntax
Conflicts with
baselink

This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.

Similar to lampshade

Tagged with !experimental, !maybe.broken, links

LinkBonus1) is an experimental plugin undergoing development right now (as of 2010/04/10) 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:

  1. ability to set both the link name and tooltip
  2. ability to automatically fetch the name from the external page
  3. ability to display a visual indication if the external webpage is not available

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 fetchs 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 —2010/04/10

Download and Installation

Download and install the plugin using the Plugin Manager using the URL given above. Refer to Plugins on how to install plugins manually.

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 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 link 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 |]]

Parameters

fetchname: if this 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.

class=“some_class”: sets the CSS class of the link. This class is applied as well as the standard (DokuWiki's) urlextern class.

doa: enables “Dead or Alive”2) mode. 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.

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.

rel=“value”: implements rel attributes, like for example nofollow.

favicon: the favicon of the external domain will be displayed as icon instead of the normal icon DokuWiki shows.

Demo

:!: http://ryan.gulix.cl/doku/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.

Development Information

Changelog

A list of features available can be found at the official demo site.

Known Issues

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.

Future Development

  • 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)
  • favicons!
  • a better name (if you have ideas, please fire away! ^_^ )

Other Developments

Discussion

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.

1)
tentative name
2)
yes, like the videogame saga
3)
as a plugin can be
plugin/linkbonus.1270869515.txt.gz · Last modified: 2010-04-10 05:18 by ryan.chappelle

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki