summaryrefslogtreecommitdiff
path: root/ikiwiki/directive
diff options
context:
space:
mode:
Diffstat (limited to 'ikiwiki/directive')
-rw-r--r--ikiwiki/directive/aggregate.mdwn57
-rw-r--r--ikiwiki/directive/brokenlinks.mdwn15
-rw-r--r--ikiwiki/directive/calendar.mdwn61
-rw-r--r--ikiwiki/directive/color.mdwn26
-rw-r--r--ikiwiki/directive/comment.mdwn38
-rw-r--r--ikiwiki/directive/cutpaste.mdwn50
-rw-r--r--ikiwiki/directive/edittemplate.mdwn38
-rw-r--r--ikiwiki/directive/format.mdwn29
-rw-r--r--ikiwiki/directive/fortune.mdwn9
-rw-r--r--ikiwiki/directive/graph.mdwn24
-rw-r--r--ikiwiki/directive/haiku.mdwn16
-rw-r--r--ikiwiki/directive/if.mdwn49
-rw-r--r--ikiwiki/directive/img.mdwn39
-rw-r--r--ikiwiki/directive/inline.mdwn121
-rw-r--r--ikiwiki/directive/linkmap.mdwn30
-rw-r--r--ikiwiki/directive/listdirectives.mdwn21
-rw-r--r--ikiwiki/directive/map.mdwn22
-rw-r--r--ikiwiki/directive/meta.mdwn174
-rw-r--r--ikiwiki/directive/more.mdwn17
-rw-r--r--ikiwiki/directive/orphans.mdwn16
-rw-r--r--ikiwiki/directive/pagecount.mdwn11
-rw-r--r--ikiwiki/directive/pagestats.mdwn41
-rw-r--r--ikiwiki/directive/pagetemplate.mdwn14
-rw-r--r--ikiwiki/directive/ping.mdwn19
-rw-r--r--ikiwiki/directive/poll.mdwn25
-rw-r--r--ikiwiki/directive/polygen.mdwn12
-rw-r--r--ikiwiki/directive/postsparkline.mdwn47
-rw-r--r--ikiwiki/directive/progress.mdwn18
-rw-r--r--ikiwiki/directive/shortcut.mdwn10
-rw-r--r--ikiwiki/directive/sparkline.mdwn53
-rw-r--r--ikiwiki/directive/table.mdwn51
-rw-r--r--ikiwiki/directive/tag.mdwn36
-rw-r--r--ikiwiki/directive/template.mdwn86
-rw-r--r--ikiwiki/directive/testpagespec.mdwn25
-rw-r--r--ikiwiki/directive/teximg.mdwn24
-rw-r--r--ikiwiki/directive/toc.mdwn27
-rw-r--r--ikiwiki/directive/toggle.mdwn35
-rw-r--r--ikiwiki/directive/version.mdwn13
38 files changed, 1399 insertions, 0 deletions
diff --git a/ikiwiki/directive/aggregate.mdwn b/ikiwiki/directive/aggregate.mdwn
new file mode 100644
index 0000000..f493151
--- /dev/null
+++ b/ikiwiki/directive/aggregate.mdwn
@@ -0,0 +1,57 @@
+The `aggregate` directive is supplied by the [[!iki plugins/aggregate
+desc=aggregate]] plugin. This plugin requires extra setup, specifically, a
+cron job. See the plugin's documentation for details.
+
+This directive allows content from other feeds to be aggregated into the
+wiki. Aggregate a feed as follows:
+
+ \[[!aggregate name="eksempel blog" dir="eksempel"
+ feedurl="http://eksempel.dk/index.rss"
+ url="http://eksempel.dk/" updateinterval="15"]]
+
+That example aggregates posts from the specified RSS feed, updating no more
+frequently than once every 15 minutes (though possibly less frequently, if
+the cron job runs less frequently than that), and puts a page per post under
+the example/ directory in the wiki.
+
+You can then use ikiwiki's [[inline]] directive to create a blog of one or
+more aggregated feeds. For example:
+
+ \[[!inline pages="internal(eksempel/*)"]]
+
+Note the use of `internal()` in the [[ikiwiki/PageSpec]] to match aggregated
+pages. By default, aggregated pages are internal pages, which prevents them
+from showing up directly in the wiki, and so this special [[PageSpec]] is
+needed to match them.
+
+## brug
+
+Here are descriptions of all the supported parameters to the `aggregate`
+directive:
+
+* `name` - A name for the feed. Each feed must have a unique name.
+ Required.
+* `url` - The url to the web page for the feed that's being aggregated.
+ Required.
+* `dir` - The directory in the wiki where pages should be saved. Optional,
+ if not specified, the directory is based on the name of the feed.
+* `feedurl` - The url to the feed. Optional, if it's not specified ikiwiki
+ will look for feeds on the `url`. RSS and atom feeds are supported.
+* `updateinterval` - How often to check for new posts, in minutes. Default
+ is 15 minutes.
+* `expireage` - Expire old items from this feed if they are older than a
+ specified number of days. Default is to never expire on age.
+* `expirecount` - Expire old items from this feed if there are more than the
+ specified number total. Oldest items will be expired first. Default is to
+ never expire on count.
+* `tag` - A tag to tag each post from the feed with. A good tag to use is
+ the name of the feed. Can be repeated multiple times. The [[tag]] plugin
+ must be enabled for this to work.
+* `template` - Template to use for creating the aggregated pages. Defaults
+ to aggregatepost.
+
+Note that even if you are using subversion or another revision control
+system, pages created by aggregation will *not* be checked into revision
+control.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/brokenlinks.mdwn b/ikiwiki/directive/brokenlinks.mdwn
new file mode 100644
index 0000000..b59e18b
--- /dev/null
+++ b/ikiwiki/directive/brokenlinks.mdwn
@@ -0,0 +1,15 @@
+The `brokenlinks` directive is supplied by the [[!iki plugins/brokenlinks
+desc=brokenlinks]] plugin.
+
+This directive generates a list of broken links on pages in the wiki. This
+is a useful way to find pages that still need to be written, or links that
+are written wrong.
+
+The optional parameter "pages" can be a [[ikiwiki/PageSpec]] specifying the
+pages to search for broken links, default is search them all.
+
+Eksempel:
+
+ \[[!brokenlinks pages="* and !recentchanges"]]
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/calendar.mdwn b/ikiwiki/directive/calendar.mdwn
new file mode 100644
index 0000000..22ee91b
--- /dev/null
+++ b/ikiwiki/directive/calendar.mdwn
@@ -0,0 +1,61 @@
+The `calendar` directive is supplied by the [[!iki plugins/calendar
+desc=calendar]] plugin.
+
+This directive displays a calendar, similar to the typical calendars shown
+on some blogs.
+
+# exempler
+
+ \[[!calendar ]]
+
+ \[[!calendar type="month" pages="blog/* and !*/Discussion"]]
+
+ \[[!calendar type="year" year="2005" pages="blog/* and !*/Discussion"]]
+
+## setup
+
+The calendar is essentially a fancy front end to archives of previous pages,
+usually used for blogs. It can produce a calendar for a given month, or a
+list of months for a given year. The month format calendar simply links to
+any page posted on each day of the month. The year format calendar links to
+archive pages, with names like `archives/2007` (for all of 2007) and
+`archives/2007/01` (for January, 2007).
+
+While you can insert calendar directives anywhere on your wiki, including in
+the sidebar, you'll also need to create these archive pages. They typically
+use this directive to display a calendar, and also use [[inline]] to display
+or list pages created in the given time frame.
+
+The `ikiwiki-calendar` command can be used to automatically generate the
+archive pages. It also refreshes the wiki, updating the calendars to
+highlight the current day. This command is typically run at midnight from
+cron.
+
+An example crontab:
+
+ 0 0 * * * ikiwiki-calendar ~/ikiwiki.setup "posts/* and !*/Discussion"
+
+## brug
+
+* `type` - Used to specify the type of calendar wanted. Can be one of
+ "month" or "year". The default is a month view calendar.
+* `pages` - Specifies the [[ikiwiki/PageSpec]] of pages to link to from the
+ month calendar. Defaults to "*".
+* `archivebase` - Configures the base of the archives hierarchy. The
+ default is "archives". Note that this default can also be overridden for
+ the whole wiki by setting `archivebase` in ikiwiki's setup file.
+ Calendars link to pages under here, with names like "2010/04" and
+ "2010". These pages can be automatically created using the
+ `ikiwiki-calendar` program.
+* `year` - The year for which the calendar is requested. Defaults to the
+ current year. Can also use -1 to refer to last year, and so on.
+* `month` - The numeric month for which the calendar is requested, in the
+ range 1..12. Used only for the month view calendar, and defaults to the
+ current month. Can also use -1 to refer to last month, and so on.
+* `week_start_day` - A number, in the range 0..6, which represents the day
+ of the week that the month calendar starts with. 0 is Sunday, 1 is Monday,
+ and so on. Defaults to 0, which is Sunday.
+* `months_per_row` - In the year calendar, number of months to place in each
+ row. Defaults to 3.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/color.mdwn b/ikiwiki/directive/color.mdwn
new file mode 100644
index 0000000..806dcb0
--- /dev/null
+++ b/ikiwiki/directive/color.mdwn
@@ -0,0 +1,26 @@
+The `color` directive is supplied by the [[!iki plugins/color desc=color]]
+plugin.
+
+This directive can be used to color a piece of text on a page. It can be
+used to set the foreground and/or background color of the text.
+
+You can use a color name (e.g. `white`) or HTML code (e.g. `#ffffff`) to
+define colors.
+
+## eksempler
+
+Here the foreground color is defined as a word, while the background color
+is defined as a HTML color code:
+
+ \[[!color foreground=white background=#ff0000 text="Hvid tekst på rød baggrund"]]
+
+The background color is missing, so the text is displayed on default
+background:
+
+ \[[!color foreground=white text="White text on default color background"]]
+
+The foreground is missing, so the text has the default foreground color:
+
+ \[[!color background=#ff0000 text="Default color text on red background"]]
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/comment.mdwn b/ikiwiki/directive/comment.mdwn
new file mode 100644
index 0000000..a9a7c21
--- /dev/null
+++ b/ikiwiki/directive/comment.mdwn
@@ -0,0 +1,38 @@
+The `comment` directive is supplied by the [[!iki plugins/comments
+desc=comments]] plugin, and is used to add a comment to a page. Typically,
+the directive is the only thing on a comment page, and is filled out by the
+comment plugin when a user posts a comment.
+
+Eksempel:
+
+ \[[!comment format=mdwn
+ username="foo"
+ subject="Bar"
+ date="2009-06-02T19:05:01Z"
+ content="""
+ Blah blah.
+ """
+ ]]
+
+## brug
+
+The only required parameter is `content`, the others just add or override
+metadata of the comment.
+
+* `content` - Text to display for the comment. Note that
+ [[directives|ikiwiki/directive]] may not be allowed, depending on the
+ configuration of the comment plugin.
+* `format` - Specifies the markup used for the content.
+* `subject` - Subject for the comment.
+* `date` - Date the comment was posted. Can be entered in nearly any format,
+ since it's parsed by [[!cpan TimeDate]]
+* `username` - Used to record the username (or OpenID) of a logged in
+ commenter.
+* `nickname` - Name to display for a logged in commenter. (Optional; used
+ for OpenIDs.)
+* `ip` - Can be used to record the IP address of a commenter, if they posted
+ anonymously.
+* `claimedauthor` - Records the name that the user entered, if anonymous
+ commenters are allowed to enter their (unverified) name.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/cutpaste.mdwn b/ikiwiki/directive/cutpaste.mdwn
new file mode 100644
index 0000000..ae456a1
--- /dev/null
+++ b/ikiwiki/directive/cutpaste.mdwn
@@ -0,0 +1,50 @@
+The `copy`, `cut` and `paste` directives are supplied by the [[!iki
+plugins/cutpaste desc=cutpaste]] plugin.
+
+With these directives you can store and recall pieces of text in a page:
+
+ * `\[[!cut id=name text="text"]]` memorizes the text allowing to recall it
+ using the given ID. The text being cut is not included in the output.
+ * `\[[!copy id=name text="text"]]` memorizes the text allowing to recall it
+ using the given ID. The text being cut *is* included in the output.
+ * `\[[!paste id=name]]` is replaced by the previously memorized text.
+
+The text being cut, copied and pasted can freely include wiki markup,
+including more calls to cut, copy and paste.
+
+You do not need to memorize the text before using it: a cut directive can
+follow the paste directive that uses its text. In fact, this is quite
+useful to postpone big blocks of text like long annotations and have a more
+natural flow. For example:
+
+ \[[!toggleable id="cut" text="[[!paste id=cutlongdesc]]"]]
+ \[[!toggleable id="copy" text="[[!paste id=copylongdesc]]"]]
+ \[[!toggleable id="paste" text="[[!paste id=pastelongdesc]]"]]
+
+ [...noget tid senere...]
+
+ \[[!cut id=cutlongdesc text="""
+ blah blah blah
+ """]]
+ \[[!cut id=copylongdesc text="""
+ blah blah blah
+ """]]
+ \[[!cut id=pastelongdesc text="""
+ blah blah blah
+ """]]
+
+This can potentially be used to create loops, but ikiwiki is clever and
+breaks them.
+
+Since you can paste without using double quotes, copy and paste can be used
+to nest directives that require multiline parameters inside each other:
+
+ \[[!toggleable id=foo text="""
+ [[!toggleable id=bar text="[[!paste id=baz]]"]]
+ """]]
+
+ \[[!cut id=baz text="""
+ flere linjer lang parameter!
+ """]]
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/edittemplate.mdwn b/ikiwiki/directive/edittemplate.mdwn
new file mode 100644
index 0000000..52581cd
--- /dev/null
+++ b/ikiwiki/directive/edittemplate.mdwn
@@ -0,0 +1,38 @@
+The `edittemplate` directive is supplied by the [[!iki plugins/edittemplate
+desc=edittemplate]] plugin.
+
+This directive allows registering template pages, that provide default
+content for new pages created using the web frontend. To register a
+template, insert a [[ikiwiki/directive/template]] directive on some other
+page.
+
+ \[[!edittemplate template="bugtemplate" match="bugs/*"]]
+
+In the above example, the page named "bugtemplate" is registered as a
+template to be used when any page named "bugs/*" is created. To avoid the
+directive displaying a note about the template being registered, add
+"silent=yes".
+
+Often the template page contains a simple skeleton for a particular type of
+page. For the bug report pages in the above example, it might look something
+like:
+
+ Package:
+ Version:
+ Reproducible: y/n
+ Details:
+
+The template page can also contain [[!cpan HTML::Template]] directives,
+like other ikiwiki [[templates]]. Currently only one variable is
+set: `<TMPL_VAR name>` is replaced with the name of the page being
+created.
+
+----
+
+It's generally not a good idea to put the `edittemplate` directive in the
+template page itself, since the directive would then be included as part of
+the template on new pages, which would then in turn be registered as
+templates. If multiple pages are registered as templates for a new page, an
+arbitrary one is chosen, so that could get confusing.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/format.mdwn b/ikiwiki/directive/format.mdwn
new file mode 100644
index 0000000..a829a58
--- /dev/null
+++ b/ikiwiki/directive/format.mdwn
@@ -0,0 +1,29 @@
+The `format` directive is supplied by the [[!iki plugins/format
+desc=format]] plugin.
+
+The directive allows formatting a chunk of text using any available page
+format. It takes two parameters. First is the type of format to use, ie the
+extension that would be used for a standalone file of this type. Second is
+the text to format.
+
+For example, this will embed an otl outline inside a page using mdwn or some
+other format:
+
+ \[[!format otl """
+ foo
+ 1
+ 2
+ bar
+ 3
+ 4
+ """]]
+
+Note that if the highlight plugin is enabled, this directive can also be
+used to display syntax highlighted code. Many languages and formats are
+supported. For example:
+
+ \[[!format perl """
+ print "hej, verden\n";
+ """]]
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/fortune.mdwn b/ikiwiki/directive/fortune.mdwn
new file mode 100644
index 0000000..496eacd
--- /dev/null
+++ b/ikiwiki/directive/fortune.mdwn
@@ -0,0 +1,9 @@
+The `fortune` directive is supplied by the [[!iki plugins/fortune
+desc=fortune]] plugin.
+
+This just uses the `fortune` program to insert a fortune cookie into the
+page. Usage:
+
+ \[[!fortune ]]
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/graph.mdwn b/ikiwiki/directive/graph.mdwn
new file mode 100644
index 0000000..7473d3e
--- /dev/null
+++ b/ikiwiki/directive/graph.mdwn
@@ -0,0 +1,24 @@
+The `graph` directive is supplied by the [[!iki plugins/graphviz
+desc=graphviz]] plugin.
+
+This directive allows embedding [graphviz](http://www.graphviz.org/) graphs
+in a page. Example usage:
+
+ \[[!graph src="a -> b -> c; a -> c;"]]
+
+Note that graphs will only show up in previews if your browser has
+[[!wikipedia data: URI]] support, or if the same graph already exists on
+that page.
+
+The `graph` directive supports the following parameters:
+
+- `src` - The graphviz source to render.
+- `type` - The type of graph to render: `graph` or `digraph`. Defaults to
+ `digraph`.
+- `prog` - The graphviz program to render with: `dot`, `neato`, `fdp`,
+ `twopi`, or `circo`. Defaults to `dot`.
+- `height`, `width` - Limit the size of the graph to a given height and
+ width, in inches. You must specify both to limit the size; otherwise,
+ graphviz will choose a size, without any limit.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/haiku.mdwn b/ikiwiki/directive/haiku.mdwn
new file mode 100644
index 0000000..43d93b0
--- /dev/null
+++ b/ikiwiki/directive/haiku.mdwn
@@ -0,0 +1,16 @@
+The `haiku` directive is supplied by the [[!iki plugins/haiku desc=haiku]]
+plugin.
+
+This directive allows inserting a randomly generated haiku into a wiki
+page. Just type:
+
+ \[[!haiku hint="argument"]]
+
+[[!haiku hint="argument test"]]
+
+The hint parameter can be omitted, it only provides the generator a hint of
+what to write the haiku about. If no hint is given, it might base it on the
+page name. Since the vocabulary it knows is very small, many hints won't
+affect the result at all.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/if.mdwn b/ikiwiki/directive/if.mdwn
new file mode 100644
index 0000000..955c854
--- /dev/null
+++ b/ikiwiki/directive/if.mdwn
@@ -0,0 +1,49 @@
+The `if` directive is supplied by the [[!iki plugins/conditional
+desc=conditional]] plugin.
+
+With this directive, you can make text be conditionally displayed on a
+page. For example:
+
+[[!if test="enabled(smiley)"
+ then="Smiley-udvidelsen er aktiveret :-)"
+ else="Ingen smiley-udvidelse her..."]]
+
+If the specified `test` succeeds, the `then` text will be displayed,
+otherwise the `else` text will be displayed. The `else` part is optional.
+
+Værdierne `then` og `else` kan indeholde enhver opmærkning som ville være
+tilladt på wikisiden udenfor skabelonen. Trippel-citering af værdien
+tillader endda at bruge citering som del af værdien.
+
+The `test` is a [[ikiwiki/PageSpec]]; if it matches any page in the wiki
+then it succeeds. So you can do things like testing for the existence of a
+page or pages, testing to see if any pages were created in a given month,
+and so on.
+
+If you want the [[ikiwiki/PageSpec]] to only match against the page that
+contains the conditional, rather than matching against all pages in the
+wiki, set the "all" parameter to "no".
+
+I et `if`-direktiv udvides den normale [[ikiwiki/PageSpec]]-syntaks med
+følgende yderligere tests:
+
+* enabled(udvielse)
+
+ Tests whether the specified plugin is enabled.
+
+* sourcepage(glob)
+
+ Tests whether the glob matches the name of the page that contains the
+ conditional.
+
+* destpage(glob)
+
+ Tests whether the glob matches the name of the page that is being built.
+ That might be different than the name of the page that contains the
+ conditional, if it's being inlined into another page.
+
+* included()
+
+ Tests whether the page is being included onto another page.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/img.mdwn b/ikiwiki/directive/img.mdwn
new file mode 100644
index 0000000..a35d79a
--- /dev/null
+++ b/ikiwiki/directive/img.mdwn
@@ -0,0 +1,39 @@
+The `img` directive is supplied by the [[!iki plugins/img desc=img]] plugin.
+
+This is an image handling directive. While ikiwiki supports inlining
+full-size images by making a [[ikiwiki/WikiLink]] that points to the image,
+using this directive you can easily scale down an image for inclusion onto a
+page, providing a link to a full-size version.
+
+## brug
+
+ \[[!img image1.jpg size="200x200" alt="skyer"]]
+
+The image file will be searched for using the same rules as used to find the
+file pointed to by a [[ikiwiki/WikiLink]].
+
+The `size` parameter is optional, defaulting to full size. Note that the
+original image's aspect ratio is always preserved, even if this means making
+the image smaller than the specified size. You can also specify only the
+width or the height, and the other value will be calculated based on it:
+"200x", "x200"
+
+You can also pass `alt`, `title`, `class`, `align`, `id`, `hspace`, and
+`vspace` parameters. These are passed through unchanged to the html img
+tag. If you include a `caption` parameter, the caption will be displayed
+centered beneath the image.
+
+The `link` parameter is used to control whether the scaled image links to
+the full size version. By default it does; set "link=somepage" to link to
+another page instead, or "link=no" to disable the link, or "link=http://url"
+to link to a given url.
+
+You can also set default values that will be applied to all later images on
+the page, unless overridden. Useful when including many images on a page.
+
+ \[[!img defaults size=200x200 alt="bryllupsfoto"]]
+ \[[!img photo1.jpg]]
+ \[[!img photo2.jpg]]
+ \[[!img photo3.jpg size=200x600]]
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/inline.mdwn b/ikiwiki/directive/inline.mdwn
new file mode 100644
index 0000000..92ed13f
--- /dev/null
+++ b/ikiwiki/directive/inline.mdwn
@@ -0,0 +1,121 @@
+The `inline` directive is supplied by the [[!iki plugins/inline
+desc=inline]] plugin.
+
+This is a directive that allows including one wiki page inside another. The
+most common use of inlining is generating blogs and RSS or Atom feeds.
+
+Eksempel:
+
+ \[[!inline pages="blog/* and !*/Discussion" show="10" rootpage="blog"]]
+
+Any pages that match the specified [[PageSpec]] (in the example, any
+[[SubPage]] of "blog") will be part of the blog, and the newest 10 of them
+will appear in the page. Note that if files that are not pages match the
+[[PageSpec]], they will be included in the feed using RSS enclosures, which
+is useful for podcasting.
+
+The optional `rootpage` parameter tells the wiki that new posts to this blog
+should default to being [[SubPages|SubPage]] of "blog", and enables a form
+at the top of the blog that can be used to add new items.
+
+If you want your blog to have an archive page listing every post ever made
+to it, you can accomplish that like this:
+
+ \[[!inline pages="blog/* and !*/Discussion" archive="yes"]]
+
+You can even create an automatically generated list of all the pages on the
+wiki, with the most recently added at the top, like this:
+
+ \[[!inline pages="* and !*/Discussion" archive="yes"]]
+
+If you want to be able to add pages to a given blog feed by tagging them,
+you can do that too. To tag a page, just make it link to a page or pages
+that represent its tags. Then use the special `link()` [[PageSpec]] to match
+all pages that have a given tag:
+
+ \[[!inline pages="link(livet)"]]
+
+Or include some tags and exclude others:
+
+ \[[!inline pages="link(debian) and !link(venner)"]]
+
+## brug
+
+There are many parameters you can use with the `inline` directive. These are
+the commonly used ones:
+
+* `pages` - A [[PageSpec]] of the pages to inline.
+* `show` - Specify the maximum number of matching pages to inline. Default
+ is 10, unless archiving, when the default is to show all. Set to 0 to
+ show all matching pages.
+* `archive` - If set to "yes", only list page titles and some metadata, not
+ full contents.
+* `description` - Sets the description of the rss feed if one is generated.
+ Defaults to the name of the wiki.
+* `skip` - Specify a number of pages to skip displaying. Can be useful to
+ produce a feed that only shows archived pages.
+* `postform` - Set to "yes" to enable a form to post new pages to a blog.
+* `postformtext` - Set to specify text that is displayed in a postform.
+* `rootpage` - Enables the postform, and allows controling where newly
+ posted pages should go, by specifiying the page that they should be a
+ [[SubPage]] of.
+
+Here are some less often needed parameters:
+
+* `actions` - If set to "yes" add links to the bottom of the inlined pages
+ for editing and discussion (if they would be shown at the top of the page
+ itself).
+* `rss` - controls generation of an rss feed. If the wiki is configured to
+ generate rss feeds by default, set to "no" to disable. If the wiki is
+ configured to `allowrss`, set to "yes" to enable.
+* `atom` - controls generation of an atom feed. If the wiki is configured to
+ generate atom feeds by default, set to "no" to disable. If the wiki is
+ configured to `allowatom`, set to "yes" to enable.
+* `feeds` - controls generation of all types of feeds. Set to "no" to
+ disable generating any feeds.
+* `emptyfeeds` - Set to "no" to disable generation of empty feeds. Has no
+ effect if `rootpage` or `postform` is set.
+* `template` - Specifies the template to fill out to display each inlined
+ page. By default the `inlinepage` template is used, while the
+ `archivepage` template is used for archives. Set this parameter to use
+ some other, custom template, such as the `titlepage` template that only
+ shows post titles or the `microblog` template, optimised for
+ microblogging. Note that you should still set `archive=yes` if your custom
+ template does not include the page content.
+* `raw` - Rather than the default behavior of creating a blog, if raw is set
+ to "yes", the page will be included raw, without additional markup around
+ it, as if it were a literal part of the source of the inlining page.
+* `sort` - Controls how inlined pages are [[sorted|pagespec/sorting]]. The
+ default is to sort the newest created pages first.
+* `reverse` - If set to "yes", causes the sort order to be reversed.
+* `feedshow` - Specify the maximum number of matching pages to include in
+ the rss/atom feeds. The default is the same as the `show` value above.
+* `feedonly` - Only generate the feed, do not display the pages inline on
+ the page.
+* `quick` - Build archives in quick mode, without reading page contents for
+ metadata. This also turns off generation of any feeds.
+* `timeformat` - Use this to specify how to display the time or date for
+ pages in the blog. The format string is passed to the strftime(3)
+ function.
+* `feedpages` - A [[PageSpec]] of inlined pages to include in the rss/atom
+ feeds. The default is the same as the `pages` value above, and only pages
+ matched by that value are included, but some of those can be excluded by
+ specifying a tighter [[PageSpec]] here.
+* `guid` - If a URI is given here (perhaps a UUID prefixed with
+ `urn:uuid:`), the Atom feed will have this as its `<id>`. The default is
+ to use the URL of the page containing the `inline` directive.
+* `feedfile` - Can be used to change the name of the file generated for the
+ feed. This is particularly useful if a page contains multiple feeds. For
+ example, set "feedfile=feed" to cause it to generate `page/feed.atom`
+ and/or `page/feed.rss`. This option is not supported if the wiki is
+ configured not to use `usedirs`.
+* `pagenames` - If given instead of `pages`, this is interpreted as a
+ space-separated list of links to pages (with the same
+ [[SubPage/LinkingRules]] as in a [[ikiwiki/WikiLink]]), and they are
+ inlined in exactly the order given: the `sort` and `pages` parameters
+ cannot be used in conjunction with this one.
+
+[[!meta robots="noindex, follow"]]
+
+A related directive is the [[ikiwiki/directive/edittemplate]] directive,
+which allows default text for a new page to be specified.
diff --git a/ikiwiki/directive/linkmap.mdwn b/ikiwiki/directive/linkmap.mdwn
new file mode 100644
index 0000000..9158138
--- /dev/null
+++ b/ikiwiki/directive/linkmap.mdwn
@@ -0,0 +1,30 @@
+The `linkmap` directive is supplied by the [[!iki plugins/linkmap
+desc=linkmap]] plugin.
+
+This directive uses [graphviz](http://www.graphviz.org/) to generate a graph
+showing the links between a set of pages in the wiki. Example usage:
+
+ \[[!linkmap pages="* and !blog/* and !*/Discussion"]]
+
+Only links between mapped pages will be shown; links pointing to or from
+unmapped pages will be omitted. If the pages to include are not specified,
+the links between all pages (and other files) in the wiki are mapped.
+
+Here are descriptions of all the supported parameters to the `linkmap`
+directive:
+
+* `pages` - A [[ikiwiki/PageSpec]] of the pages to map.
+* `height`, `width` - Limit the size of the map to a given height and width,
+ in inches. Both must be specified for the limiting to take effect,
+ otherwise the map's size is not limited.
+* `connected` - Controls whether to include pages on the map that link to no
+ other pages (connected=no, the default), or to only show pages that link
+ to others (connected=yes).
+
+For best results, only a small set of pages should be mapped, since
+otherwise the map can become very large, unwieldy, and complicated. If too
+many pages are included, the map may get so large that graphviz cannot
+render it. Using the `connected` parameter is a good way to prune out pages
+that clutter the map.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/listdirectives.mdwn b/ikiwiki/directive/listdirectives.mdwn
new file mode 100644
index 0000000..0b5047d
--- /dev/null
+++ b/ikiwiki/directive/listdirectives.mdwn
@@ -0,0 +1,21 @@
+The `listdirectives` directive is supplied by the [[!iki
+plugins/listdirectives desc=listdirectives]] plugin.
+
+This directive generates a list of available
+[[directives|ikiwiki/directive]].
+
+ \[[!listdirectives]]
+
+There is one optional keyword argument, `generated`. Normally the
+`listdirectives` directive will list all built in directives and directives
+directly registered by plugins. With this keyword, `listdirectives` will
+also list directives generated later. For example, all [[shortcuts]] are
+directives generated in turn by the `shortcut` directive. They will only be
+listed if the `generated` argument is supplied.
+
+ \[[!listdirectives generated]]
+
+This extended list is often quite long, and often contains many undocumented
+directives.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/map.mdwn b/ikiwiki/directive/map.mdwn
new file mode 100644
index 0000000..a031dc7
--- /dev/null
+++ b/ikiwiki/directive/map.mdwn
@@ -0,0 +1,22 @@
+The `map` directive is supplied by the [[!iki plugins/map desc=map]] plugin.
+
+This directive generates a hierarchical page map for the wiki. Example
+usage:
+
+ \[[!map pages="* and !blog/* and !*/Discussion"]]
+
+If the pages to include are not specified, all pages (and other files) in
+the wiki are mapped.
+
+By default, the names of pages are shown in the map. The `show` parameter
+can be used to show the titles or descriptions of pages instead (as set by
+the [[meta]] directive). For example:
+
+ \[[!map pages="* and !blog/* and !*/Discussion" show=title]]
+
+ \[[!map pages="* and !blog/* and !*/Discussion" show=description]]
+
+Hint: To limit the map to displaying pages less than a certain level deep,
+use a [[ikiwiki/PageSpec]] like this: `pages="* and !*/*/*"`
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/meta.mdwn b/ikiwiki/directive/meta.mdwn
new file mode 100644
index 0000000..6a22430
--- /dev/null
+++ b/ikiwiki/directive/meta.mdwn
@@ -0,0 +1,174 @@
+The `meta` directive is supplied by the [[!iki plugins/meta desc=meta]]
+plugin.
+
+This directive allows inserting arbitrary metadata into the source of a
+page. Enter the metadata as follows:
+
+ \[[!meta felt="værdi"]]
+ \[[!meta felt="værdi" param="værdi" param="værdi"]]
+
+The first form sets a given field to a given value, while the second form
+also specifies some additional sub-parameters.
+
+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
+ [[ikiwiki/pagespec/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
+ [[ikiwiki/pagespec/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.
+
+* permalink
+
+ Specifies a permanent link to the page, if different than the page
+ generated by ikiwiki.
+
+* date
+
+ Specifies the creation date of the page. The date can be entered in
+ nearly any format, since it's parsed by [[!cpan TimeDate]].
+
+* 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="etstilark"]]
+
+* openid
+
+ Adds html &lt;link&gt; 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](http://www.windley.com/archives/2007/05/using_xrds.shtml).
+
+ Eksempel:
+
+ \[[!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
+ [[ikiwiki/WikiLink]]:
+
+ \[[!meta link=enandenside]]
+
+ It can also be used to insert a html &lt;link&gt; tag. For example:
+
+ \[[!meta link="http://joeyh.myopenid.com/" rel="openid.delegate"]]
+
+ However, this latter syntax won't be allowed if the
+ [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled, since it can be used to
+ insert unsafe content.
+
+* redir
+
+ Causes the page to redirect to another page in the wiki.
+
+ \[[!meta redir=otherpage]]
+
+ Optionally, a delay (in seconds) can be specified. The default is to
+ redirect without delay.
+
+ It can also be used to redirect to an external url. For example:
+
+ \[[!meta redir="http://eksempel.dk/"]]
+
+ However, this latter syntax won't be allowed if the
+ [[!iki plugins/htmlscrubber desc=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
+ (in particular, it can be `urn:uuid:` followed by a UUID, as per
+ [[!rfc 4122]]), 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 [[!iki 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
+ [[!cpan TimeDate]] can understand, just like the `date` field.
+
+If the field is not one of the above predefined fields, the metadata will be
+written to the generated html page as a &lt;meta&gt; header. However, this
+won't be allowed if the [[!iki plugins/htmlscrubber desc=htmlscrubber]]
+plugin is enabled, since it can be used to insert unsafe content.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/more.mdwn b/ikiwiki/directive/more.mdwn
new file mode 100644
index 0000000..f9f813a
--- /dev/null
+++ b/ikiwiki/directive/more.mdwn
@@ -0,0 +1,17 @@
+The `more` directive is supplied by the [[!iki plugins/more desc=more]]
+plugin.
+
+This directive provides a way to have a "more" link on a post in a blog,
+that leads to the full version of the page. Use it like this:
+
+ \[[!more linktext="klik for mere" text="""
+ This is the rest of my post. Not intended for people catching up on
+ their blogs at 30,000 feet. Because I like to make things
+ difficult.
+ """]]
+
+If the `linktext` parameter is omitted it defaults to just "more".
+
+Note that you can accomplish something similar using a [[toggle]] instead.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/orphans.mdwn b/ikiwiki/directive/orphans.mdwn
new file mode 100644
index 0000000..d4a1b0c
--- /dev/null
+++ b/ikiwiki/directive/orphans.mdwn
@@ -0,0 +1,16 @@
+The `orphans` directive is supplied by the [[!iki plugins/orphans
+desc=orphans]] plugin.
+
+This directive generates a list of possibly orphaned pages -- pages that no
+other page links to. Example:
+
+ \[[!orphans pages="* and !blog/*"]]
+
+The optional parameter "pages" can be a [[ikiwiki/PageSpec]] specifying the
+pages to check for orphans, default is search them all.
+
+Note that it takes backlinks into account, but does not count inlining a
+page as linking to it, so will generally count many blog-type pages as
+orphans.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/pagecount.mdwn b/ikiwiki/directive/pagecount.mdwn
new file mode 100644
index 0000000..68bc0a0
--- /dev/null
+++ b/ikiwiki/directive/pagecount.mdwn
@@ -0,0 +1,11 @@
+The `pagecount` directive is supplied by the [[!iki plugins/pagecount
+desc=pagecount]] plugin.
+
+This directive counts pages currently in the wiki. Example:
+
+ \[[!pagecount pages="*"]]
+
+The optional parameter "pages" can be a [[ikiwiki/PageSpec]] specifying the
+pages to count, default is to count them all.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/pagestats.mdwn b/ikiwiki/directive/pagestats.mdwn
new file mode 100644
index 0000000..78067ff
--- /dev/null
+++ b/ikiwiki/directive/pagestats.mdwn
@@ -0,0 +1,41 @@
+The `pagestats` directive is supplied by the [[!iki plugins/pagestats
+desc=pagestats]] plugin.
+
+This directive can generate stats about how pages link to each other. It can
+produce either a tag cloud, or a table counting the number of links to each
+page.
+
+Here's how to use it to create a [[tag]] cloud, with tags sized based on
+frequency of use:
+
+ \[[!pagestats pages="tags/*"]]
+
+Here's how to create a list of tags, sized by use as they would be in a
+cloud.
+
+ \[[!pagestats style="list" pages="tags/*"]]
+
+Og sådan her dannes en tabel over alle sider i wikien:
+
+ \[[!pagestats style="table"]]
+
+The optional `among` parameter limits the pages whose outgoing links are
+considered. For instance, to display a cloud of tags used on blog entries,
+while ignoring other pages that use those tags, you could use:
+
+ \[[!pagestats pages="tags/*" among="blog/posts/*"]]
+
+Or to display a cloud of tags related to Linux, you could use:
+
+ \[[!pagestats pages="tags/* and not tags/linux" among="tagged(linux)"]]
+
+The optional `show` parameter limits display to the specified number of
+pages. For instance, to show a table of the top ten pages with the most
+links:
+
+ \[[!pagestats style="table" show="10"]]
+
+The optional `class` parameter can be used to control the class of the
+generated tag cloud `div` or page stats `table`.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/pagetemplate.mdwn b/ikiwiki/directive/pagetemplate.mdwn
new file mode 100644
index 0000000..f357943
--- /dev/null
+++ b/ikiwiki/directive/pagetemplate.mdwn
@@ -0,0 +1,14 @@
+The `pagetemplate` directive is supplied by the [[!iki plugins/pagetemplate
+desc=pagetemplate]] plugin.
+
+This directive allows a page to be displayed using a different
+[[template|templates]] than the default `page.tmpl` template.
+
+The page text is inserted into the template, so the template controls the
+overall look and feel of the wiki page. This is in contrast to the
+[[ikiwiki/directive/template]] directive, which allows inserting templates
+_into_ the body of a page.
+
+ \[[!pagetemplate template="min_smarte.tmpl"]]
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/ping.mdwn b/ikiwiki/directive/ping.mdwn
new file mode 100644
index 0000000..424a848
--- /dev/null
+++ b/ikiwiki/directive/ping.mdwn
@@ -0,0 +1,19 @@
+The `ping` directive is supplied by the [[!iki plugins/pinger desc=pinger]]
+plugin.
+
+This directive allows ikiwiki to be configured to hit a URL each time it
+updates the wiki. One way to use this is in conjunction with the [[!iki
+plugins/pingee desc=pingee]] plugin to set up a loosely coupled mirror
+network, or a branched version of a wiki. By pinging the mirror or branch
+each time the main wiki changes, it can be kept up-to-date.
+
+ \[[!ping from="http://mywiki.com/"
+ to="http://otherwiki.com/ikiwiki.cgi?do=ping"]]
+
+The "from" parameter must be identical to the url of the wiki that is doing
+the pinging. This is used to prevent ping loops.
+
+The "to" parameter is the url to ping. The example shows how to ping another
+ikiwiki instance.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/poll.mdwn b/ikiwiki/directive/poll.mdwn
new file mode 100644
index 0000000..f867a69
--- /dev/null
+++ b/ikiwiki/directive/poll.mdwn
@@ -0,0 +1,25 @@
+The `poll` directive is supplied by the [[!iki plugins/poll desc=poll]]
+plugin.
+
+This directive allows you to create online polls in the wiki. Here's an
+example use:
+
+ \[[!poll 0 "rød" 0 "grøn" 0 "blå"]]
+
+The numbers indicate how many users voted for that choice. When a user votes
+for a choice in the poll, the page is modified and the number incremented.
+
+While some basic precautions are taken to prevent users from accidentially
+voting twice, this sort of poll should not be counted on to be very
+accurate; all the usual concerns about web based polling apply. Unless the
+page that the poll is in is locked, users can even edit the page and change
+the numbers!
+
+Parametre:
+
+* `open` - Whether voting is still open. Set to "no" to close the poll to
+ voting.
+* `total` - Show total number of votes at bottom of poll. Default is "yes".
+* `percent` - Whether to display percents. Default is "yes".
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/polygen.mdwn b/ikiwiki/directive/polygen.mdwn
new file mode 100644
index 0000000..e0734ec
--- /dev/null
+++ b/ikiwiki/directive/polygen.mdwn
@@ -0,0 +1,12 @@
+The `polygen` directive is supplied by the [[!iki plugins/polygen
+desc=polygen]] plugin.
+
+This directive allows inserting text generated by polygen into a wiki page.
+For example:
+
+ \[[!polygen grammar="genius"]]
+
+It's also possible to specify a starting nonterminal for the grammar by
+including `symbol="text"` in the directive.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/postsparkline.mdwn b/ikiwiki/directive/postsparkline.mdwn
new file mode 100644
index 0000000..f2dfa43
--- /dev/null
+++ b/ikiwiki/directive/postsparkline.mdwn
@@ -0,0 +1,47 @@
+The `postsparkline` directive is supplied by the [[!iki
+plugins/postsparkline desc=postsparkline]] plugin.
+
+This directive uses the [[!iki plugins/sparkline desc=sparkline]] plugin to
+create a [[sparkline]] of statistics about a set of pages, such as posts to
+a blog.
+
+# eksempler
+
+ Bidragsinterval:
+ \[[!postsparkline pages="blog/* and !*/Discussion" max=100
+ formula=interval style=bar barwidth=2 barspacing=1 height=13]]
+
+ Bidrag per måned dette år:
+ \[[!postsparkline pages="blog/* and !*/Discussion" max=12
+ formula=permonth style=bar barwidth=2 barspacing=1 height=13]]
+
+# brug
+
+All options aside from the `pages`, `max`, `formula`, `time`, and `color`
+options are the same as in [[sparkline]] directive.
+
+You don't need to specify any data points (though you can if you want to).
+Instead, data points are automatically generated based on the creation times
+of pages matched by the specified `pages` [[ikiwiki/PageSpec]]. A maximum of
+`max` data points will be generated.
+
+The `formula` parameter controls the formula used to generate data points.
+Available formulae:
+
+* `interval` - The height of each point represents how long it has been
+ since the previous post.
+* `perday` - Each point represents a day; the height represents how many
+ posts were made that day.
+* `permonth` - Each point represents a month; the height represents how many
+ posts were made that month.
+* `peryear` - Each point represents a year; the height represents how many
+ posts were made that year.
+
+The `time` parameter has a default value of "ctime", since formulae use the
+creation times of pages by default. If you instead want them to use the
+modification times of pages, set it to "mtime".
+
+To change the color used to draw the sparkline, use the `color` parameter.
+For example, "color=red".
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/progress.mdwn b/ikiwiki/directive/progress.mdwn
new file mode 100644
index 0000000..a552077
--- /dev/null
+++ b/ikiwiki/directive/progress.mdwn
@@ -0,0 +1,18 @@
+The `progress` directive is supplied by the [[!iki plugins/progress
+desc=progress]] plugin.
+
+This directive generates a progress bar.
+
+There are two possible parameter sets. The first is a single parameter
+"percent" which holds a percentage figure of how complete the progress bar
+is.
+
+The second possible set of parameters is a pair of [[ikiwiki/PageSpec]]s,
+`totalpages` and `donepages`. The directive counts the number of pages in
+each pagespec and shows the percentage of the total pages that are done.
+
+Eksempelvis at vise procentdel af sider med diskussionssider:
+
+ \[[!progress totalpages="* and !*/Discussion" donepages="*/Discussion"]]
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/shortcut.mdwn b/ikiwiki/directive/shortcut.mdwn
new file mode 100644
index 0000000..09da5b9
--- /dev/null
+++ b/ikiwiki/directive/shortcut.mdwn
@@ -0,0 +1,10 @@
+The `shortcut` directive is supplied by the [[!iki plugins/shortcut
+desc=shortcut]] plugin.
+
+This directive allows external links to commonly linked to sites to be made
+more easily using shortcuts.
+
+The available shortcuts are defined on the [[shortcuts]] page in the
+wiki. The `shortcut` directive can only be used on that page.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/sparkline.mdwn b/ikiwiki/directive/sparkline.mdwn
new file mode 100644
index 0000000..e41387a
--- /dev/null
+++ b/ikiwiki/directive/sparkline.mdwn
@@ -0,0 +1,53 @@
+The `sparkline` directive is supplied by the [[!iki plugins/sparkline
+desc=sparkline]] plugin.
+
+This directive allows for embedding sparklines into wiki pages. A sparkline
+is a small word-size graphic chart, that is designed to be displayed
+alongside text.
+
+# eksempler
+
+ \[[!sparkline 1 3 5 -3 10 0 width=40 height=16
+ featurepoint="4,-3,red,3" featurepoint="5,10,green,3"]]
+
+This creates a simple line graph, graphing several points. It will be drawn
+40 pixels wide and 16 pixels high. The high point in the line has a green
+marker, and the low point has a red marker.
+
+ \[[!sparkline 1 -1(red) 1 -1(red) 1 1 1 -1(red) -1(red) style=bar barwidth=2
+ barspacing=1 height=13]]
+
+This more complex example generates a bar graph. The bars are 2 pixels
+wide, and separated by one pixel, and the graph is 13 pixels tall. Width is
+determined automatically for bar graphs. The points with negative values are
+colored red, instead of the default black.
+
+# brug
+
+The form for the data points is "x,y", or just "y" if the x values don't
+matter. Bar graphs can also add "(color)" to specify a color for that bar.
+
+The following named parameters are recognised. Most of these are the same as
+those used by the underlying sparkline library, which is documented in more
+detail in [its wiki](http://sparkline.wikispaces.com/usage).
+
+* `style` - Either "line" (the default) or "bar".
+* `width` - Width of the graph in pixels. Only needed for line graphs.
+* `height` - Height of the graph in pixels. Defaults to 16.
+* `barwidth` - Width of bars in a bar graph. Default is 1 pixel.
+* `barspacing` - Spacing between bars in a bar graph, in pixels. Default is
+ 1 pixel.
+* `ymin`, `ymax` - Minimum and maximum values for the Y axis. This is
+ normally calculated automatically, but can be explicitly specified to get
+ the same values for multiple related graphs.
+* `featurepoint` - Adds a circular marker to a line graph, with optional
+ text. This can be used to label significant points.
+
+ The value is a comma-delimited list of parameters specifying the feature
+ point: X value, Y value, color name, circle diameter, text (optional),
+ and text location (optional). Example: `featurepoint="3,5,blue,3"`
+
+ Available values for the text location are: "top", "right", "bottom", and
+ "left".
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/table.mdwn b/ikiwiki/directive/table.mdwn
new file mode 100644
index 0000000..48abb22
--- /dev/null
+++ b/ikiwiki/directive/table.mdwn
@@ -0,0 +1,51 @@
+The `table` directive is supplied by the [[!iki plugins/table desc=table]]
+plugin.
+
+This directive can build HTML tables from data in CSV (comma-separated
+values) or DSV (delimiter-separated values) format.
+
+## eksempler
+
+ \[[!table data="""
+ Customer |Amount
+ Fulanito |134,34
+ Menganito|234,56
+ Menganito|234,56
+ """]]
+
+ \[[!table class="book_record" format=csv file="data/books/record1"]]
+
+In this second example the `record1` page should be similar to:
+
+ "Title","Perl Best Practices"
+ "Author","Damian Conway"
+ "Publisher","O’Reilly"
+
+To make a cell span multiple columns, follow it with one or more empty
+cells. For example:
+
+ \[[!table data="""
+ left||right|
+ a|b|c|d
+ this cell spans 4 columns|||
+ """]]
+
+## brug
+
+* `data` - Values for the table.
+* `file` - A file in the wiki containing the data.
+* `format` - The format of the data, either "csv", "dsv", or "auto" (the
+ default).
+* `delimiter` - The character used to separate fields. By default,
+ DSV format uses a pipe (`|`), and CSV uses a comma (`,`).
+* `class` - A CSS class for the table html element.
+* `header` - By default, or if set to "row", the first data line is used
+ as the table header. Set it to "no" to make a table without a header, or
+ "column" to make the first column be the header.
+
+For tab-delimited tables (often obtained by copying and pasting from HTML or
+a spreadsheet), `delimiter` must be set to a literal tab character. These
+are difficult to type in most web browsers - copying and pasting one from
+the table data is likely to be the easiest way.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/tag.mdwn b/ikiwiki/directive/tag.mdwn
new file mode 100644
index 0000000..dcf46fc
--- /dev/null
+++ b/ikiwiki/directive/tag.mdwn
@@ -0,0 +1,36 @@
+The `tag` and `taglink` directives are supplied by the [[!iki plugins/tag
+desc=tag]] plugin.
+
+These directives allow tagging pages. List tags as follows:
+
+ \[[!tag teknik livet linux]]
+
+The tags work the same as if you had put a (hidden) [[ikiwiki/WikiLink]] on
+the page for each tag, so you can use a [[ikiwiki/PageSpec]] match all pages
+that are tagged with a given tag, for example. The tags will also show up on
+blog entries and at the bottom of the tagged pages, as well as in RSS and
+Atom feeds.
+
+If you want a visible [[ikiwiki/WikiLink]] along with the tag, use taglink
+instead:
+
+ \[[!taglink foo]]
+ \[[!taglink mærket_af_som_foo|foo]]
+
+Note that if the wiki is configured to use a tagbase, then the tags will be
+located under a base directory, such as "tags/". This is a useful way to
+avoid having to write the full path to tags, if you want to keep them
+grouped together out of the way. Also, since ikiwiki then knows where to put
+tags, it will automatically create tag pages when new tags are used.
+
+Bear in mind that specifying a tagbase means you will need to incorporate it
+into the `link()` [[ikiwiki/PageSpec]] you use: e.g., if your tagbase is
+`tag`, you would match pages tagged "foo" with `link(tag/foo)`.
+
+If you want to override the tagbase for a particular tag, you can use
+something like this:
+
+ \[[!tag /foo]]
+ \[[!taglink /foo]]
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/template.mdwn b/ikiwiki/directive/template.mdwn
new file mode 100644
index 0000000..0e8f861
--- /dev/null
+++ b/ikiwiki/directive/template.mdwn
@@ -0,0 +1,86 @@
+The `template` directive is supplied by the [[!iki plugins/template
+desc=template]] plugin.
+
+The template directive allows wiki pages to be used as templates. These
+templates can be filled out and inserted into other pages in the wiki using
+the directive. The [[templates]] page lists templates that can be used with
+this directive.
+
+The directive has an `id` parameter that identifies the template to use. The
+remaining parameters are used to fill out the template.
+
+## Example
+
+ \[[!template id=note text="""Her er teksten til at sætte ind i min note."""]]
+
+Dette udfylder `note`-skabelonen, med `text`-feltet udfyldt med den angivne
+værdi, og indsætter resultatet på siden.
+
+## Using a template
+
+Generally, a value can include any markup that would be allowed in the wiki
+page outside the template. Triple-quoting the value even allows quotes to be
+included in it. Combined with multi-line quoted values, this allows for
+large chunks of marked up text to be embedded into a template:
+
+ \[[!template id=foo name="Sally" color="green" age=8 notes="""
+ * \[[Charley]]'s sister.
+ * "I want to be an astronaut when I grow up."
+ * Really 8 and a half.
+ """]]
+
+## Creating a template
+
+The template is a regular wiki page, located in the `templates/`
+subdirectory inside the source directory of the wiki.
+
+(Alternatively, templates can be stored in a directory outside the wiki, as
+files with the extension ".tmpl". By default, these are searched for in
+`/usr/share/ikiwiki/templates`; the `templatedir` setting can be used to
+make another directory be searched first.)
+
+The template uses the syntax used by the [[!cpan HTML::Template]] perl
+module, which allows for some fairly complex things to be done. Consult its
+documentation for the full syntax, but all you really need to know are a few
+things:
+
+* Each parameter you pass to the template directive will generate a template
+ variable. There are also some pre-defined variables like PAGE and
+ BASENAME.
+* To insert the value of a variable, use `<TMPL_VAR variable>`. Wiki markup
+ in the value will first be converted to html.
+* To insert the raw value of a variable, with wiki markup not yet converted
+ to html, use `<TMPL_VAR raw_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>`
+
+Here's a sample template:
+
+ <span class="infobox">
+ Name: \[[<TMPL_VAR raw_name>]]<br />
+ Age: <TMPL_VAR age><br />
+ <TMPL_IF color>
+ Favorite color: <TMPL_VAR color><br />
+ <TMPL_ELSE>
+ No favorite color.<br />
+ </TMPL_IF>
+ <TMPL_IF notes>
+ <hr />
+ <TMPL_VAR notes>
+ </TMPL_IF>
+ </span>
+
+The filled out template will be formatted the same as the rest of the page
+that contains it, so you can include WikiLinks and all other forms of wiki
+markup in the template. Note though that such WikiLinks will not show up as
+backlinks to the page that uses the template.
+
+Note the use of "raw_name" inside the [[ikiwiki/WikiLink]] generator in the
+example above. This ensures that if the name contains something that might
+be mistaken for wiki markup, it's not converted to html before being
+processed as a [[ikiwiki/WikiLink]].
+
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/testpagespec.mdwn b/ikiwiki/directive/testpagespec.mdwn
new file mode 100644
index 0000000..bb94c54
--- /dev/null
+++ b/ikiwiki/directive/testpagespec.mdwn
@@ -0,0 +1,25 @@
+The `testpagespec` directive is supplied by the [[!iki plugins/testpagespec
+desc=testpagespec]] plugin.
+
+This directive allows testing a [[ikiwiki/PageSpec]] to see if it matches a
+page, and to see the part that matches, or causes the match to fail.
+
+Eksempelbrug:
+
+ \[[!testpagespec pagespec="foopage and barpage" match="foopage"]]
+
+This will print out something like "no match: barpage does not match
+foopage", highlighting which part of the [[ikiwiki/PageSpec]] is causing the
+match to fail.
+
+ \[[!testpagespec pagespec="foopage or !bar*" match="barpage"]]
+
+This will print out something like "no match: bar* matches barpage", since
+the part of the [[ikiwiki/PageSpec]] that fails is this negated match.
+
+ \[[!testpagespec pagespec="foopage or barpage" match="barpage"]]
+
+This will print out something like "match: barpage matches barpage",
+indicating the part of the [[ikiwiki/PageSpec]] that caused it to match.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/teximg.mdwn b/ikiwiki/directive/teximg.mdwn
new file mode 100644
index 0000000..6e38d62
--- /dev/null
+++ b/ikiwiki/directive/teximg.mdwn
@@ -0,0 +1,24 @@
+The `teximg` directive is supplied by the [[!iki plugins/teximg
+desc=teximg]] plugin.
+
+This directive renders LaTeX formulas into images.
+
+## eksempler
+
+ \[[!teximg code="\frac{1}{2}"]]
+ \[[!teximg code="E = - \frac{Z^2 \cdot \mu \cdot e^4}{32\pi^2 \epsilon_0^2 \hbar^2 n^2}" ]]
+
+To scale the image, use height=x:
+
+ \[[!teximg code="\frac{1}{2}" height="17"]]
+ \[[!teximg code="\frac{1}{2}" height="8"]]
+
+If no height is chosen the default height 12 is used. Valid heights are: 8,
+9, 10, 11, 12, 14, 17, 20. If another height is entered, the closest
+available height is used.
+
+To add an alt text to the image, use alt="text":
+
+ \[[!teximg code="\frac{1}{2}" alt="1/2"]]
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/toc.mdwn b/ikiwiki/directive/toc.mdwn
new file mode 100644
index 0000000..2593b95
--- /dev/null
+++ b/ikiwiki/directive/toc.mdwn
@@ -0,0 +1,27 @@
+The `toc` directive is supplied by the [[!iki plugins/toc desc=toc]] plugin.
+
+Tilføje en indholdsfortegnelse til en side:
+
+ \[[!toc ]]
+
+The table of contents will be automatically generated based on the headers
+of the page. By default only the largest headers present on the page will be
+shown; to control how many levels of headers are shown, use the `levels`
+parameter:
+
+ \[[!toc levels=2]]
+
+The toc directive will take the level of the first header as the topmost
+level, even if there are higher levels seen later in the file.
+
+To create a table of contents that only shows headers starting with a given
+level, use the `startlevel` parameter. For example, to show only h2 and
+smaller headers:
+
+ \[[!toc startlevel=2]]
+
+The table of contents will be created as an ordered list. If you want an
+unordered list instead, you can change the list-style in your local style
+sheet.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/toggle.mdwn b/ikiwiki/directive/toggle.mdwn
new file mode 100644
index 0000000..bed61c1
--- /dev/null
+++ b/ikiwiki/directive/toggle.mdwn
@@ -0,0 +1,35 @@
+The `toggle` and `toggleable` directives are supplied by the [[!iki
+plugins/toggle desc=toggle]] plugin.
+
+With these directives you can create links on pages that, when clicked,
+toggle display of other parts of the page.
+
+It uses javascript to accomplish this; browsers without javascript will
+always see the full page content.
+
+Eksempler på brug:
+
+ \[[!toggle id="ipsum" text="vis"]]
+
+ \[[!toggleable id="ipsum" text="""
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
+ eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
+ ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
+ aliquip ex ea commodo consequat.
+
+ [[!toggle id="ipsum" text="skjul"]]
+ """]]
+
+Note that you can include wiki markup in the toggleable text, including even
+additional toggles, as shown in the above example.
+
+Also, the toggle and the togglable definitions do not need to be next to
+each other, but can be located anywhere on the page. There can also be
+mutiple toggles that all toggle a single togglable.
+
+The id has a default value of "default", so can be omitted in simple cases.
+
+If you'd like a toggleable to be displayed by default, and toggle to hidden,
+then pass a parameter "open=yes" when setting up the toggleable.
+
+[[!meta robots="noindex, follow"]]
diff --git a/ikiwiki/directive/version.mdwn b/ikiwiki/directive/version.mdwn
new file mode 100644
index 0000000..40d9d72
--- /dev/null
+++ b/ikiwiki/directive/version.mdwn
@@ -0,0 +1,13 @@
+The `version` directive is supplied by the [[!iki plugins/version
+desc=version]] plugin.
+
+This directive allows inserting the version of ikiwiki onto a page.
+
+Whenever ikiwiki is upgraded to a new version, the page will be rebuilt,
+updating the version number.
+
+Brug er simpelt:
+
+ \[[!version ]]
+
+[[!meta robots="noindex, follow"]]