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.

Tabs

 10th October 2024 at 7:59am

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 Concepts 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.

A homemade edge-notched card system with vintage sorting needle and notching punch (click to expand). TiddlyWiki eliminates the chads, but it keeps alive the spirit of small units of information, non-hierarchical thinking, and easy sorting inherent in these systems.

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

Exercise: (M) [Ex:MeetingsToday]

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.
go to answer

Exercise: (s) [Ex:ContactTabs]

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 answer

Exercise: (m) [Ex:FixingContactTabs]

Fix 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!

go to answer

Takeaways

Takeaways are not available in the static version of Grok TiddlyWiki. Visit the wiki version of this page to study takeaways.

↑ 5: More Organizational Tools