This wiki has shortcuts enabled.

Some examples of using shortcuts include:

[[!google  foo]]
[[!wikipedia  War_of_1812]]
[[!debbug  12345]]
Check the [[!google  ikiwiki desc="google search for %s"]].

This page controls what shortcut links the wiki supports.

  • shortcut google points to https://encrypted.google.com/search?q=%s
  • shortcut archive points to http://web.archive.org/*/%S
  • shortcut gmap points to https://maps.google.com/maps?q=%s
  • shortcut gmsg points to https://groups.google.com/groups?selm=%s
  • shortcut wikipedia points to https://en.wikipedia.org/wiki/%W
  • shortcut wikitravel points to https://wikitravel.org/en/%s
  • shortcut wiktionary points to https://en.wiktionary.org/wiki/%s
  • shortcut debbug points to http://bugs.debian.org/%S
  • shortcut deblist points to https://lists.debian.org/debian-%s
  • shortcut debpkg points to http://packages.debian.org/%s
  • shortcut debpkgsid points to http://packages.debian.org/sid/%s
  • shortcut debpts points to http://packages.qa.debian.org/%s
  • shortcut debmsg points to https://lists.debian.org/msgid-search/%s
  • shortcut debrt points to https://rt.debian.org/Ticket/Display.html?id=%s
  • shortcut debss points to http://snapshot.debian.org/package/%s/
  • shortcut debwiki points to https://wiki.debian.org/%S
  • shortcut debcve points to https://security-tracker.debian.org/tracker/%S
    • also supports Debian bug numbers, packages and whatever the security tracker supports.
  • shortcut fdobug points to https://bugs.freedesktop.org/show_bug.cgi?id=%s
  • shortcut fdolist points to http://lists.freedesktop.org/mailman/listinfo/%s
  • shortcut gnomebug points to https://bugzilla.gnome.org/show_bug.cgi?id=%s
  • shortcut linuxbug points to https://bugzilla.kernel.org/show_bug.cgi?id=%s
  • shortcut mozbug points to https://bugzilla.mozilla.org/show_bug.cgi?id=%s
  • shortcut gnulist points to https://lists.gnu.org/mailman/listinfo/%s
  • shortcut marcmsg points to http://marc.info/?i=%s
  • shortcut marclist points to http://marc.info/?l=%s
  • shortcut gmane points to http://dir.gmane.org/gmane.%s
  • shortcut gmanemsg points to http://mid.gmane.org/%s
  • shortcut cpan points to http://search.cpan.org/search?mode=dist&query=%s
  • shortcut ctan points to http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=%s
  • shortcut hoogle points to http://haskell.org/hoogle/?q=%s
  • shortcut iki points to http://ikiwiki.info/%S/
  • shortcut ljuser points to http://%s.livejournal.com/
  • shortcut rfc points to https://www.ietf.org/rfc/rfc%s.txt
  • shortcut c2 points to http://wiki.c2.com/?%s
  • shortcut meatballwiki points to http://www.usemod.com/cgi-bin/mb.pl?%s
  • shortcut emacswiki points to http://www.emacswiki.org/cgi-bin/wiki/%s
  • shortcut haskellwiki points to http://haskell.org/haskellwiki/%s
  • shortcut dict points to http://www.dict.org/bin/Dict?Form=Dict1&Strategy=&Database=&Query=%s
  • shortcut imdb points to http://imdb.com/find?q=%s
  • shortcut gpg points to http://pgpkeys.mit.edu:11371/pks/lookup?op=vindex&exact=on&search=0x%s
  • shortcut perldoc points to http://perldoc.perl.org/search.html?q=%s
  • shortcut whois points to http://reports.internic.net/cgi/whois?whois_nic=%s&type=domain
  • shortcut cve points to https://cve.mitre.org/cgi-bin/cvename.cgi?name=%s
  • shortcut flickr points to https://secure.flickr.com/photos/%s
  • shortcut man points to http://manpages.debian.org/%s
  • shortcut ohloh points to https://www.ohloh.net/p/%s
  • shortcut cpanrt points to https://rt.cpan.org/Ticket/Display.html?id=%s
  • shortcut novellbug points to https://bugzilla.novell.com/show_bug.cgi?id=%s
  • shortcut ubupkg points to http://packages.ubuntu.com/%s
  • shortcut mozillazinekb points to http://kb.mozillazine.org/%s
  • shortcut freebsdwiki points to http://wiki.freebsd.org/%s
  • shortcut hackage points to http://hackage.haskell.org/package/%s
  • shortcut pkgsrc points to http://pkgsrc.se/%S
  • shortcut doi points to http://dx.doi.org/%s
  • shortcut arxiv points to http://arxiv.org/abs/%s

