summaryrefslogtreecommitdiff
path: root/ikiwiki/preprocessordirective.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'ikiwiki/preprocessordirective.mdwn')
-rw-r--r--ikiwiki/preprocessordirective.mdwn26
1 files changed, 16 insertions, 10 deletions
diff --git a/ikiwiki/preprocessordirective.mdwn b/ikiwiki/preprocessordirective.mdwn
index 1e2332c..743c0d9 100644
--- a/ikiwiki/preprocessordirective.mdwn
+++ b/ikiwiki/preprocessordirective.mdwn
@@ -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.