aboutsummaryrefslogtreecommitdiff
path: root/doc/plugins/contrib/shortcuts.mdwn
blob: 46fb0f763b36b0dc2a07a454e27d391ad8e69bcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
[[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](http://taquiones.net/files/misc/IkiWiki-Plugin-shortcuts-0.4.tar.gz).

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](http://taquiones.net/files/misc/IkiWiki-Plugin-shortcuts-0.3.tar.gz).