To add a new shortcut, use the shortcut directive. In the url, "%s" is replaced with the text passed to the named shortcut, after url encoding it, and '%S' is replaced with the raw, non-encoded text. Additionally, %W is replaced with the text encoded just right for Wikipedia. The optional desc parameter controls the description of the link.

Remember that the name you give the shortcut will become a new directive. Avoid using a name that conflicts with an existing directive. These directives also accept a desc parameter that will override the one provided at definition time.

If you come up with a shortcut that you think others might find useful, consider contributing it to the shortcuts page on the ikiwiki wiki, so that future versions of ikiwiki will include your shortcut in the standard underlay.

Posted mid-morning Saturday, March 3rd, 2012

The waypoint directive is supplied by the osm plugin.

This directive adds a waypoint ot an OpenStreetMap map displayed by the osm directive. See the osm directive for examples and options.

Posted late Saturday morning, March 3rd, 2012

This is the SandBox, a page anyone can edit to learn how to use the wiki.


Here's a paragraph.

Here's another one with emphasised text.

Header

Subheader

subsubsuheader

This is a blockquote.

This is the first level of quoting.

This is nested blockquote.

Back to the first level.

Numbered list

  1. First item.
  2. Another.
  3. And another..

Bulleted list

  • item
  • item

WikiLink

February 2023
S M T W T F S
      2 3
       
Posted at lunch time on Tuesday, March 13th, 2012

The trailoptions directive is supplied by the trail plugin. It sets options for the trail represented by this page.

[[!trailoptions  sort="meta(title)" circular="no"]]

Options available:

  • sort: sets a sorting order for the entire trail, overriding the order in which they were added

  • reverse: reverses the order of the trail

  • circular: if set to yes or 1, the trail is made into a loop by making the last page's "next" link point to the first page, and the first page's "previous" link point to the last page

Posted at lunch time on Sunday, March 18th, 2012

The traillink directive is supplied by the trail plugin. It generates a visible WikiLink, and also adds the linked page to the trail represented by the page containing the directive.

In its simplest form, the first parameter is like the content of a WikiLink:

[[!traillink  some_other_page]]

The displayed text can also be overridden, either with a | symbol or with a text parameter:

[[!traillink  Click_here_to_start_the_trail|some_other_page]]
[[!traillink  some_other_page text="Click here to start the trail"]]
Posted at lunch time on Sunday, March 18th, 2012

The trailitem directive is supplied by the trail plugin. It is used like this:

[[!trailitem  some_other_page]]

to add some_other_page to the trail represented by this page, without generating a visible hyperlink.

Posted at lunch time on Sunday, March 18th, 2012
osm

The osm directive is supplied by the osm plugin.

This directive inserts an OpenStreetMap map onto a page. It is typically combined with the waypoint directive to add points to the map.

examples

[[!osm ]]
[[!waypoint  lat="45°30N" lon="73°40W" name="My city" tag="city"]]

The osm directive will display the actual map, while the waypoint directive adds waypoints to the map.

The above can also be shortened as:

[[!waypoint  lat="45°30N" lon="73°40W" name="My city" tag="city" embed]]

