DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:linkbonus

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
plugin:linkbonus [2010-09-01 23:21] ryan.chappelleplugin:linkbonus [2023-12-21 15:38] (current) – new download url Aleksandr
Line 1: Line 1:
-====== linkbonus plugin ======+====== linkbonus Plugin ======
  
 ---- plugin ---- ---- plugin ----
Line 6: Line 6:
 email      : luis.machuca [at] gulix.cl  email      : luis.machuca [at] gulix.cl 
 type       : Syntax type       : Syntax
-lastupdate : 2010-04-10 +lastupdate : 2010-11-12 
-compatible : +compatible : 2013-05-10a "Weatherwax", !Igor
 depends    :  depends    : 
 conflicts  : baselink conflicts  : baselink
 similar    :  similar    : 
-tags       : links, !experimental, !maybe.broken+tags       : links, !experimental
  
-downloadurl: http://ryan.gulix.cl/tests/lib/exe/fetch.php/dw-linkbonus-003.zip +downloadurl: https://trello.com/1/cards/5afdcb2ac4407c4f906b3038/attachments/5afdcb48bc5592f59426234c/download/dw-linkbonus-004.zip 
-bugtracker : # eg. http://github.com/ryan.chappelle/dokuwiki-plugin-linkbonus/issues +bugtracker :  
-sourcerepo : # eg. http://github.com/ryan.chappelle/dokuwiki-plugin-linkbonus/+sourcerepo : 
 donationurl:  donationurl: 
 +
 +screenshot_img: 
 ---- ----
  
