diff --git a/ikiwiki/directive.mdwn b/ikiwiki/directive.mdwn new file mode 100644 index 0000000000000000000000000000000000000000..2d35e2f67c1167bc7147b05ff4e9c463da1e09c4 --- /dev/null +++ b/ikiwiki/directive.mdwn @@ -0,0 +1,56 @@ +[[!meta robots="noindex, follow"]] +Directives are similar to a [[ikiwiki/WikiLink]] in form, except they +begin with `!` and may contain parameters. The general form is: + + \[[!directive param="value" param="value"]] + +This gets expanded before the rest of the page is processed, and can be used +to transform the page in various ways. + +The quotes around values can be omitted if the value is a simple word. +Also, some directives may use parameters without values, for example: + + \[[!tag foo]] + +A directive does not need to all be on one line, it can be +wrapped to multiple lines if you like: + + \[[!directive foo="baldersnatch" + bar="supercalifragilisticexpialidocious" baz=11]] + +Also, multiple lines of *quoted* text can be used for a value. +To allow quote marks inside the quoted text, delimit the block +of text with triple-double-quotes or triple-single-quotes: + + \[[!directive text=""" + 1. "foo" + 2. "bar" + 3. "baz" + """ othertext=''' + 1. 'quux' + 2. "foo" + ''']] + +If you want to put text with triple quotes into a parameter value, you can +use perl-style here-doc syntax, even nesting it like this: + + \[[!directive text=<[sample](http://tut.by). +[[!if test="enabled(listdirectives)" then=""" +Here is a list of currently available directives in this wiki: + +[[!listdirectives ]] +"""]]