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

MacroCallWidget

28th September 2020 at 10:28am
Widgets

Introduction

The macro call widget provides a more flexible alternative syntax for invoking macros compared to the usual <<macroname>> syntax documented in Macros in WikiText.

For example, a macro called italicise that takes a single parameter called text would usually be invoked like this:

<<italicise "Text to be made into italics">>
<<italicise text:"Text to be made into italics">>

The same macro can be invoked using the macro call widget like this:

<$macrocall $name="italicise" text="Text to be made into italics"/>
<$macrocall $name="italicise" text={{Title of tiddler containing text to be italicised}}/>
<$macrocall $name="italicise" text=<<textMaker "Another macro to generate the text to be italicised">>/>

The advantages of the widget formulation are:

  • Macro parameters are specified as widget attributes, thus allowing indirection via {{title!!field}}, <<macroname>> or {{{filter}}}
  • The output format can be chosen from several options:
    • text/html wikifies the result of the macro
    • text/plain wikifies the result of the macro and then extracts the plain text characters (ie. ignoring HTML tags)
    • New in: 5.1.23 text/raw returns the result of the macro, without wikification

You can see several examples of the macro call widget within the core:

Content and Attributes

The content of the <$macrocall> widget is ignored.

AttributeDescription
$nameName of the macro to invoke
$typeContentType with which the macro text should be parsed (defaults to text/vnd.tiddlywiki)
$outputContentType for the output rendering (defaults to text/html, can also be text/plain or text/raw)
parametersMacro parameters specified as attributes