]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/ikiwiki/directive.mdwn
3.20160509~bpo8+1
[git.ikiwiki.info.git] / doc / ikiwiki / directive.mdwn
index 9a01aaa825e22e3f41177b36adf75ae3b7be92ee..1dc1e517d3b0f0890b65af4ead0e469a5ed5ad9f 100644 (file)
@@ -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 ]]
+"""]]