The tag is also taken from the tags elsewhere in the page, so the above is equivalent to:

[[!waypoint  lat="45°30N" lon="73°40W" name="My city" embed]]
[[!tag  city]]

The icon is also taken from the tag if attached to the tag page as icon.png (default, modifiable)..

map display

  • map - map to display, defaults to "map"
  • zoom - the level to zoom to on the OSM map
  • loc - lattitude and longitude of the map center
  • lat - lattitude
  • lon - longitude
  • editable - add edit controls in a separate layer
  • right - float the map right
  • left - float the map left (default)
  • width - width of the map
  • height - height of the map

waypoints

Waypoints can be added to any page. By default the waypoint takes the name of the page, which allows you to easily tag pages and make them appear on the central map.

Waypoints, by default, show up as a image (the icon parameter) link to the main map (or the map parameter provided). That markup can be hidden with the hidden parameter.

  • name - the name of this point, defaults to the page name (!) must be unique, otherwise later incantation will overwrite previous ones.
  • map - the map to add the point to (defaults to "map")
  • desc - description to embed in the map
  • loc - lattitude and longitude
  • lat - lattitude
  • lon - longitude
  • tag - the type of points, maps to an icon in the osm_types array
  • hidden - do not display the link to the map (will not affect embed)
  • icon - URL to the icon to show in the link to the map and within the map
  • embed - embed the map display alongside the point, in which case the regular arguments to the map display can be used

If two pages with waypoints have a link between them, that link will magically show up on the map. Now how awesome is that?

Posted Sunday evening, March 18th, 2012

Ikiwiki uses many templates for many purposes. By editing its templates, you can fully customise its appearance, and avoid duplicate content.

Ikiwiki uses the HTML::Template module as its template engine. This supports things like conditionals and loops in templates and is pretty easy to learn. All you really need to know to modify templates is this:

  • To insert the value of a template variable, use <TMPL_VAR variable>.
  • To make a block of text conditional on a variable being set use <TMPL_IF variable>text</TMPL_IF>.
  • To use one block of text if a variable is set and a second if it's not, use <TMPL_IF variable>text<TMPL_ELSE>other text</TMPL_IF>

template pages

Template pages are regular wiki pages containing a templatebody directive, used as templates for other pages. The parts of the template page outside the directive can be used to document it.

The template directive allows template pages to be filled out and inserted into other pages in the wiki.

These template pages are currently available:

Add a new template page named:

note

popup

If the template does not contain a templatebody directive, the entire source of the page is used for the template. This is deprecated.

template files

Template files are unlike template pages in that they have the extension .tmpl. Template files are used extensively by Ikiwiki to generate html. They can contain html that would not normally be allowed on a wiki page.

Template files are located in /usr/share/ikiwiki/templates by default; the templatedir setting can be used to make another directory be searched first. Customised template files can also be placed inside the "templates/" directory in your wiki's source -- files placed there override ones in the templatedir.

