It's often useful to create a summary or links tiddler that uses tabs to show the contents of some other tiddlers, just like the sidebar does in the default installation of TiddlyWiki. We can easily create new sets of tabs with the built-in tabs
procedure.
A typical call to the tabs
procedure looks like this:
<<tabs tabsList:"foo bar baz" default:"foo">>
tabsList
, in its simplest incarnation, is just a list of tiddler titles, but it can actually be any filter (recall that a list of tiddler titles is in the same format of a series of simple filter runs), which makes it possible to choose what tabs should be shown on the fly. For instance, we can create tabs for all of the basic Concept
s tagged in this book:
<<tabs "[all[shadows+tiddlers]tag[Concept]]" "Tiddlers">>
Before we start creating our sample wiki, we need to go over a few concepts. I know, theory is boring and you want to get your hands on the software, so I'll just introduce five foundational concepts that we can't do without right now, and we'll fill in the rest as we need them.
Tiddlers are the unit of information in TiddlyWiki. If we didn't want to use a weird neologism, we might call tiddlers notes, or cards, or records, or files, or pages, or articles. However, tiddlers aren't quite like any of these things, so the designers concluded a word that doesn't carry any baggage from other information systems would ultimately be less confusing. (A tiddler is a kind of small fish – thus the logo for Grok TiddlyWiki.)
For now, you can think of a tiddler as a 3×5 index card: a blank slate used to store a small amount of information. Even better, think of it as an edge-notched card, an index card that can be mechanically sorted based on metadata punched out of the edges of the card. (In the mid-20th century, these were the height of sophistication for the amateur information geek, and they're still pretty cool even in the computer age!) Tiddlers can do much more complicated things than this, however, so in Slicing Up Content in chapter 2 we'll see a different, more conceptual metaphor which will be more helpful as we continue.
In TiddlyWiki, everything is a tiddler: content, configuration, plugins, even the core code of TiddlyWiki itself. This means you get to use the same set of powerful tools for working with all these things. It's much like Unix's everything's a file philosophy, and it has the same benefits.
The way we slice our content up into tiddlers and relate those tiddlers to each other has a strong influence on both our patterns of thinking and the value of our notes. By slicing content into small, carefully defined tiddlers, we are able to reuse ideas and data in many more contexts than we could if they were organized like traditional notes, which makes not only our notes but also our thoughts more flexible. A substantial portion of the first two chapters will be spent on the question of how to slice up and relate tiddlers.
This section of the book, Tiddlers, is an example of a tiddler.
Takeaways
Takeaways are not available in the static version of Grok TiddlyWiki. Visit the wiki version of this page to study takeaways.Now, if we add new concepts to the wiki, they'll immediately show up as new tabs. The caption
field of each tiddler, if it exists, will be used as the text on the tab; otherwise the title will be used.
The optional default
parameter, set to the title of one of the tiddlers being made into a tab, chooses which tab starts selected. If you leave it blank, you'll have to click on a tab to see anything expand.
The tabs
macro has several other optional parameters that are occasionally useful, which you can read about in the documentation.
You can make tabs show up vertically instead of horizontally, like they do under the More tab of the sidebar, using the parameter class:"tc-vertical"
.
Exercises
Create a tiddler named Today
and put a set of vertically arranged tabs on it showing all meetings that are happening on the current day (i.e., whose at
field describes any time today) and excluding drafts.
Don't worry if everything doesn't show up right – we'll talk about why that is and how to fix it in the exercises to follow. You're done with this exercise if you can get the correct set of tabs to appear in the list.
- You can get today's date with the built-in
now
procedure, like<<now YYYY0MM0DD0hh>>
. (If you're wondering why we include the hours, we'll discuss the potential for day rollover when at negative UTC offsets in Working with Dates.) - You'll need to look up several new filter operators in the list.
Create a set of tabs to show all contacts in the wiki. Take a look through the tabs – what isn't displaying right, and what might that mean?
go to answerFix the issue identified in the previous exercise, Ex:ContactTabs, so that all contacts display all information correctly.
Hint 1: You'll need to create a template tiddler. You can specify the name of a template used to render each tab using the template
parameter to the tabs
procedure.
Hint 2: The currentTab
variable contains the name of the tiddler being rendered as the current tab.
If you get really stuck, read the TiddlyWiki documentation on the tabs
procedure, which explains how to do this. Try to figure it out yourself for a few minutes first, though!