This outline of Grok TiddlyWiki summarizes all the chapters and sections. Click a chapter or section to jump in.
You can also browse all exercises, takeaways, or concepts.
- Front Matter
-
In which we examine why you would want to use TiddlyWiki, why you would want to learn it from this book, and how the book can teach you TiddlyWiki.
- Welcome to Grok TiddlyWiki – An overview of the book and where you should get started.
- Why TiddlyWiki? – What makes TiddlyWiki worth learning and using?
- Philosophy of Grok TiddlyWiki – Why this book exists and what it aims to do.
- How to Use This Book – How the book plans to do it, if you cooperate.
- 1: The Shape of TiddlyWiki
-
In which we download and install TiddlyWiki, learn the basics of TiddlyWiki's data model, and begin creating some tiddlers in a sample wiki.
- Installing TiddlyWiki – How to get TiddlyWiki set up on your computer.
- Downloading Grok TiddlyWiki – How to make a copy of this book so you can save your progress.
- The TiddlyWiki Interface – Study an annotated screenshot of TiddlyWiki's interface to help you put names to what you're seeing.
- Tweaking Your Settings – A quick look at some of the TiddlyWiki options you're most likely to want to change.
- Tiddlers – Tiddlers are the unit of information in TiddlyWiki.
- Fields – Tiddlers are made up of fields.
- Wikitext – Wikitext is a markup language used to format tiddlers.
- Links – Links tell TiddlyWiki what ideas (tiddlers) in your wiki are related to each other.
- Tags – Tags are a special type of link used to categorize tiddlers and arrange them in hierarchies.
- Requirements for the Sample Wiki – What do we want the example wiki we're building in this book to be able to do?
- Structuring Our Wiki – How to translate what we want the wiki to do into TiddlyWiki concepts.
- Journal Tiddlers – How to create journal tiddlers and use basic wikitext formatting features.
- Contact Tiddlers – How to track the people we meet at work, linking to the ideas they're involved in and modeling their attributes as discrete fields of information.
- Meeting Tiddlers – How to take notes on meetings, excising existing notes and using TiddlyWiki's timestamp format to identify when the meeting happened.
- Project Tiddlers – How to organize meetings and knowledge into overarching projects.
- Knowledge Tiddlers – How to organize information that doesn't fall into a clear category, and why such information should be pulled out into separate units of information and related to others.
- Reviewing the Basics – Some final exercises to help you practice the basics.
- 2: Filing and Organizing
-
In which we learn how to create and organize tiddlers in ways that make them easy to find and reuse later.
- Searching – TiddlyWiki allows fast and convenient full-text searching, although it doesn't look in every field of every tiddler.
- Browsing Your Tiddlers – TiddlyWiki provides a variety of options for getting an overview of many tiddlers at once.
- Tiddler Titles – Carefully naming tiddlers and concepts has many benefits, but is often more art than science.
- Naming Conventions – Naming conventions are rules about how sets of things should be named. Creating your own conventions will make it easier to create titles and easier to find tiddlers later.
- Slicing Up Content – We slice content up into tiddlers by modeling nouns related to our subject matter.
- Creating Hierarchies with a Table of Contents – TiddlyWiki can produce hierarchical tables of contents from tag structures.
- Ordering Tiddlers – A set of tiddlers, such as those with a particular tag, can be given a specific order using a tiddler list.
- Creating Evergreen Notes – TiddlyWiki can prevent your old notes from withering and being lost when you use its features appropriately.
- 3: Filtering and Formatting
-
In which we learn how to use filters to answer questions about our notes, like “What are the email addresses of all the people who went to X meeting?”, or “At what meetings attended by Jane did we discuss X concept?”. We'll also dig into HTML and widgets, which we can combine with filters to create tiddlers that use complex formatting and update automatically when other tiddlers are changed.
- Filters – Filters are a lightweight query language used primarily to select tiddlers.
- Using Filter Expressions – Filter expressions, runs, and steps work together to select tiddlers.
- Anatomy of Filter Steps – Filter steps have operators, suffixes, parameters, inputs, and outputs.
- Common Filter Operators – A small number of basic filter operators will handle many of your common needs.
- HTML – HTML is a simple formatting language used to describe web pages, including TiddlyWikis. We can go “down a level” from wikitext to HTML when we need a bit more control over presentation.
- Widgets – Widgets are a TiddlyWiki extension to HTML exposing wiki-specific functionality.
- Your First Dynamic List – You can create lists of tiddlers that automatically update to show all the tiddlers that currently match a filter.
- Comments – You can leave notes to yourself in your wikitext that don't appear in the output.
- When Things Go Wrong – As your wikitext gets more complicated, it occasionally might not do what you were expecting; here's how you can figure out what you did wrong.
- 4: Transclusion
-
In which we study a variety of ways to write some content in one place and reuse it in many other places, a capability which sounds boring but is in fact incredibly powerful and versatile, setting TiddlyWiki apart from the competition.
- Variables – Variables let you assign a name to an arbitrary value, then use the name in place of the value in multiple places within your wikitext.
- Using Variables as Attributes – You can use the value of a variable as the value of an HTML or widget attribute, although there are additional complications.
- Procedures – Procedures extend the concept of variables by allowing portions of the value to change each time the procedure is referenced.
- The Finer Points of Procedures – Procedures come in many forms.
- Field Transclusions – Field transclusions work much like variable transclusions, but their value is tied to a field of a tiddler.
- Templates and the Current Tiddler – Combining transclusions and manipulation of TiddlyWiki's
currentTiddler
variable gives us templates, tiddlers that control the way other tiddlers are displayed. - Filters and Transclusions – TiddlyWiki can transclude the output of a filter, or transclude a variable or field into a filter.
- Parameterizing Field Transclusions – Tiddler fields can have parameters, just like procedures can have parameters.
- Conditional Expressions – Conditional expressions make it easy to show part of a tiddler's wikitext only under certain conditions.
- Summary of Transclusion Syntax – Review all the syntax used for reusing and relating content in TiddlyWiki.
- 5: More Organizational Tools
-
In which we cover miscellaneous TiddlyWiki features that didn't fit in any of the previous chapters, including advanced filters, images, and tabs.
- Multi-Run Filters – Filters can be made more complex and powerful by including more than one run.
- Functions – Functions allow you to break down filter expressions into simpler parts and reuse them in other filter expressions.
- Much More Than You Wanted to Know About Scopes – Procedures and functions can be made available to all tiddlers in the wiki, or to some subset of tiddlers. The names of such procedures should be managed carefully to avoid conflicts.
- Classifying Tags – The colors and icons of tags can be customized to make it easier to tell tags with different functions apart.
- Images and Attachments – Content other than wikitext can be embedded into a TiddlyWiki, or stored outside of it and referenced in a variety of ways.
- Tabs – The
tabs
procedure facilitates compact display of a number of related tiddlers, as in the sidebar of a stock TiddlyWiki. - Data Tiddlers – A data tiddler packs a series of name-value pairs into a single tiddler's text field.
- 6: Macros, Wikification, and Widgets
-
In which we learn the details of how TiddlyWiki processes wikitext, to help ourselves better understand how transclusion works and work around some difficulties we experienced in the Transclusion chapter.
- Macros – Macros are an older version of procedures that handle their parameters differently.
- Wikification – TiddlyWiki converts wikitext into HTML for display by wikifying it. This process may sometimes need to be triggered manually.
- Block Mode and Inline Mode – TiddlyWiki reads wikitext in two modes, one where elements stack horizontally and one where they stack vertically, and you occasionally have to consider which mode you should use.
- Custom Widgets – Custom widgets are a special type of procedure that imitates the syntax of built-in widgets.
- Choosing a Type of Transclusion – All types of transclusion are fundamentally similar, and their roles overlap, but a few guidelines may help you decide when to use one over the other.
- Updated Summary of Transclusion Syntax – Review all the syntax used for reusing and relating content in TiddlyWiki.
- 7: Looking Under the Hood
-
In which we follow the implications of everything being a tiddler to their conclusions: TiddlyWiki can be extensively customized with little more than the tools we've already learned.
- System Tiddlers – Almost everything in TiddlyWiki is controlled by tiddlers; system tiddlers are those hidden “meta-tiddlers” that control the wiki rather than containing your actual content.
- Plugins – Plugins are bundles of tiddlers that provide new functionality.
- Shadow Tiddlers – Shadow tiddlers are tiddlers that are provided by plugins; they can be overridden if you want to customize a plugin.
- The View Template – The ViewTemplate is a special template TiddlyWiki uses internally to render each story in the story river; you can customize it to add custom content to all tiddlers or a subset of tiddlers.
- Adding to the Sidebar – Arbitrary tiddlers can be added to the sidebar to expose custom navigation options or any other content you like.
- Stamps – Stamps allow quick insertion of commonly-used snippets of text into tiddlers while editing.
- Creating a List of Links and Backlinks – Dive into adding custom tooling to TiddlyWiki by building a list of outbound and inbound links that appears at the bottom of every tiddler.
- Buttons and Input Widgets – Buttons and input widgets allow you to create custom user interfaces that edit fields and take actions in the wiki.
- Creating Tiddlers With Predefined Fields – Explore buttons, system tags, action widgets, and messages by adding new buttons to the toolbar that create tiddlers with some custom field values already in place.
- Overriding Built-In Widgets – Write custom widgets that get transcluded in place of TiddlyWiki's built-in widgets.
- 8: Tips and Tricks
-
In which we explore some bonus widgets, tips, tricks, and hacks that will serve you well on the rest of your TiddlyWiki journey.
- Getting the Current Tiddler Right on Drafts – The side-by-side preview won't display correctly when the current tiddler is used in certain ways, but you can work around it.
- Hiding and Showing Things – There are many ways to conditionally hide and show wikitext or set values; here's a broad summary.
- Miscellaneous Widgets – A handful of widgets are frequently useful but haven't been needed or discussed in detail in this book thus far.
- Working with Dates – TiddlyWiki offers tooling for displaying, retrieving, and computing differences between dates.
- Qualification – The
qualify
macro lets you avoid having state in one use of a template affect another use of a template.
- 9: Getting Technical
-
In which software developers and other computer geeks can learn how to extend and interact with TiddlyWiki using JavaScript, CSS, and external programs.
- JavaScript Macros – Macros can execute JavaScript code rather than evaluating wikitext.
- Stylesheets – Every little bit of page formatting can be customized by adding CSS to your wiki.
- Creating Plugins – You can share your custom TiddlyWiki tools with other wikis and users by extracting them into plugins.
- Writing Shell Scripts Against a TiddlyWiki – External tools can access the data in your TiddlyWiki by reading files and calling a Node.js CLI.
- Supplemental Exercises
-
In which are offered some optional challenges to improve your TiddlyWiki skills, should you choose to accept them.
- Resources
-
In which we discuss other places you can learn about TiddlyWiki, talk to others who use TiddlyWiki, and see examples of TiddlyWiki in action.
- Getting Help – Where to look and who to ask for help on TiddlyWiki if you can't figure something out yourself.
- On Notes – More on how to take notes and organize ideas in a tiddly style.
- Public Wikis – Some real TiddlyWikis you can explore for examples and inspiration.
- Appendices
-
In which you can find reference material, lists, acknowledgments, and extended digressions that didn't fit in the main flow of the book, if you're having a particularly boring afternoon.
- Wikitext Reference – A concise listing of the most common wikitext syntax.
- Advantages of WYSIWYM – Some of the reasons that TiddlyWiki and many other systems choose to use markup languages instead of visual editors.
- CamelCase – Whether you should use CamelCase titles, what makes something CamelCase, and how you can get rid of CamelCase linking.
- Options for Saving and Hosting Your Wiki – The variety of ways you can save and store your wiki.
- Useful Plugins – A collection of particularly essential or interesting community plugins.
- Changes – What's new in recently released versions of Grok TiddlyWiki.
- Support Us – If you've made it this far, please consider chipping in some money or time to help the open-source projects you're using.
- Acknowledgments – Grok TiddlyWiki exists only because of the efforts of many people.
- Copyright – Legal notices and information on redistributing Grok TiddlyWiki.