]> 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
 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.
 
 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:
 
 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:
        
 
 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:
 
        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"
        """]]
        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.