Here is a full list of the template files used:

  • page.tmpl - Used for displaying all regular wiki pages. This is the key template to customise to change the look and feel of Ikiwiki.

  • rsspage.tmpl - Used for generating rss feeds for blogs.

  • rssitem.tmpl - Used for generating individual items on rss feeds.
  • atompage.tmpl - Used for generating atom feeds for blogs.
  • atomitem.tmpl - Used for generating individual items on atom feeds.
  • inlinepage.tmpl - Used for displaying a post in a blog.
  • archivepage.tmpl - Used for listing a page in a blog archive page.
  • titlepage.tmpl - Used for listing a page by title in a blog archive page.
  • microblog.tmpl - Used for showing a microblogging post inline.
  • blogpost.tmpl - Used for a form to add a post to a blog (and rss/atom links)
  • feedlink.tmpl - Used to add rss/atom links if blogpost.tmpl is not used.
  • aggregatepost.tmpl - Used by the aggregate plugin to create a page for a post.
  • searchform.tmpl, googleform.tmpl - Used by the search plugin and google plugin to add search forms to wiki pages.
  • searchquery.tmpl - This is a Omega template, used by the search plugin.
  • comment.tmpl - Used by the comments plugin to display a comment.
  • change.tmpl - Used to create a page describing a change made to the wiki.
  • recentchanges.tmpl - Used for listing a change on the RecentChanges page.
  • autoindex.tmpl - Filled in by the autoindex plugin to make index pages.
  • autotag.tmpl - Filled in by the tag plugin to make tag pages.
  • calendarmonth.tmpl, calendaryear.tmpl - Used by ikiwiki-calendar to make calendar archive pages.
  • trails.tmpl - Used by the trail plugin to generate links on each page that is a member of a trail.
  • notifyemail.tmpl - Used by the notifymail plugin to generate mails about changed pages.
  • editpage.tmpl, editconflict.tmpl, editcreationconflict.tmpl, editfailedsave.tmpl, editpagegone.tmpl, pocreatepage.tmpl, editcomment.tmpl commentmoderation.tmpl, renamesummary.tmpl, passwordmail.tmpl, emailauth.tmpl, login-selector.tmpl, revert.tmpl - Parts of ikiwiki's user interface; do not normally need to be customised.
Posted late Wednesday evening, March 28th, 2012

The meta directive is supplied by the meta plugin.

This directive allows inserting arbitrary metadata into the source of a page. Enter the metadata as follows:

[[!meta  field="value"]]
[[!meta  field="value" param="value" param="value"]]

The first form sets a given field to a given value, while the second form also specifies some additional sub-parameters. You can have only one field per meta directive, use more directives if you want to specify more fields.

The field values are treated as HTML entity-escaped text, so you can include a quote in the text by writing &quot; and so on.

