PmWiki»Conditional Markup

Conditional Markup

authors, admins (advanced)

Using the (:if:) Directive

The (:if:) directive allows portions of a page to be included or excluded from processing. The generic form of the (:if:) directive is

    (:if cond param:) body (:ifend:)

where "cond" names a condition to be tested (described below), and "param" is a parameter or other argument to the condition.

The built-in conditions include:

    (:if name [name]:)     - current page is named "name"
    (:if auth [level]:)    - viewer is authorized at "level"
    (:if authid:)        - current viewer is authenticated
    (:if true:)          - always include text
    (:if false:)         - always exclude text (same as a comment)
    (:if attachments:)   - current page has attachments
    (:if date [date1..date2]:)
                         - current date is in range (dates are yyyy-mm-dd)

Negated forms of conditions also work

    [@(:if !attachments:) This page has no attachments

Any (:if:) automatically terminates the previous one, thus markup can be easily cased:

    (:if auth read:)* You can read
    (:if auth edit:)* You can edit
    (:if auth upload:)* You can upload

admins (advanced)

Creating new conditions

See Cookbook:ConditionalMarkupSamples.

<< InterMap | DocumentationIndex | Markup variables >>