DokuWiki

It's better when it's simple

User Tools

Site Tools


interwiki

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
Next revisionBoth sides next revision
interwiki [2014-03-16 22:04] Klap-ininterwiki [2022-09-24 00:32] Klap-in
Line 1: Line 1:
 ====== InterWiki Links ====== ====== InterWiki Links ======
-The original idea of InterWiki was to have one large distributed [[wp>Wiki]] over the whole Internet. Today its more of an easy way to link from one wiki to another by having some simple link syntax to accomplish so.+ 
 +The original idea of InterWiki was to have one large distributed [[wp>Wiki]] over the whole Internet. Today it'more of an easy way to link from one wiki to another by having some simple link syntax to accomplish so.
  
 In [[DokuWiki]] this is done by prefixing Wiki [[pagenames]] with a shortcut separated by a ''>'' character. In [[DokuWiki]] this is done by prefixing Wiki [[pagenames]] with a shortcut separated by a ''>'' character.
  
 Examples: Examples:
-| %%[[wp>InterWiki]]%%         | [[wp>InterWiki]]  | links to the English language Wikipedia | +| %%[[wp>InterWiki]]%%    | [[wp>InterWiki]]    | links to the English language Wikipedia                                                                                                                                                                     | 
-| %%[[phpfn>random]]%%         | [[phpfn>random]] | links to a function in the PHP manual | +| %%[[wpfr>InterWiki]]%%    | [[wpfr>InterWiki]]    | links to the French language Wikipedia. Also available: ''wpde'', ''wpes'', ''wppl'', ''wpjp'', ''wpru'', ''wpmeta''                                                                                                                                                                   
-| %%[[google>Wiki]]%%          | [[google>Wiki]] | links to a Google search | +| %%[[phpfn>random]]%%    | [[phpfn>random]]    | links to a function in the PHP manual                                                                                                                                                                       
-| %%[[doku>interwiki]]%%       | [[doku>interwiki]] | links to the DokuWiki wiki  +| %%[[google>Wiki]]%%     | [[google>Wiki]]   | links to a Google search                                                                                                                                                                                    
-      +| %%[[doku>interwiki]]%%  | [[doku>interwiki]]  | links to the DokuWiki wiki                                                                                                                                                                                  
-| %%[[this>feed.php]]%%        | [[this>feed.php]] | links to ''<dokuwiki_data>'' (the webserver directory DokuWiki is installed in)You can use this to construct relative URLs. This example links to the local [[syndication|XML feed]][[this>feed.php]]\\ **''Note:''** The ''.htaccess'' file may tell the web server to refuse to serve certain files or directories in the ''<dokuwiki_data>''-directory.  |+%%[[skype>echo123]]%%   [[skype>echo123]]   | Links that opens Skype, ready to call Skype Test Call (echo123)                                                                                                                                             
 +| %%[[this>feed.php]]%%   | [[this>feed.php]]   | links to your wiki's URLThe example links to the local [[syndication|XML feed]]. ''%%[[this>]]%%'' is a special case and the only interwiki link which **cannot be configured** through any config file.  | 
 +| %%[[rfc>9311]]%%  | [[rfc>9311]]  | links to https://www.rfc-editor.org/rfc/rfc9311                                                                                                                                                                            | 
 +| %%[[man>cp]]%%  | [[man>cp]]  | links to  http://man.cx/                                                                                                                                                                           | 
 +| %%[[amazon>Wikis]]%%  | [[amazon>Wikis]]  | Affiliation link to Amazon. (.de and .uk available too)                                                                                                                                                                           | 
 +| %%[[paypal>id_here]]%%  | [[paypal>id_here]]  | links to PayPal                                                                                                                                                                         | 
 +| %%[[go>pie]]%%  | [[go>pie]]  | Go lucky with first hit on Google                                                                                                                                                                       | 
 +| %%[[user>username]]%%  | [[user>username]]  | Links default to '':user:username'', on dokuwiki.org modified to its forum user profiles.                                                                                                                                                                       | 
 +| %%[[tel>123-456-7890]]%%  | [[tel>123-456-7890]]  | Open phone app to callMore general then callto.                                                                                                                                                                      | 
 +| %%[[callto>0123456789]]%%  | [[callto>0123456789]]  | Callto link to open phone app.                                                                                                                                             |
  
