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.

Supplemental Exercises

6th February 2021 at 10:57pm

If you're looking for a challenge or some extra practice after finishing most or all of the book, here are some larger exercises you can try.

Exercise: (m) [Ex:TagColorGrouping]

Modify the display of tags in the Tags section of the More sidebar tab so that they are grouped by color.

Exercise: (m) [Ex:HostingOptions]

Try out another option for hosting and saving your TiddlyWiki.

Exercise: (M) [Ex:MoreSidebarTabs]

Come up with some new sections that would be useful to have on the More sidebar tab and add them in.

Exercise: (M) [Ex:StylesheetExperiments]

If you know a little bit of CSS, read about Stylesheets in TiddlyWiki and make some design changes to your wiki, like changing the text color or the shape of some buttons.

Exercise: (h) [Ex:MailMerge]

Implement a mail merge in TiddlyWiki. Without writing JavaScript, you cannot actually send emails from TiddlyWiki, but you can produce a list of mailto: links that, when clicked, each open a new email in your email program with the email address, subject, and body for that recipient pre-filled. For low-volume tasks, this might be good enough.

On the tiddler that implements the merge, you should be able to fill in fields that provide a filter for contact tiddlers you want to send the message to, and some kind of template tiddler that uses a variable or a setting of the current tiddler to substitute in values that change.

You'll need to URL-encode the subject and body and put it into the link, which TiddlyWiki has a encodeuri[] filter operator to do. See https://en.wikipedia.org/wiki/Mailto for details of the mailto: URI structure; essentially, you want to produce links that look like this:

mailto:whoever@example.com?subject=TheSubject&body=TheBodyOfTheEmail

…where both TheSubject and TheBodyOfTheEmail are URL-encoded.

Warning: This is well known in the community as a complex task that demands excellent knowledge of macros, filters, transclusions, and how they relate. It is harder than it looks, and even experienced users will find it challenging. That said, it's a great final exercise after reading this book, and it feels good to crack it!

Hint: You will need the $wikify widget.

go to answer

Exercise: (h) [Ex:StretchText]

StretchText, generally attributed to Ted Nelson, is a form of hypertext in which links, or summary snippets, can be expanded in place: in other words, you can “stretch” parts of the text that you want to see in more detail to zoom in on them. Implement stretch-text in TiddlyWiki using a template or macro that allows you to expand and contract a tiddler serving as the “next level down”.

You can find an example and a TiddlyWiki implementation as the TiddlyStretch plugin in my list of cynical laws in my Zettelkasten.

Exercise: (h) [Ex:NewWiki]

Create and customize a new wiki for some purpose, whether it's useful for you or not. Some ideas that might get you thinking about different ways to organize data:

  • A mini-encyclopedia for a topic you know a lot about.
  • A recipe book.
  • A place to plan a book or other large creative project.
  • A catalog for your music or book collection.

↑ Outline