diff options
-rw-r--r-- | .templates/editpage.tmpl | 47 | ||||
-rw-r--r-- | .templates/newsitem.tmpl | 6 | ||||
-rw-r--r-- | .templates/page.tmpl | 29 | ||||
-rw-r--r-- | ikiwiki.setup | 105 | ||||
-rw-r--r-- | local.css | 6 | ||||
-rw-r--r-- | public_hurd_boxen/installation/darnassus.mdwn | 2 | ||||
-rw-r--r-- | shortcuts.mdwn | 50 |
7 files changed, 193 insertions, 52 deletions
diff --git a/.templates/editpage.tmpl b/.templates/editpage.tmpl index 1ecbd0a9..f43d7232 100644 --- a/.templates/editpage.tmpl +++ b/.templates/editpage.tmpl @@ -18,7 +18,7 @@ <TMPL_VAR FIELD-EDITCONTENT><br /> </div> <TMPL_IF NAME="CAN_COMMIT"> -<label for="editmessage" class="block">Optional comment about this change:</label> +<label for="editmessage" class="block">Optional description of this change:</label> <TMPL_VAR FIELD-EDITMESSAGE><br /> </TMPL_IF> @@ -43,21 +43,52 @@ if there are questions.</p> <TMPL_VAR HELPONFORMATTINGLINK> <TMPL_IF NAME="FIELD-ATTACHMENT"> <a class="toggle" href="#attachments">Attachments</a> +</TMPL_IF> +<TMPL_VAR FIELD-SUBSCRIBE> +<TMPL_IF NAME="FIELD-ATTACHMENT"> <div class="<TMPL_VAR ATTACHMENTS-CLASS>" id="attachments"> -<table> -<tr><td colspan="5"><TMPL_VAR FIELD-ATTACHMENT><TMPL_VAR FIELD-UPLOAD></td></tr> +<div id="fileupload"> +<script> +$(function () { $('#fileupload').fileupload(); }); // initialize upload widget +</script> +<script id="template-upload" type="text/x-jquery-tmpl"> + <tr class="template-upload{{if error}} ui-state-error{{/if}}"> + <td><input type="checkbox" name="attachment_select" value="${name}" />${name}</td> + {{if error}} + <td class="error" colspan="2">failed!</td> + {{else}} + <td class="progress" colspan="2"><div></div></td> + <td class="start"><button>Start</button></td> + {{/if}} + <td class="cancel"><button>Cancel</button></td> + </tr> +</script> +<script id="template-download" type="text/x-jquery-tmpl"> + <tr class="template-download{{if error}} ui-state-error{{/if}}"> + <td><input type="checkbox" checked name="attachment_select" value="${name}" />${name}</td> + <td>${humansize}</td> + {{if error}} + <td class="error" colspan="2">failed!</td> + {{else}} + <td>${stored_msg}</td> + {{/if}} + </tr> +</script> +<div class="fileupload-content"> +<table class="files"> <TMPL_LOOP NAME="ATTACHMENT_LIST"> -<tr><td><TMPL_VAR FIELD-SELECT><TMPL_VAR LINK></td><td><TMPL_VAR SIZE></td><td><TMPL_VAR MTIME></td></tr> +<tr><td><input type="checkbox" name="attachment_select" value="<TMPL_VAR NAME ESCAPE="HTML">" /><TMPL_VAR LINK></td><td><TMPL_VAR SIZE></td><td><TMPL_VAR MTIME></td></tr> </TMPL_LOOP> -<TMPL_IF NAME="ATTACHMENT_LIST"> -<tr><td colspan="2"><TMPL_VAR FIELD-LINK><TMPL_VAR FIELD-RENAME><TMPL_VAR FIELD-REMOVE></td></tr> -</TMPL_IF> </table> </div> +<TMPL_VAR FIELD-ATTACHMENT> +<noscript><TMPL_VAR FIELD-UPLOAD></noscript> +<TMPL_VAR FIELD-LINK><TMPL_VAR FIELD-RENAME><TMPL_VAR FIELD-REMOVE> +</div> +</div> </TMPL_IF> <TMPL_VAR FORM-END> <TMPL_VAR WMD_PREVIEW> - <TMPL_IF NAME="PAGE_PREVIEW"> <hr /> <div class="header"> diff --git a/.templates/newsitem.tmpl b/.templates/newsitem.tmpl index e8a9c861..919200bb 100644 --- a/.templates/newsitem.tmpl +++ b/.templates/newsitem.tmpl @@ -41,6 +41,12 @@ <TMPL_VAR CONTENT> <TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF> +<TMPL_IF ENCLOSURE> +<TMPL_IF HTML5><section id="newsitemenclosure"><TMPL_ELSE><div id="newsitemenclosure"></TMPL_IF> +<a href="<TMPL_VAR ENCLOSURE>">Download</a> +<TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF> +</TMPL_IF> + <TMPL_IF HTML5><footer class="newsitemfooter"><TMPL_ELSE><div class="newsitemfooter"></TMPL_IF> <!-- The saved space is more important that the information this provides. diff --git a/.templates/page.tmpl b/.templates/page.tmpl index 5192138a..44939cb5 100644 --- a/.templates/page.tmpl +++ b/.templates/page.tmpl @@ -21,12 +21,25 @@ <TMPL_ELSE> <link rel="stylesheet" href="<TMPL_VAR BASEURL>local.css" type="text/css" /> </TMPL_IF> + +<TMPL_UNLESS DYNAMIC> <TMPL_IF EDITURL> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="<TMPL_VAR EDITURL>" /> </TMPL_IF> <TMPL_IF FEEDLINKS><TMPL_VAR FEEDLINKS></TMPL_IF> <TMPL_IF RELVCS><TMPL_VAR RELVCS></TMPL_IF> <TMPL_IF META><TMPL_VAR META></TMPL_IF> +<TMPL_LOOP TRAILLOOP> +<TMPL_IF PREVPAGE> +<link rel="prev" href="<TMPL_VAR PREVURL>" title="<TMPL_VAR PREVTITLE>" /> +</TMPL_IF> +<link rel="up" href="<TMPL_VAR TRAILURL>" title="<TMPL_VAR TRAILTITLE>" /> +<TMPL_IF NEXTPAGE> +<link rel="next" href="<TMPL_VAR NEXTURL>" title="<TMPL_VAR NEXTTITLE>" /> +</TMPL_IF> +</TMPL_LOOP> +</TMPL_UNLESS> + </head> <body> @@ -47,9 +60,11 @@ </TMPL_IF> </span> </span> +<TMPL_UNLESS DYNAMIC> <TMPL_IF SEARCHFORM> <TMPL_VAR SEARCHFORM> </TMPL_IF> +</TMPL_UNLESS> <TMPL_IF HTML5></header><TMPL_ELSE></div></TMPL_IF> <TMPL_IF HAVE_ACTIONS> @@ -109,13 +124,19 @@ <TMPL_IF HTML5></nav><TMPL_ELSE></div></TMPL_IF> </TMPL_IF> +<TMPL_UNLESS DYNAMIC> +<TMPL_VAR TRAILS> +</TMPL_UNLESS> + <TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF> +<TMPL_UNLESS DYNAMIC> <TMPL_IF SIDEBAR> <TMPL_IF HTML5><aside class="sidebar"><TMPL_ELSE><div class="sidebar"></TMPL_IF> <TMPL_VAR SIDEBAR> <TMPL_IF HTML5></aside><TMPL_ELSE></div></TMPL_IF> </TMPL_IF> +</TMPL_UNLESS> <div id="pagebody"> @@ -123,6 +144,12 @@ <TMPL_VAR CONTENT> <TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF> +<TMPL_IF ENCLOSURE> +<TMPL_IF HTML5><section id="enclosure"><TMPL_ELSE><div id="enclosure"></TMPL_IF> +<a href="<TMPL_VAR ENCLOSURE>">Download</a> +<TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF> +</TMPL_IF> + <TMPL_UNLESS DYNAMIC> <TMPL_IF COMMENTS> <TMPL_IF HTML5><section id="comments"><TMPL_ELSE><div id="comments"></TMPL_IF> @@ -144,6 +171,8 @@ <TMPL_UNLESS DYNAMIC> <TMPL_IF HTML5><nav id="pageinfo"><TMPL_ELSE><div id="pageinfo"></TMPL_IF> +<TMPL_VAR TRAILS> + <TMPL_IF TAGS> <TMPL_IF HTML5><nav class="tags"><TMPL_ELSE><div class="tags"></TMPL_IF> Tags: diff --git a/ikiwiki.setup b/ikiwiki.setup index b07c582c..27aad971 100644 --- a/ikiwiki.setup +++ b/ikiwiki.setup @@ -56,6 +56,12 @@ IkiWiki::Setup::Standard->import({ cgi_wrapper => $cgi_wrapper, # mode for cgi_wrapper (can safely be made suid) cgi_wrappermode => '06755', + # number of seconds to delay CGI requests when overloaded + #cgi_overload_delay => '', + # message to display when overloaded (may contain html) + #cgi_overload_message => '', + # enable optimization of only refreshing committed changes? + #only_committed_changes => 0, # rcs backend to use rcs => 'git', # plugins to add to the default configuration @@ -84,7 +90,7 @@ IkiWiki::Setup::Standard->import({ discussion => 1, # name of Discussion pages discussionpage => 'Discussion', - # generate HTML5? (experimental) + # generate HTML5? html5 => 0, # only send cookies over SSL connections? sslcookie => 0, @@ -102,14 +108,16 @@ IkiWiki::Setup::Standard->import({ numbacklinks => 10, # attempt to hardlink source files? (optimisation for large files) hardlink => 1, - # force ikiwiki to use a particular umask - #umask => 022, + # force ikiwiki to use a particular umask (keywords public, group or private, or a number) + #umask => 'public', # group for wrappers to run in #wrappergroup => 'ikiwiki', # extra library and plugin directory libdir => $srcdir.'/.library', # environment variables ENV => {}, + # time zone name + #timezone => 'Europe/Berlin', # regexp of normally excluded files to include #include => '^\\.htaccess$', # regexp of files that should be skipped @@ -118,6 +126,12 @@ IkiWiki::Setup::Standard->import({ wiki_file_chars => '-[:alnum:]+/.:_', # allow symlinks in the path leading to the srcdir (potentially insecure) #allow_symlinks_before_srcdir => 0, + # cookie control + #cookiejar => { + # file => '' + #}, + # set custom user agent string for outbound HTTP requests e.g. when fetching aggregated RSS feeds + #useragent => 'Wget/1.13.4 (linux-gnu)', ###################################################################### # core plugins @@ -207,7 +221,8 @@ IkiWiki::Setup::Standard->import({ ###################################################################### # format plugins - # (creole, highlight, hnb, html, mdwn, otl, rawhtml, textile, txt) + # (creole, highlight, hnb, html, mdwn, otl, po, rawhtml, rst, + # textile, txt) ###################################################################### # highlight plugin @@ -221,17 +236,58 @@ IkiWiki::Setup::Standard->import({ # mdwn plugin # enable multimarkdown features? #multimarkdown => 0, + # disable use of markdown discount? + # Testing on Ubuntu raring with libtext-markdown-discount-perl 0.04-1, + # libmarkdown2 2.1.5a-1, using libtext-markdown-discount-perl instead + # of libtext-markdown-perl introduces quite some (visible) differences + # in how certains things are being rendered, and I'm not interested in + # auditing all our *.mdwn files, so keep using libtext-markdown-perl. + nodiscount => 1, + + # po plugin + # master language (non-PO files) + #po_master_language => 'en|English', + # slave languages (translated via PO files) format: ll|Langname + #po_slave_languages => [qw{fr|Français es|Español de|Deutsch}], + # PageSpec controlling which pages are translatable + #po_translatable_pages => '* and !*/Discussion', + # internal linking behavior (default/current/negotiated) + #po_link_to => 'current', ###################################################################### - # misc plugins - # (filecheck) + # special-purpose plugins + # (osm, underlay) ###################################################################### + # osm plugin + # the default zoom when you click on the map link + #osm_default_zoom => 15, + # the icon shown on links and on the main map + #osm_default_icon => 'ikiwiki/images/osm.png', + # the alt tag of links, defaults to empty + #osm_alt => '', + # the output format for waypoints, can be KML, GeoJSON or CSV (one or many, comma-separated) + #osm_format => 'KML', + # the icon attached to a tag, displayed on the map for tagged pages + #osm_tag_default_icon => 'icon.png', + # Url for the OpenLayers.js file + #osm_openlayers_url => 'http://www.openlayers.org/api/OpenLayers.js', + # Layers to use in the map. Can be either the 'OSM' string or a type option for Google maps (GoogleNormal, GoogleSatellite, GoogleHybrid or GooglePhysical). It can also be an arbitrary URL in a syntax acceptable for OpenLayers.Layer.OSM.url parameter. + #osm_layers => { + # OSM => 'GoogleSatellite' + #}, + # Google maps API key, Google layer not used if missing, see https://code.google.com/apis/console/ to get an API key + #osm_google_apikey => '', + + # underlay plugin + # extra underlay directories to add + #add_underlays => [qw{}], + ###################################################################### # web plugins # (404, attachment, comments, editdiff, edittemplate, getsource, # google, goto, mirrorlist, remove, rename, repolist, search, - # theme, websetup, wmd) + # theme, userlist, websetup, wmd) ###################################################################### # attachment plugin @@ -253,6 +309,8 @@ IkiWiki::Setup::Standard->import({ #comments_allowauthor => 0, # commit comments to the VCS #comments_commit => 1, + # Restrict formats for comments to (no restriction if empty) + #comments_allowformats => 'mdwn txt', # getsource plugin # Mime type for returned source. @@ -261,6 +319,8 @@ IkiWiki::Setup::Standard->import({ # mirrorlist plugin # list of mirrors #mirrorlist => {}, + # generate links that point to the mirrors' ikiwiki CGI + #mirrorlist_use_cgi => 1, # repolist plugin # URIs of repositories containing the wiki's source @@ -272,6 +332,8 @@ IkiWiki::Setup::Standard->import({ # search plugin # path to the omega cgi program #omega_cgi => '/usr/lib/cgi-bin/omega/omega', + # use google site search rather than internal xapian index? + #google_search => 1, # theme plugin # name of theme to enable @@ -288,10 +350,10 @@ IkiWiki::Setup::Standard->import({ ###################################################################### # widget plugins # (calendar, color, conditional, cutpaste, date, format, fortune, - # graphviz, haiku, img, linkmap, listdirectives, map, more, - # orphans, pagecount, pagestats, poll, polygen, postsparkline, - # progress, shortcut, sparkline, table, template, teximg, toc, - # toggle, version) + # graphviz, haiku, headinganchors, img, linkmap, listdirectives, + # map, more, orphans, pagecount, pagestats, poll, polygen, + # postsparkline, progress, shortcut, sparkline, table, template, + # teximg, toc, toggle, version) ###################################################################### # calendar plugin @@ -309,6 +371,7 @@ IkiWiki::Setup::Standard->import({ #teximg_dvipng => '', # LaTeX prefix for teximg plugin #teximg_prefix => '\\documentclass{article} + #\\usepackage[utf8]{inputenc} #\\usepackage{amsmath} #\\usepackage{amsfonts} #\\usepackage{amssymb} @@ -321,11 +384,11 @@ IkiWiki::Setup::Standard->import({ ###################################################################### # other plugins # (aggregate, autoindex, brokenlinks, camelcase, ddate, embed, - # favicon, field, flattr, getfield, goodstuff, htmlbalance, - # localstyle, pagetemplate, pingee, pinger, prettydate, - # recentchanges, recentchangesdiff, relativedate, rsync, - # sidebar, smiley, sortnaturally, tag, testpagespec, underlay, - # ymlfront) + # favicon, field, filecheck, flattr, getfield, goodstuff, + # htmlbalance, localstyle, notifyemail, pagetemplate, pingee, + # pinger, prettydate, recentchanges, recentchangesdiff, + # relativedate, rsync, sidebar, smiley, sortnaturally, tag, + # testpagespec, trail, transient, ymlfront) ###################################################################### # aggregate plugin @@ -334,6 +397,10 @@ IkiWiki::Setup::Standard->import({ # allow aggregation to be triggered via the web? #aggregate_webtrigger => 0, + # autoindex plugin + # commit autocreated index pages + #autoindex_commit => 1, + # camelcase plugin # list of words to not turn into links #camelcase_ignore => [], @@ -377,10 +444,8 @@ IkiWiki::Setup::Standard->import({ tagbase => 'tag', # autocreate new tag pages? #tag_autocreate => 1, - - # underlay plugin - # extra underlay directories to add - #add_underlays => '', + # commit autocreated tag pages + #tag_autocreate_commit => 1, # ymlfront plugin # delimiters of YAML data @@ -216,13 +216,15 @@ a:hover padding: 0.5em 0em; line-height: 1; } -.newsitemcontent +.newsitemcontent, +.newsitemenclosure { padding-left: 0.2em; padding-top: 0.1em; } -.newsitemcontent p +.newsitemcontent p, +.newsitemenclosure p { margin: 0.3em; } diff --git a/public_hurd_boxen/installation/darnassus.mdwn b/public_hurd_boxen/installation/darnassus.mdwn index 6424df71..2d967a78 100644 --- a/public_hurd_boxen/installation/darnassus.mdwn +++ b/public_hurd_boxen/installation/darnassus.mdwn @@ -27,6 +27,8 @@ License|/fdl]]."]]"""]] * libyaml-perl libyaml-syck-perl (for ikiwiki's YAML field plugins) + * libtext-markdown-perl (used instead of libtext-markdown-discount-perl) + * gitweb highlight sudo ln -s ~hurd-web/hurd-web.git /var/lib/git/ diff --git a/shortcuts.mdwn b/shortcuts.mdwn index 1347e853..978cca6c 100644 --- a/shortcuts.mdwn +++ b/shortcuts.mdwn @@ -7,33 +7,33 @@ Some examples of using shortcuts include: \[[!google foo]] \[[!wikipedia War_of_1812]] \[[!debbug 12345]] - Check the \[[!cia ikiwiki desc="CIA page for %s"]]. + Check the \[[!google ikiwiki desc="google search for %s"]]. This page controls what shortcut links the wiki supports. -* [[!shortcut name=google url="http://www.google.com/search?q=%s"]] +* [[!shortcut name=google url="https://encrypted.google.com/search?q=%s"]] * [[!shortcut name=archive url="http://web.archive.org/*/%S"]] -* [[!shortcut name=gmap url="http://maps.google.com/maps?q=%s"]] -* [[!shortcut name=gmsg url="http://groups.google.com/groups?selm=%s"]] -* [[!shortcut name=wikipedia url="http://en.wikipedia.org/wiki/%S"]] -* [[!shortcut name=wikitravel url="http://wikitravel.org/en/%s"]] -* [[!shortcut name=wiktionary url="http://en.wiktionary.org/wiki/%s"]] +* [[!shortcut name=gmap url="https://maps.google.com/maps?q=%s"]] +* [[!shortcut name=gmsg url="https://groups.google.com/groups?selm=%s"]] +* [[!shortcut name=wikipedia url="https://en.wikipedia.org/wiki/%W"]] +* [[!shortcut name=wikitravel url="https://wikitravel.org/en/%s"]] +* [[!shortcut name=wiktionary url="https://en.wiktionary.org/wiki/%s"]] * [[!shortcut name=debbug url="http://bugs.debian.org/%S" desc="Debian bug #%s"]] -* [[!shortcut name=deblist url="http://lists.debian.org/debian-%s" desc="debian-%s@lists.debian.org"]] +* [[!shortcut name=deblist url="https://lists.debian.org/debian-%s" desc="debian-%s@lists.debian.org"]] * [[!shortcut name=debpkg url="http://packages.debian.org/%s"]] * [[!shortcut name=debpkgsid url="http://packages.debian.org/sid/%s"]] * [[!shortcut name=debpts url="http://packages.qa.debian.org/%s"]] -* [[!shortcut name=debmsg url="http://lists.debian.org/msgid-search/%s"]] +* [[!shortcut name=debmsg url="https://lists.debian.org/msgid-search/%s"]] * [[!shortcut name=debrt url="https://rt.debian.org/Ticket/Display.html?id=%s"]] * [[!shortcut name=debss url="http://snapshot.debian.org/package/%s/"]] - * Usage: `\[[!debss package]]` or `\[[!debss package/version]]`. See http://snapshot.debian.org for details. -* [[!shortcut name=debwiki url="http://wiki.debian.org/%s"]] + * Usage: `\[[!debss package]]` or `\[[!debss package/version]]`. See <http://snapshot.debian.org/> for details. +* [[!shortcut name=debwiki url="https://wiki.debian.org/%s"]] * [[!shortcut name=fdobug url="https://bugs.freedesktop.org/show_bug.cgi?id=%s" desc="freedesktop.org bug #%s"]] * [[!shortcut name=fdolist url="http://lists.freedesktop.org/mailman/listinfo/%s" desc="%s@lists.freedesktop.org"]] -* [[!shortcut name=gnomebug url="http://bugzilla.gnome.org/show_bug.cgi?id=%s" desc="GNOME bug #%s"]] -* [[!shortcut name=linuxbug url="http://bugzilla.kernel.org/show_bug.cgi?id=%s" desc="Linux bug #%s"]] +* [[!shortcut name=gnomebug url="https://bugzilla.gnome.org/show_bug.cgi?id=%s" desc="GNOME bug #%s"]] +* [[!shortcut name=linuxbug url="https://bugzilla.kernel.org/show_bug.cgi?id=%s" desc="Linux bug #%s"]] * [[!shortcut name=mozbug url="https://bugzilla.mozilla.org/show_bug.cgi?id=%s" desc="Mozilla bug #%s"]] -* [[!shortcut name=gnulist url="http://lists.gnu.org/mailman/listinfo/%s" desc="%s@gnu.org"]] +* [[!shortcut name=gnulist url="https://lists.gnu.org/mailman/listinfo/%s" desc="%s@gnu.org"]] * [[!shortcut name=marcmsg url="http://marc.info/?i=%s"]] * [[!shortcut name=marclist url="http://marc.info/?l=%s"]] * [[!shortcut name=gmane url="http://dir.gmane.org/gmane.%s" desc="gmane.%s"]] @@ -43,7 +43,7 @@ This page controls what shortcut links the wiki supports. * [[!shortcut name=hoogle url="http://haskell.org/hoogle/?q=%s"]] * [[!shortcut name=iki url="http://ikiwiki.info/%S/"]] * [[!shortcut name=ljuser url="http://%s.livejournal.com/"]] -* [[!shortcut name=rfc url="http://www.ietf.org/rfc/rfc%s.txt" desc="RFC %s"]] +* [[!shortcut name=rfc url="https://www.ietf.org/rfc/rfc%s.txt" desc="RFC %s"]] * [[!shortcut name=c2 url="http://c2.com/cgi/wiki?%s"]] * [[!shortcut name=meatballwiki url="http://www.usemod.com/cgi-bin/mb.pl?%s"]] * [[!shortcut name=emacswiki url="http://www.emacswiki.org/cgi-bin/wiki/%s"]] @@ -53,18 +53,24 @@ This page controls what shortcut links the wiki supports. * [[!shortcut name=gpg url="http://pgpkeys.mit.edu:11371/pks/lookup?op=vindex&exact=on&search=0x%s"]] * [[!shortcut name=perldoc url="http://perldoc.perl.org/search.html?q=%s"]] * [[!shortcut name=whois url="http://reports.internic.net/cgi/whois?whois_nic=%s&type=domain"]] -* [[!shortcut name=cve url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=%s"]] -* [[!shortcut name=cia url="http://cia.vc/stats/project/%s"]] -* [[!shortcut name=ciauser url="http://cia.vc/stats/user/%s"]] -* [[!shortcut name=flickr url="http://www.flickr.com/photos/%s"]] +* [[!shortcut name=cve url="https://cve.mitre.org/cgi-bin/cvename.cgi?name=%s"]] +* [[!shortcut name=flickr url="https://secure.flickr.com/photos/%s"]] * [[!shortcut name=man url="http://linux.die.net/man/%s"]] -* [[!shortcut name=ohloh url="http://www.ohloh.net/projects/%s"]] +* [[!shortcut name=ohloh url="https://www.ohloh.net/p/%s"]] +* [[!shortcut name=cpanrt url="https://rt.cpan.org/Ticket/Display.html?id=%s" desc="CPAN RT#%s"]] +* [[!shortcut name=novellbug url="https://bugzilla.novell.com/show_bug.cgi?id=%s" desc="bug %s"]] +* [[!shortcut name=ubupkg url="http://packages.ubuntu.com/%s"]] +* [[!shortcut name=mozillazinekb url="http://kb.mozillazine.org/%s"]] +* [[!shortcut name=freebsdwiki url="http://wiki.freebsd.org/%s"]] +* [[!shortcut name=hackage url="http://hackage.haskell.org/package/%s"]] To add a new shortcut, use the `shortcut` [[ikiwiki/directive]]. In the url, "%s" is replaced with the text passed to the named shortcut, after [[!wikipedia url_encoding]] -it, and '%S' is replaced with the raw, non-encoded text. The optional -`desc` parameter controls the description of the link. +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 [[ikiwiki/directive]]. Avoid using a `name` that conflicts |