This page is part of a static HTML representation of the TiddlyWiki at https://tiddlywiki.com/

Macros

 22nd September 2023 at 9:49am

Important

New in v5.3.0 Macros have been superseded by Procedures, Functions and Custom Widgets which together provide more robust and flexible ways to encapsulate and re-use code.

For text substitutions it is now recommended to use: Substituted Attribute Values, substitute Operator and Transclusion and Substitution

Introduction

A macro is a named snippet of text. They are typically defined with the Pragma: \define:

\define my-macro(parameter:"Default value")
This is the macro, and the parameter is $parameter$.
\end

The name wrapped in double angled brackets is used a shorthand way of transcluding the snippet. Such transclusions are known as macro calls, and each call can supply a different set of parameters:

<<my-macro>>
<<my-macro "The parameter">>

The parameters that are specified in the macro call are substituted for special placeholders within the snippet:

  • $parameter-name$ is replaced with the value of the named parameter
  • $(variable-name)$ is replaced with the value of the named variable).

How Macros Work

Macros are implemented as a special kind of variable. The only thing that distinguishes them from ordinary variables is the way that the parameters are handled.

Using Macros