-Here's an example of how to access an arbitrary file in dokuwiki's data/media directory by clicking on an image. It's useful for videos and pdf files.+ 
 + 
 +Here's an example of how to access an arbitrary file in DokuWiki's data/media directory by clicking on an image. It's useful for videos and PDF files.
  
   [[this>lib/exe/fetch.php?media=video.ogg|{{image.png?300}}]]   [[this>lib/exe/fetch.php?media=video.ogg|{{image.png?300}}]]
 +
 +Since DokuWiki [[changes#release_2017-02-19e_frusterick_manners|Release 2017-02-19b "Frusterick Manners"]], interwiki substitution for external images is available.
 +
 + {{ phpfn>images/php.gif?96}}
 +
 +  {{ phpfn>images/php.gif?96}}
  
 ===== Configuring InterWiki Shortcuts ===== ===== Configuring InterWiki Shortcuts =====
 +
 InterWiki shortcuts are defined in two files: InterWiki shortcuts are defined in two files:
-  * the ''[[https://github.com/splitbrain/dokuwiki/blob/master/conf/interwiki.conf|<dokuwiki_conf>/interwiki.conf]]'' file.\\ This is the default file, it contains a few predefined useful shortcuts (more can be found in [[http://usemod.com/intermap.txt]]). It is possible to modify this file, however this could result in your changes being overwritten when upgrading DokuWiki+  * Default included links are in ''[[https://github.com/splitbrain/dokuwiki/blob/master/conf/interwiki.conf|<dokuwiki_conf>/interwiki.conf]]'' file. (more can be found in [[http://usemod.com/intermap.txt]]). Modifications of this file are overwritten on a wiki upgrade
-  * the ''<dokuwiki_conf>/interwiki.local.conf'' file.\\ This is the file to add your own interwiki links. This will prevent the links from being overwritten on an update.+  * Local modifications in ''<dokuwiki_conf>/interwiki.local.conf'' file.\\ This is the file to add your own interwiki links. This will prevent the links from being overwritten on an update.
  
 The interwiki shortcut has to be in lowercase and follow the [[pagename]] rules. The interwiki shortcut has to be in lowercase and follow the [[pagename]] rules.
Line 25: Line 44:
 The format of the interwiki config file is: The format of the interwiki config file is:
  
-  <shortcut>      <url to wiki>+<code - conf/interwiki.local.conf> 
 +<shortcut>   <url to wiki
 +</code> 
 + 
 +Modify existing interwiki links, by reusing the shortcut:<code - conf/interwiki.local.conf> 
 +wp           https://fr.wikipedia.org/wiki/{NAME} 
 +</code> 
 +Or disable by mentioning no link<code - conf/interwiki.local.conf> 
 +wpmeta 
 +</code>
  
 The shortcut is the one you will be able to use in the link later. In the URL you can use some placeholders to be more flexible in linking. If no placeholder is given the [[phpfn>rawurlencode|URL-encoded]] wikiname will be appended to the URL. These placeholders are available: The shortcut is the one you will be able to use in the link later. In the URL you can use some placeholders to be more flexible in linking. If no placeholder is given the [[phpfn>rawurlencode|URL-encoded]] wikiname will be appended to the URL. These placeholders are available:
  
-^ Placeholder ^ Replaced by ^ +^ Placeholder   Replaced by                                                                          
-| {URL}       | URL-encoded wikiname (the part which is appended to the URL in interwiki.local.conf) | +| {URL}        | URL-encoded wikiname (the part which is appended to the URL in interwiki.local.conf)  
-| {NAME}      | wikiname without any encoding | +| {NAME}       | wikiname without any encoding                                                         
-| {SCHEME}    | scheme part if an URL was given as wikiname | +| {SCHEME}     | scheme part if URL was given as wikiname                                           
-| {HOST}      | host part if an URL was given as wikiname | +| {HOST}       | host part if URL was given as wikiname                                             
-| {PORT}      | port part if an URL was given as wikiname | +| {PORT}       | port part if URL was given as wikiname                                             
-| {PATH}      | path part if an URL was given as wikiname | +| {PATH}       | path part if URL was given as wikiname                                             
-| {QUERY}     | query part if an URL was given as wikiname +| {QUERY}      | query part if URL was given as wikiname                                            |
-| '':''<url to wiki> | colon prefixed link is interpreted as an absolute internal wiki link  |+
  
-The last 5 parameters are useful when creating interwikilinks to cachesystems. Refer to the ''coral'' shortcut in the distributed ''interwiki.conf''+The last 5 parameters are useful when creating interwikilinks to cachesystems.  
-Examples of these placeholders can found in the ''<dokuwiki_conf>/interwiki.conf'' file.+ 
 +For configuration changes to take effect on the pages, the [[devel:caching|cache must be purged]]. 
 + 
 +==== Examples ==== 
 + 
 +For example cached links with the old, not longer working, [[wp>Coral Content Distribution Network]] could be used by a ''coral'' shortcut, defined using a couple of placeholders: 
 + 
 +<code - conf/interwiki.local.conf> 
 +coral http://{HOST}.{PORT}.nyud.net:8090{PATH}?{QUERY} 
 +</code> 
 + 
 +For example, [[https://wiki.ubuntu.com/|Ubuntu's wiki]] uses namespaces and pagenames like this ''LaptopTestingTeam/ToshibaPortegeM700'' and without using ''{NAME}'' as a placeholder in your interwiki.local.conf file, you'll get a "Not Found" error on their wiki, because it'll interpret the forward slash as a ''%2F'' ; so what you can do is add this line to your interwiki.local.conf: 
 + 
 +<code - conf/interwiki.local.conf
 +ubuntu   https://wiki.ubuntu.com/{NAME} 
 +</code>
  
-For example, [[https://wiki.ubuntu.com/|Ubuntu's wiki]] uses namespaces and pagenames like this "LaptopTestingTeam/ToshibaPortegeM700" and without using {NAME} as a placeholder in your interwiki.local.conf file, you'll get a Not Found error on their wiki, because it'll interpret the forward slash as a %2F ; so what you can do is add this line to your interwiki.local.conf: 
-<code>ubuntu https://wiki.ubuntu.com/{NAME}</code> 
 and now create your link to it like this: and now create your link to it like this:
-<code>[[ubuntu>LaptopTestingTeam/ToshibaPortegeM700|Ubuntu Linux on Toshiba Portege M700 Tablet]]</code> 
  
 +<code>[[ubuntu>LaptopTestingTeam/ToshibaPortegeM700|Ubuntu on Toshiba Portege M700 Tablet]]</code>
 +
 +If the wikiname will already include encoded characters (ex: ''%26'' for ''&'') use {PATH} in your interwiki.local.conf definition.
 +
 +==== Inter(n)wiki links ====
 +
 +To refer to certain namespaces within you own wiki:((Note: the link would always appear as if the page already exists. No 'preprove'.))
 +
 +<code - conf/interwiki.local.conf>
 +<shortcut>      <dokuwiki_root>:ns:..:
 +</code>
 +
 +For example: <code - conf/interwiki.local.conf>
 +enlib     doku.php?id=:en:lib:
 +</code> would address pages in the namespace '':en:lib:pagename'' if using the link syntax ''%%[[enlib>pagename]]%%''.
  
 ===== Configuring InterWiki Shortcut Icons ===== ===== Configuring InterWiki Shortcut Icons =====
 +
 Interwiki icons should have a size of 16x16 pixels, be in PNG or GIF format, and be named after the shortcut. Interwiki icons should have a size of 16x16 pixels, be in PNG or GIF format, and be named after the shortcut.
   * ''<dokuwiki_root>/lib/images/interwiki''\\ The directory to place the image files in.   * ''<dokuwiki_root>/lib/images/interwiki''\\ The directory to place the image files in.
Line 61: Line 116:
  
 If you want to disable all or some kind of link icons, refer to [[tips:disabling link icons]]. If you want to disable all or some kind of link icons, refer to [[tips:disabling link icons]].
 +
 +===== Using the number sign/hash (#), not as comment =====
 +Because it is reserved to mark a comment line, a hash (''#'') needs to be escaped by a backslash (''\#'').
 +
 +e.g. if you are using the name of your interwiki in the fragment part of your URL, you need to escape it.
 +
 +Example:
 +  * Configuration<file - conf/interwiki.local.conf>
 +postconf  http://www.postfix.org/postconf.5.html\#{NAME}
 +</file>
 +  * Usage<code>
 +[[postconf>smtpd_tls_received_header]]
 +</code>
  
  
 =====See also===== =====See also=====
 +
 +  * [[tips:interwiki_shortcuts|Additional InterWiki Shortcuts]]
   * [[config|Configuring DokuWiki]]   * [[config|Configuring DokuWiki]]
interwiki.txt · Last modified: 2022-10-31 23:30 by Aleksandr

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