summaryrefslogtreecommitdiff
path: root/underlays/basewiki/directive/if.mdwn
diff options
context:
space:
mode:
authorWilliam Uther <willu@cse.unsw.edu.au>2008-09-11 17:04:23 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-09-11 17:05:19 -0400
commit4f0ac7fe59c196a602e07cc6c4abfc248999ec6b (patch)
tree725f523faeb8e8db0efd81be4024257799c93ef8 /underlays/basewiki/directive/if.mdwn
parent595b0359157d1f57ee5a87c63e665dfa1d2130ec (diff)
add underlay files for listdirectives
As was noted, 'listdirectives' didn't include the underlay files that make it really worthwhile. I've just gone through all the plugin documentation, modified it to remove installation information and renamed the files to match the directives rather than the plugins. This can now serve as useful underlay. I've only gone through plugins in the 'plugins' dir. I did not go through the 'contrib' dir.
Diffstat (limited to 'underlays/basewiki/directive/if.mdwn')
-rw-r--r--underlays/basewiki/directive/if.mdwn46
1 files changed, 46 insertions, 0 deletions
diff --git a/underlays/basewiki/directive/if.mdwn b/underlays/basewiki/directive/if.mdwn
new file mode 100644
index 000000000..57a04aa74
--- /dev/null
+++ b/underlays/basewiki/directive/if.mdwn
@@ -0,0 +1,46 @@
+The `if` directive is supplied by the [[!iki plugins/conditional]] plugin.
+
+With this directive, you can make text be conditionally displayed on a page.
+For example:
+
+ \[[!if test="enabled(smiley)"
+ then="The smiley plugin is enabled :-)"
+ else="No smiley plugin here.."]]
+
+If the specified `test` succeeds, the `then` text will be displayed,
+otherwise the `else` text will be displayed. The `else` part is optional.
+
+The `then` and `else` values can include any markup that would be allowed
+in the wiki page outside the template. Triple-quoting the values even allows
+quotes to be included.
+
+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".
+
+The regular [[ikiwiki/PageSpec]] syntax is expanded with the following
+additional tests:
+
+* enabled(plugin)
+
+ 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.