On this page

Hide Macro

Description

Allows content to be conditionally hidden or shown based on parameter value or other conditioning. This is a general capability that can be quite useful for commenting out code sections easily. The parameter setting allows for a run macro (or similar) to control the conditional showing of the content. Moreover, the body content can be rendered even if the content is not shown. This is convenient for producing side-effects of the rendering. 

Parameters

  • hide - Optional. Can be specified as the default parameter. Default is true. The content is hidden unless hide=false or other conditioning parameter indicate otherwise.
  • render - Optional. Body is rendered when conditions determine content should be hidden or render=true or renderIf conditions are met.
  • showIf - Optional. A comma separated list of regex:value pairs. Content will be shown if any of the pairs has a value that matches their corresponding regex condition. This overrides the hide parameter if specified. Since 4.0.
  • hideIf - Optional. A comma separated list of regex:value pairs. Content will be hidden if any of the pairs has a value that matches their corresponding regex condition. This overrides the hide and showIf parameters when specified. Since 4.0.
  • renderIf - Optional. A comma separated list of regex:value pairs. Content will be rendered if any of the pairs has a value that matches their corresponding regex condition. This overrides the render parameter when specified. Note that content is rendered when it is not hidden no matter the setting of the render and renderIf parameters. Since 4.0.

literal parameter defaults to true so that all the regex strings are treated as simple strings to make things simple for most examples. With literal as false, then the full power of regex expressions can be used.

Examples

 

Example
{run:replace=hide:true::radio::true::false}
{hide:$hide}
Conditionally hide this
{hide}
{run}

References

  1. The Visibility add-on has hide-if and show-if macros for more options on whether content should be shown or not.