Supported fields

  • title

    Overrides the title of the page, which is generally the same as the page name.

    Note that if the title is overridden, a "title_overridden" variable will be set to a true value in the template; this can be used to format things differently in this case.

    An optional sortas parameter will be used preferentially when sorting by meta(title):

    [[!meta title="The Beatles" sortas="Beatles, The"]]

    [[!meta title="David Bowie" sortas="Bowie, David"]]

  • license

    Specifies a license for the page, for example, "GPL". Can contain WikiLinks and arbitrary markup.

  • copyright

    Specifies the copyright of the page, for example, "Copyright 2007 by Joey Hess". Can contain WikiLinks and arbitrary markup.

  • author

    Specifies the author of a page.

    An optional sortas parameter will be used preferentially when sorting by meta(author):

    [[!meta author="Joey Hess" sortas="Hess, Joey"]]

  • authorurl

    Specifies an url for the author of a page.

  • description

    Specifies a short description for the page. This will be put in the html header, and can also be displayed by eg, the map directive.

  • keywords

    Specifies keywords summarizing the contents of the page. This information will be put in the html header. Only letters, numbers, spaces and commas are allowed in this string; other characters are stripped. Note that the majority of search engines, including Google, do not use information from the keywords header.

  • permalink

    Specifies a permanent link to the page, if different than the page generated by ikiwiki.

  • date

    Specifies the creation date of the page. This creates a <meta name="date" content="..."> header in the HTML output, but also modifies the internal ctime in the internal index. The date can be entered in nearly any format, since it's parsed by TimeDate but invalid dates yield an error in 3.20180321 or later.

  • stylesheet

    Adds a stylesheet to a page. The stylesheet is treated as a wiki link to a .css file in the wiki, so it cannot be used to add links to external stylesheets. Example:

    [[!meta stylesheet=somestyle rel="alternate stylesheet" title="somestyle"]]

    However, this will be scrubbed away if the htmlscrubber plugin is enabled, since it can be used to insert unsafe content.

  • script

    Adds a script to a page. The script is treated as a wiki link to a .js file in the wiki, so it cannot be used to add links to external scripts. The optional defer and async keywords can be used to set the corresponding HTML4 and HTML5 script options. Example:

    [[!meta script=somescript defer async]]

    The tag is subject to scrubbing as with the stylesheet and link fields.

  • openid

    Adds html <link> tags to perform OpenID delegation to an external OpenID server. This lets you use an ikiwiki page as your OpenID.

    By default this will delegate for both openid and openid2. To only delegate for one, add a parameter such as delegate=openid.

    An optional xrds-location parameter lets you specify the location of any eXtensible Resource DescriptorS.

    Example:

    [[!meta openid="http://joeyh.myopenid.com/" server="http://www.myopenid.com/server" xrds-location="http://www.myopenid.com/xrds?username=joeyh.myopenid.com"]]

  • link

    Specifies a link to another page. This can be used as a way to make the wiki treat one page as linking to another without displaying a user-visible WikiLink:

    [[!meta link=otherpage]]

    It can also be used to insert a html <link> tag. For example:

    [[!meta link="http://joeyh.myopenid.com/" rel="openid.delegate"]]

    However, this latter syntax won't be allowed if the htmlscrubber plugin is enabled, since it can be used to insert unsafe content.

  • enclosure

    Specifies a link to a file to be rendered as an "enclosure" in RSS/Atom feeds (and a plain old link in HTML). Useful for podcasting.

  • redir

    Causes the page to redirect to another page in the wiki.

    [[!meta redir=otherpage]]

    The default is to redirect without delay. Optionally, a delay (in seconds) can be specified: "delay=10"

    It can also be used to redirect to an external url. For example:

    [[!meta redir="http://example.com/"]]

    However, this latter syntax won't be allowed if the htmlscrubber plugin is enabled, since it can be used to insert unsafe content.

    For both cases, an anchor to jump to inside the destination page may also be specified using the common #ANCHOR syntax.

  • robots

    Causes the robots meta tag to be written:

    [[!meta  robots="index, nofollow"]]
    

    Valid values for the attribute are: "index", "noindex", "follow", and "nofollow". Multiple comma-separated values are allowed, but obviously only some combinations make sense. If there is no robots meta tag, "index, follow" is used as the default.

    The value is escaped, but its contents are not otherwise checked.

  • guid

    Specifies a globally unique ID for a page. This guid should be a URI, and it will be used to identify the page's entry in RSS and Atom feeds. If not given, the default is to use the page's URL as its guid.

    This is mostly useful when a page has moved, to keep the guids for pages unchanged and avoid flooding aggregators (see tips/howto avoid flooding aggregators).

  • updated

    Specifies a fake modification time for a page, to be output into RSS and Atom feeds. This is useful to avoid flooding aggregators that sort by modification time, like Planet: for instance, when editing an old blog post to add tags, you could set updated to be one second later than the original value. The date/time can be given in any format that TimeDate can understand, just like the date field and maps to the <meta name="updated" content="..."> HTML header and internal mtime field.

  • foaf

    Adds a Friend of a Friend (FOAF) reference to a page.

    Example:

    [[!meta foaf=foaf.rdf]]

  • name

    Adds a HTML <meta> header with this name attribute. Its other attributes are taken from the other parameters, so for example [[!meta name="foo" content="bar" x-non-standard-attribute="baz"]] becomes <meta name="foo" content="bar" x-non-standard-attribute="baz">. This won't be allowed if the htmlscrubber plugin is enabled, since it can be used to insert unsafe content.

Other fields

If the field is not one of the above predefined fields, the metadata will be written to the generated html page as a <meta> header. For example, [[!meta foo="bar"]] becomes <meta name="foo" content="bar">. As with name, this won't be allowed if the htmlscrubber plugin is enabled.

This syntax cannot be used for meta headers with unusual names, in particular names containing : such as flattr:id and twitter:card. Please use [[!meta name="..." content="..."]] for those headers.

Posted at lunch time on Friday, March 30th, 2012