-**LinkBonus**((tentative name)) 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 **[[http://forum.dokuwiki.org/thread/5026|linkbonus Introduction Thread]]** at the forums: +**LinkBonus**((tentative name)) 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 [[https://forum.dokuwiki.org/d/5026|linkbonus Introduction thread]] at the forums: 
  
   - ability to set both the link name and tooltip   - ability to set both the link name and tooltip
   - ability to automatically fetch the name from the external page   - 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 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. 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__.+:!: **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. 
  
-A courtesy of your friendly DokuWiki plugin developer <del>Peter Parker</del> <del>Spiderman</del>  //[[luis.machuca@gulix.cl|Luis Machuca]]  ---2010/04/10//+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 <del>Peter Parker</del> <del>Spiderman</del>  //[[user>ryan.chappelle|Luis Machuca Bezzaza]] --- 2010/11/12//
  
 ===== Download and Installation ===== ===== Download and Installation =====
  
-Download and install the plugin using the [[plugin:plugin|Plugin Manager]] using the URL given above. Refer to [[:Plugins]] on how to install plugins manually.+Search and install the plugin using the [[plugin:extension|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 ===== ===== Syntax and Usage =====
  
-To use this plugin simply extend the normal DokuWiki syntax for __links__ with extra parameters:+To use this plugin simply extend the normal DokuWiki syntax for **links** with extra parameters:
  
-**External Link Syntax**:+=== External Link Syntax ===
  
-An external link is a [[doku>link|standard link]] pointing to somewhere in the Web and accepts the HTTP and HTTPS protocols.+An external link is like a [[:link|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>]]   [[http://some.domain.tld/my/page | Link Name | <Link Tooltip> | <extra parameters>]]
  
-**Server Link Syntax**:+=== 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 [[doku>baselink]] plugin.+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 [[plugin:baselink]] plugin.
  
   [[@/my/page | Link Name | <Link Tooltip> | <extra parameters>]]   [[@/my/page | Link Name | <Link Tooltip> | <extra parameters>]]
  
 +=====  =====
  
-The link has the following components:+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 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: ''%%\| \[ \< \> \]%%''.
Line 62: Line 71:
   [[http://some.domain.tld/my/page | Link Name | Link Tooltip |]]   [[http://some.domain.tld/my/page | Link Name | Link Tooltip |]]
  
-=== Parameters ====+==== 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.+=== fetchname === 
 + 
 +  fetchname="[tooltip|title]" 
 + 
 +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. 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.+=== Dead or Alive ===
  
-**''doa''**: enables "Dead or Alive"((yes, like the videogame saga)) 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.+  doa
  
 +"Dead or Alive"((yes, like the videogame saga)) 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.
  
-__The following parameters do not work in this version, but can be used and will work as indicated in future versions:__+=== Favicon ===
  
-**''page="blank|self"''**: makes the link open in a new window/tab (''blank'') or in the same (''self''). Defaults to the Configuration value for [[doku>config:target|link targets]]. +  favicon
  
-**''rel="value"''**: implements //rel// attributeslike for example nofollow.+If the "''favicon''" parameter is present and the feature is enabledDokuWiki 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.
  
-**''favicon''**: the favicon of the external domain will be displayed as icon instead of the normal icon DokuWiki shows.+:!: This feature is __disabled by default__. See [[#Tweaking]] to enable it. 
 + 
 +=== Other Parameters === 
 + 
 +**''%%class="some_class"%%''**: sets the CSS class of the link. This class is applied as well as the standard (DokuWiki's) ''urlextern'' class. 
 + 
 +**''%%rel="value"%%''**: implements //rel// attributes, like for example ''%%"nofollow"%%''
 + 
 + 
 +=== 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 [[config:target|link targets]]
  
 ===== Demo ===== ===== Demo =====
  
-:!: [[http://ryan.gulix.cl/tests/doku.php/linkbonus]] <= Demo Site. +:!: [[http://ryan.gulix.cl/tests/doku.php/linkbonus]] <= Demo Site. FIXME
  
-There is another (unofficial) demo site which is my [[http://informatica.temuco.udelmar.cl/~lmachuca/dokuwiki-lucho/inicio|personal wiki]], but the version of the plugin there incorporates some features not available in the public versions.+There is another (unofficial) demo site which is my [[http://informatica.temuco.udelmar.cl/~lmachuca/dokuwiki-lucho/inicio|personal wiki]] FIXME, but the version of the plugin there incorporates some features not available in the public versions. 
 + 
 +===== Development Information ===== 
 + 
 +==== Tweaking ==== 
 + 
 +Some features are disabled or controlled. To modify their behaviour, add the required lines to your master configuration file (''$DOKU_CONF/local.php''): 
 + 
 +<code> 
 +$conf['plugin']['linkbonus']['option_name'] = option_value; 
 +</code> 
 + 
 +^ Option        ^ Key   ^ Value    ^ 
 +| [[#Favicon]]  | '''link_favicons'''   | '''true''' to enable the plugin to show favicons; '''false''' (default) to disable. 
 +| Internal formatting  | '''in_formatting'''   | '''true''' (default) to enable italics, deleted and bold inside links,  '''false''' to disable.   | 
 +| Connection timeout   | Change the ''$timeout'' variable in ''common.php'' to a quoted decimal value like %%'1.0'%% (the default). Connections to fetch external titles or check reachability of pages won't take more than this many seconds.   ||
  
-=====Development Information ===== 
  
 ==== Changelog ==== ==== Changelog ====
Line 95: Line 136:
 ==== Known Issues ==== ==== Known Issues ====
  
-**Note**: This plugin does not work with [[doku>images#image_links|image links]].+**Note**: This plugin does not work with [[:images#image_links|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 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.
Line 101: Line 142:
 **Note**: This plugin will increase page load time and cause a slight overhead on outgoing connections from your server. **Note**: This plugin will increase page load time and cause a slight overhead on outgoing connections from your server.
  
-====Future Development====+==== Future Development ====
  
   * better handling of links with no title (eg.: images?)   * better handling of links with no title (eg.: images?)
Line 109: Line 150:
   * interwiki syntax?   * interwiki syntax?
   * extended scheme syntax? (eg.: FTP, local file)   * extended scheme syntax? (eg.: FTP, local file)
-  * favicons! +  * **a better name** (if you have ideas, //please// fire away! ^_^ )
-  __a better name__ (if you have ideas, //please// fire away! ^_^ ) +
- +
- +
-==== Other Developments ==== +
- +
-^ Other Plugins by\\ Luis Machuca B.:   | [[doku>plugin:progrecss]]\\ [[doku>plugin:tooltip]]\\ [[doku>plugin:clock]]\\ [[doku>plugin:divalign2]]\\ [[doku>plugin:countdown]]\\ [[doku>plugin:gil]]\\ [[doku>plugin:hide]]\\ [[doku>plugin:noiewarning]]   |+
  
 ===== Discussion ===== ===== 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"((as a plugin can be)) version. 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"((as a plugin can be)) version.
- 
  
plugin/linkbonus.1283376089.txt.gz · Last modified: 2010-09-01 23:21 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