X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/3cb1c8fa3b1fac58f8a84deef9b72b334c17c97a..efe05d18ae5633d7a186d2cb97377b6e08ea8f4e:/doc/ikiwiki/directive.mdwn diff --git a/doc/ikiwiki/directive.mdwn b/doc/ikiwiki/directive.mdwn index 9a01aaa82..1dc1e517d 100644 --- a/doc/ikiwiki/directive.mdwn +++ b/doc/ikiwiki/directive.mdwn @@ -1,5 +1,5 @@ [[!meta robots="noindex, follow"]] -Directives are similar to a [[WikiLink]] in form, except they +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"]] @@ -16,24 +16,41 @@ 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="supercalifragalisticexpealadocious" baz=11]] + 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-quotes: +of text with triple-double-quotes or triple-single-quotes: \[[!directive text=""" 1. "foo" 2. "bar" 3. "baz" - """]] - -ikiwiki also has an older syntax for directives, which requires a -space in directives to distinguish them from [[wikilinks|wikilink]]. This -syntax has several disadvantages: it requires a space after directives with no -parameters (such as `\[[pagecount ]]`), and it prohibits spaces in -[[wikilinks|wikilink]]. ikiwiki now provides the `!`-prefixed syntax shown -above as the preferred alternative. However, ikiwiki still supports wikis -using the older syntax, if the `prefix_directives` option is not enabled. -For backward compatibility with existing wikis, this option currently -defaults to off, so ikiwiki supports the old syntax. + """ 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=<<OUTER + [[!otherdirective <<INNER + inner text + INNER]] + outer text + OUTER]] + +ikiwiki also has an older syntax for directives, which requires a space in +directives to distinguish them from [[wikilinks|ikiwiki/wikilink]]. This +syntax has several disadvantages: it requires a space after directives with +no parameters (such as `\[[pagecount ]]`), and it prohibits spaces in +[[wikilinks|ikiwiki/wikilink]]. ikiwiki now provides the `!`-prefixed +syntax shown above as default. However, ikiwiki still supports wikis using +the older syntax, if the `prefix_directives` option is disabled. + +[[!if test="enabled(listdirectives)" then=""" +Here is a list of currently available directives in this wiki: + +[[!listdirectives ]] +"""]]