]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/ikiwiki/preprocessordirective.mdwn
add virus checking to attachments plugin
[ikiwiki.git] / doc / ikiwiki / preprocessordirective.mdwn
index 1e2332c091b48386c2f164b2de2c2bfc5f5106cc..743c0d9f5e73050d3b52a6fdb72ca6b188ea5b6c 100644 (file)
@@ -1,7 +1,8 @@
+[[!meta robots="noindex, follow"]]
 Preprocessor directives are similar to a [[WikiLink]] in form, except they
-contain spaces and parameters. The general form is:
+begin with `!` and may contain parameters. The general form is:
 
-       \[[directive param="value" param="value"]]
+       \[[!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.
@@ -9,25 +10,30 @@ 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]]
-
-Note that if a preprocessor directive has no parameters, a space still must
-be put after its name, to avoid confusion with a [[WikiLink]]. For example:
-
-       \[[pagecount ]]
+       \[[!tag foo]]
 
 A preprocessor directive does not need to all be on one line, it can be
 wrapped to multiple lines if you like:
        
-       \[[directive foo="baldersnatch"
+       \[[!directive foo="baldersnatch"
        bar="supercalifragalisticexpealadocious" 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:
 
-       \[[directive text="""
+       \[[!directive text="""
        1. "foo"
        2. "bar"
        3. "baz"
        """]]
+
+ikiwiki also has an older syntax for preprocessor 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.