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

Filter Step

31st July 2025 at 10:10am

A filter step represents a single operation within a filter run.

In programming terms, it is akin to a function call to which the step's input is passed as a parameter. A step's output is a title selection that contributes to a filter run and hence to the entire filter expression that contains it.

!if omitted, defaults to: titleoperator:suffixparameter,

The step's operator is drawn from a list of predefined keywords which are known as filter operators.

Many steps require an explicit parameter, that further defines what the step is to do.

The suffix is additional text, often the name of a field, that extends the meaning of certain operators. Suffixes are separated by : characters, and each suffix group can contain multiple comma-separated values. For example, in compare:number:gteq, the first suffix is number and the second is gteq. In :sort:string:reverse,casesensitive, the first suffix is string and the second suffix group contains both reverse and casesensitive.

If a step's operator and suffix are omitted altogether, it defaults to the title operator. If a suffix is present but the operator name before the colon is empty (e.g. [:fieldname[value]]), the operator defaults to field.

Introduced in v5.1.23 Some steps accept multiple parameters which are separated by a , character.

Any unrecognised operator is treated as if it was the suffix to the field operator. New in v5.3.0 However, unrecognised operators whose name contains a . (dot) character are treated as user-defined filter operators, resolved by looking up a variable or function with that name.

Filter operators can be extended by plugins.

The output of a Filter Step depends on its operator:

  • Most operators derive their output from their input. For example, many of them output a subset of their input, and thus truly live up to the name of "filters", narrowing down the overall output of the containing run. These operators are called selection modifiers.
  • A few operators ignore their input and generate an independent output instead. These are called selection constructors: they construct an entirely new selection.

A good example of a constructor is title. The output of [title[A]title[B]] is just B. But the field operator is a modifier, so [title[A]field:title[B] outputs nothing at all.

The following filter Operators are tagged :