12th April 2020 at 6:15pm
purpose | filter the input by comparing each item against the parameter |
---|---|
input | a selection of titles |
suffix | the compare operator uses a rich suffix, see below for details |
parameter | the value to compare |
output | those input titles matching the specified comparison |
! output | those input titles not matching the specified comparison |
Learn more about how to use Filters
Introduced in v5.1.22The compare
filter allows numerical, string and date comparisons to be performed.
The compare
operator uses an extended syntax to specify all the options:
[compare:<type>:<mode>[<parameter>]]
The type can be:
- "number" - (default) invalid numbers are interpreted as zero
- "integer" - invalid integers are interpreted as zero
- "string"
- "date" - invalid dates are interpreted as 1st January 1970
- "version" - invalid versions are interpreted as "v0.0.0"
The mode can be:
- "eq" - equal to
- "ne" - not equal to
- "gteq" - greater than or equal to
- "gt" - greater than
- "lteq" - less than or equal to
- "lt" - less than
The operator compares each item in the selection against the value of the parameter, retaining only those items that pass the specified condition.
For example:
[[2]compare:number:eq[3]] returns nothing
[[2]compare:number:lt[3]] returns "2"
[[2]compare::eq[2]] returns "2"
Note that several of the variants of the compare
operator are synonyms for existing operators, and are provided in the interests of consistency. For example, compare:string:eq[x]
is a synonym for match[x]
.