X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/7960031135e74f6d36abc4294dbadb687117222c..2f3a279f68dcf8c1566d82419fc7257e162ee345:/doc/ikiwiki/preprocessordirective.mdwn diff --git a/doc/ikiwiki/preprocessordirective.mdwn b/doc/ikiwiki/preprocessordirective.mdwn index 1e2332c09..743c0d9f5 100644 --- a/doc/ikiwiki/preprocessordirective.mdwn +++ b/doc/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.