summaryrefslogtreecommitdiff
path: root/doc/plugins/contrib/shortcuts.mdwn
blob: 46fb0f763b36b0dc2a07a454e27d391ad8e69bcd (plain)

[[template id=plugin name=shortcuts included=0 author="[[VictorMoral]]"]] [[tag type/format]] [[meta title="shortcuts (third-party plugin)"]]

version 0.4

Following the suggestions of Joey i'm rewriting the module and now the old syntax is not supported.

The plugin process directives as

[[shortcut deb ikiwiki "a good wiki"]]

and transform it in

[a good wiki](http://packages.debian.org/ikiwiki)

It uses a special ikiwiki page named shortcuts.mdwn where to extract the shortcuts definitions from one list, similar to the smileys plugin.

  • DEB http://packages.debian.org
  • rfc http://www.ietf.org/rfc/rfc%s.txt
  • docbook http://www.docbook.org/tdg/en/html/%s.html

If the shortcut name is in uppercase, it is register through hook() function (in lowercase) as a new preprocessor directive. In the above example the ikiwiki page should be

[[deb ikiwiki "a good wiki"]] I need read [[shortcut rfc 14567 "this document"]] before ...

In the URL part of the definition, a %s string will be replaced with the first param of the directive. If it's missing that param will be added to the end of the URL.

By default, the module provides a few shortcuts (not preregistered):

  • deb http://packages.debian.org/%s
  • wiki http://en.wikipedia.org/wiki/%s
  • google http://www.google.com/search?q=%s
  • dbug http://bugs.debian.org/%s
  • cpan http://search.cpan.org/search?mode=dist&query=%s

The new version can be download from here.

Joey, could be merge with your module in any form ?

Again, my apologies for the duplicate efforts.


Note: This plugin is different than the "shortcut" plugin now included in ikiwiki. I'm leaving it here in case people prefer how this one works. --[[Joey]]

shortcuts is a plugin for make external links easy in a ikiwiki page. It filter the raw source code, searching wafl expresions and replacing it for ikiwiki links and not for html links.

Note: my apologies for my poor english, my mother language is the spanish. Any corrections are welcome :-).

In the source page you need include the expresions as:

For my {wiki:UPS} APC i need the {deb:apcupsd} package installed. You can 
found {google:apc linux|many positive responses}.

and after filter this is the result:

For my [UPS](http://en.wikipedia.org/wiki/UPS) i need the 
[apcupsd](http://packages.debian.org/). You can found 
[many positive responses](http://www.google.com/search?q=apc+linux).

If you need escape a walf expression prefix with a backslash character as in:

This is a \{cpan:example}.

This module is inspired in Kwiki::Shortcuts with minor diferences. The wafl expresions are strings between braces with the following elements:

  • one name (followed by one colon character)
  • one o many search terms
  • an optional text for the link

The plugin provides some predefined shortcuts, and it can use a external definitions file. This file is named shortcuts.conf by default, but it can be set with the shortcuts parameter and configuration variable.

The next shortcuts are predefined:

  • google: http://www.google.com/search?q=
  • deb: http://packages.debian.org/
  • dbug: http://bugs.debian.org/
  • cpan: http://search.cpan.org/search?mode=dist&query=
  • wiki: http://en.wikipedia.org/wiki/

Use the external Perl module: URI::Escape and it can be found here.