This is a stripped-down version of a single section of Grok TiddlyWiki, optimized for fast loading and readability by search engines. Some features are missing.
For the full Grok TiddlyWiki experience, please visit the wiki version of this page.
There are a lot of different operators available for use in filters, and many of them are very specific and rarely needed, but hard to do without in those rare circumstances. Thus, it is not worth trying to learn them all. Instead, anytime you can't remember the details of or don't know of an appropriate operator, you should review the comprehensive documentation. You might want to bookmark that page right now.
The list can be overwhelming at first, so let's take a look at the most common operators.
backlinks[]
: Get all of the tiddlers that link to the input tiddler.[[JaneDoe]backlinks[]]
gets all tiddlers that link to Jane.links[]
: Get all of the tiddlers that the input tiddler links to.[tag[Meeting]links[]]
finds all tiddlers that were mentioned in any meeting.tag[X]
: Keep all of the input tiddlers that have the tag X
.[tag[Application]]
finds all tiddlers tagged Application
.tagging[]
: Get all tiddlers in the wiki that are tagged with the input tiddler.[[Application]tagging[]]
is the same thing as [tag[Application]]
.tagging[]
instead of tag[]
when you don't know what tag(s) you want to look for ahead of time. For instance, let's say we wanted to find all tiddlers that are part of any project. In our wiki, we decided to tag our projects Project
, then tag the tiddlers that are part of that project with the project tiddler (e.g., the parts of the OnboardingProject
are tagged OnboardingProject
). So we could use the filter [tag[Project]tagging[]]
– the first filter step returns all project tiddlers, and the second step finds all the tiddlers that any of those tiddlers is tagging.field:fieldname[value]
: Keep all of the input tiddlers that have a field called fieldname
with a value of value
.[field:phone[888-555-1234]]
returns JaneDoe
because that's Jane's phone number.fieldname[value]
, provided that your field name doesn't conflict with another filter operator (for instance, if you had a field called backlinks
, you would have to use field:backlinks
to refer to that field, since there is a backlinks
filter operator already).contains:fieldname[value]
: Like field:
, but treats the field as a list containing multiple values, and only requires value
to be one of the items in the list.[contains:family[JohnDoe]]
returns JaneDoe
and EmilyDoe
because both of them have John as a family member.has[fieldname]
: Keep all of the input tiddlers that have a non-empty field called fieldname
.[tag[Contact]!has[phone]]
finds any contact tiddlers we forgot to add phone numbers to.search:field1,field2[mysearch]
: Keep all of the input tiddlers whose field1
or field2
field matches the search query mysearch
.*
searches all fields. If no suffix is provided, the tags
, title
, and text
fields are searched.my search
will find the phrase “Search my wiki”, but not “Search here”. You can change this behavior by adding an additional suffix; see the documentation for details.count[]
: Output a single value describing how many input tiddlers were passed to the operator.[tag[Meeting]count[]]
returns 3
if we have 3 tiddlers tagged Meeting
.sort[field]
: Sort the input tiddlers by field
.[tag[Meeting]sort[at]]
shows all meetings from earliest to latest.!
in front of sort
reverses the order, showing all meetings from latest to earliest.sort[]
, sorts by the title.get[field]
: Take all of the input tiddlers and output the values of the field field
on those tiddlers.[[JaneDoe]get[email]]
yields Jane's email address.Compose and run filters to answer the following questions:
JaneDoe
?at
?JaneDoe
and help
somewhere in their text field? Use only a single filter step.In an exercise in the Searching section, we noted that a search for JohnDoe
did not find places where John was mentioned somewhere other than the text
field. Write and test a filter that finds mentions of John in any field.
What is the alphabetically last description that any button on the editor toolbar uses? (The description is what shows up when you hover over the button, minus the indication of the keyboard shortcut. No cheating by hovering over every button!)
You'll need some additional information for this one:
$:/tags/EditorToolbar
.all[shadows]
to get any results.{{$:/language/Buttons/Paint/Description}}
. When you get here, add the following filter steps to the end of your filter: split[{{]split[}}]
.And here are two hints if you need them:
$:/language/Buttons/Paint/Description
, is stored in its text
field.This one is intended to be a little bit above your level at the moment – we won't get to some of the concepts involved until chapter 6, Looking Under the Hood – so you might not be able to figure it out. But spend some time working on it before you look at the answer.
go to answer