This page is part of a static HTML representation of the TiddlyWiki at

Map Filter Run Prefix

 20th July 2022 at 7:01pm

New in: 5.2.0

purposemodify input titles by the result of evaluating this filter run for each item
inputall titles from previous filter runs
suffix New in: 5.2.3 flat to return all results from the filter run, If omitted (default), only the first result is returned.
outputthe input titles as modified by the result of this filter run

Each input title from previous runs is passed to this run in turn. The filter run transforms the input titles and the output of this run replaces the input title. For example, the filter run [get[caption]else{!!title}] replaces each input title with its caption field, unless the field does not exist in which case the title is preserved.

Note that within the filter run, the "currentTiddler" variable is set to the title of the tiddler being processed. This permits filter runs like :map[{!!price}multiply{!!cost}] to be used for computation. The value of currentTiddler outside the run is available in the variable "..currentTiddler".

The following variables are available within the filter run:

  • currentTiddler - the input title
  • ..currentTiddler - the value of the variable currentTiddler outside the filter run.
  • index - New in: 5.2.1 the numeric index of the current list item (with zero being the first item in the list).
  • revIndex - New in: 5.2.1 the reverse numeric index of the current list item (with zero being the last item in the list).
  • length - New in: 5.2.1 the total length of the input list.

Filter runs used with the :map prefix should return at least the same number of items that they are passed. Any missing entries will be treated as an empty string. In particular, when retrieving the value of a field with the get Operator it is helpful to guard against a missing field value using the else Operator. For example [get[myfield]else[default-value]....