How Do You Organize Tiddlers Without Losing Track as They Grow Fast?

I faced similar problems, my TW is a knowledge base which includes text, illustrations, time code annotated video and so on

I think tagging is an art - I found that really when I felt I didn’t know the answers to tagging then it was really because I didn’t know or yet understand the actual structure of my knowledge base or the ideal structure. Its evolving all the time, I am much better than I was five years ago and I expect to be better still in five years time. So as far as linking and tagging go I would say its not really that the technology is lacking its because we don’t always fully understand the structures we are making and they need time to mature and grow with us, when we finally understand what we are trying to do we will probably have a better idea of what tags to use. I often rename or retire tags as my understanding changes and may often spend 20 mins or so splitting one tag into two meanings or perhaps combining two tags into one, I regard this as continual maintenance and housekeeping and find it a useful thing because often along the journey I see loose ends or things that really need connecting by links or so on.

In terms of practical methods of handling my knowledge base which is approaching 4000 tiddlers, some whole chapters from texts others usually 2 or 3 paragraphs…

  1. I wrote a ranking plugin which enables me to attribute a usefulness or value to each tiddler from 1 to 100. A tiddler will often go up and down as I change the value over time as my understanding of my area of research evolves. The plugin allows me to focus on the most important tiddlers or even focus on the least important, perhaps because I want to prune ones that in retrospect are less useful than I originally thought.

  2. I wrote a review interval plugin, I set a value like review every 20 days and so I have a list every day of tiddlers that I need to refresh my mind with. Again nothing static, it evolves and fluxes, when I have lost sight of something important I am likely to reduce the review interval for that tiddler considerably and then I might nudge it back up again over time - did I over react as to the importance of something simply because I had forgotten about it?, there is a hope that each tiddler will arrive at a stable value but I am not sure about that, I suspect they will always oscillate around some mean value, it reflects the way our brains and memory works I suspect.

  3. I wrote a plugin to capture the content of the storyriver and assign it as a “workspace” which is simply a named tiddler with tag “workspace” that is managed within the plugin - idea is you can restore a story river at any time and flip between workspaces. Some workspaces are of a temporary nature, I just want to carry on where I left off, other workspaces are more knowledge hubs - a set of tiddlers that pertain to a particular topic but of course those tiddlers can also pertain to other topics as well. This could be handled by tags I suppose but some tags would constitute a workspace and so I prefer to maintain a distinction between low order groupings (tags) and higher order groupings ( workspaces or knowledge hubs).

  4. I wrote my own search plugin which evolves with me, for instance I can tick tags that must appear in the results OR I can select tags that must NOT appear in the results. I often use this to find places in OLD tiddlers where a NEW tag should be back integrated. Very often when you create a tag there will be many existing tiddlers where it deserves to be included but how do you find them. In these cases I will tend to use the text part of the search to identify likely tiddlers where the tag should be included. Example search for tiddlers that contain “scales” “cold blooded” but do not yet have the NEW tag “Lizards”. At present the search interface includes two literal search fields and one non literal search field - so if I am confident I would have written “cold blooded” I might use the literal field but if I suspect I might have written “cold-blooded”, “cold blooded”, “not warm blooded” I would be more likely to use the non-literal search options.

Overall I would say that maintaining a large knowledge base is an endless refining process of adding new things and housekeeping the older things and the latter is not a chore or wasted time but is actually a way of regularly re-visiting, re-evaluating, refining and refreshing making new observations and connections all the time, whilst we are housekeeping the external knowledge base we are infact housekeeping the one in our skull at the same time.

Disclaimer: I use the phrase “I wrote” but like most people here I needed help from folks with greater TW knowledge and ability, always important to acknowledge :slight_smile:

I can point you in the direction of the plugins if you wish.

6 Likes

Welcome on board! Good question too - and my overall TW use is similar - a notepad/personal knowledgebase first and foremost.

How do I keep track and find stuff?

My setup relies heavily on search, and one of the things I regularly do is old-school SEO type tricks of including keywords - things expected enough that I would want this entry to be found if I searched for that keyword, but not something I want to elevate to full tag status. (I usually label this section of tid contents as “search food”.

The other thing I try and do with tags is ensure that each tag is itself a tid - sometimes with little more than an explanation of why it’s a tag. The other tag thing I do and find valuable, is specifically expose the what is being tagged by the current item. By default it’s a list in the ‘Tagging’ tab of the hidden info pane, but I have it at the bottom of every entry thus always visible. example screenshot:

The paradigm that “any item can tag any other item” (rather than the more common “tag names are effectively their own namespace”) is one of the big draws to TW for me. It allows me to lean into creating connections via tagging in a way that allows for emergent structure relatively easily.

Different TW make different amount of use of these though. My work TW for instance is as much a work journal as anything, and leans heavier on search (254tid, 35 tag) vs my main personal which leans heavier on tag connections (205tid, 63 tags)

Part of the the power of TW is the flexibility of different approaches available - though I recognise that can be frustrating to find what works for yourself! Hopefully this thread will get other folks’ thought processes and solutions shared (I know I’ll be keeping an eye on this discussion for them)

2 Likes

@Mermin , what you are describing is a problem that has plagued many of us for many years. Several ideas have resulted from addressing it including taxonomies for choosing tag names, the semantic web to try and get some structure into information spaces, hypertext technologies, etc.

Many years ago, I came across the book, Mapping Hypertext by Robert Horn. In this book, he describes his idea of how to structure such information spaces you describe. You can get a copy on the Internet Archive, Mapping hypertext : the analysis, organization, and display of knowledge for the next generation of on-line text and graphics : Horn, Robert E : Free Download, Borrow, and Streaming : Internet Archive.

I suggest you take it and study its relevant parts. It may not solve your problem but it will certainly get you thinking in the right direction.

Bobj

4 Likes

This can give a few name management ideas Grok TiddlyWiki — Build a deep, lasting understanding of TiddlyWiki

2 Likes

This is quite true. When your TiddlyWiki notes grow into the hundreds, it feels like an ocean of fish, and finding the one you need becomes a real challenge. The search tool in the right sidebar lacks intelligence, and organizing tiddlers is a headache—time-consuming and not ideal for quick, natural note-taking. This is where TiddlyWiki struggles to function as an effective second brain.

In my setup, I use dozens of TiddlyWikis, each containing just a few tiddlers (notes), rather than having a few TiddlyWikis with thousands of notes.

1 Like

TiddlyWiki can be a powerful second brain, but it needs a bit of structure to scale gracefully. Here’s a practical framework to help you tame the chaos and turn your growing tiddler collection into a navigable, idea-generating system:

:brain: Core Principles for a “Second Brain” in TiddlyWiki

  • Atomic Notes: Keep each tiddler focused on a single idea or concept. This makes linking and refactoring easier.
  • Bidirectional Linking: Use links and backlinks to create a web of connected thoughts—like neurons firing across your digital cortex.
  • Refactor Often: Split long notes into smaller ones and link them. This keeps your wiki modular and searchable.

There are a few tools like Mehregan for bidirectional linking.


:label: Tags: Build Hierarchies, Not Just Labels

TiddlyWiki tags aren’t just labels—they’re relationships. You can build multi-level hierarchies like:

Research > Hydrogen > CLWS-SESMR
  • Tag each tiddler with a parent concept.
  • Create tag tiddlers that act as category hubs (e.g., a tiddler tagged Hydrogen can list all related notes).
  • Use tag pills to navigate and visualize structure.

:key: Keywords & Fields: Enhance Searchability

  • Add custom fields like keywords, status, or project to tiddlers.
  • Use filters like [field:keywords[gasification]] to surface relevant notes.
  • Consider a naming convention like for unique IDs that are searchable.

Mehregan has keywords tool to help better searchability


:clipboard: Templates: Consistency & Clarity

Templates help standardize how your notes look and behave:

  • Use View Templates for consistent display.
  • Use Edit Templates to streamline editing workflows (e.g., always show tags, fields, and backlinks).
  • Customize templates to highlight key metadata like author, date, or related topics.

Mehregan uses People, Source, Idea, Reading, Journal to standardize look and behavior


:books: Table of Contents: Navigate Like a Pro
Use the <<toc>> macro to generate dynamic tables of contents:

<div class="tc-table-of-contents">
  <<toc "Hydrogen">>
</div>
  • Create ToCs for projects, topics, or even your entire wiki structure.

:jigsaw: Bonus: Zettelkasten in Mehregan Edition: Key Features

  • Atomic Tiddlers: Each note (tiddler) captures a single idea, making it easier to link and reuse.
  • Bidirectional Links: Every tiddler can link to others and show backlinks, creating a dense web of knowledge.
  • Node Explorer: Visualizes connections between notes, helping you see clusters of related ideas.
  • Tagging System: Tags act as thematic bridges, grouping related notes and enabling filtered views.
  • Comment Blocks & Interstitial Journaling: Capture fleeting thoughts and reflections between notes.
  • Category Tabs: Organize notes by type—ideas, sources, people, questions, etc.

You can explore the live demo or source code on GitHub.


Use of proper plugins

  • Refnotes and bibtex
  • Relink
  • Shiraz dynamic tables

Learn from example wikis

More Readings:

6 Likes

:100:

For me, it’s often a matter of relentlessly reworking my tagging structures. I always have a tag-based table of contents, and which tags get to be at the top and second levels is how I manage the overall structure of my wiki. But I also write tools as I need them to select subsets of the tiddlers with a given tag and add/remove tags from them, splitting and joining existing concepts.

I’m definitely not as organized about this as @jonnie45, but I feel that for every five hours I spend with one of my personal knowledge wikis, it’s worth spending an hour considering and tweaking its structure.

1 Like

Hi @Mermin

I am posting without having seen what others have already posted.

One thing I do in some files is have a tag entitled .dump for “dumping” tiddlers. The decimal is so that it appears first in lists of tags. Or maybe a tag “.toProcessLater”. Then schedule time each week to process them. In the moment you just “dump” by adding one tag in order to remind yourself to process them later.

By processing, I mean doing whatever is necessary so they are findable by you later. The others’ answers will probably give you ideas on how to do that. The present idea is just so tiddlers don’t get completely lost in the very moment of writing them, and maybe you are not ready at that moment to process them fully.

2 Likes

@Mermin

I would second Mohammad’s helpful ideas:

  1. Use separate TiddlyWiki files for different purposes (Writing, productivity, info etc)

  2. Use linking in combination with a ViewTemplate tiddler (= tagged $:/tags/ViewTemplate) with this content: <$list filter="[all[current]backlinks[]]"><$link><$view field="title"/></$link></$list> to take advantage of bidirectional linking

  3. Use fields. for example, a format field with video or table or whatever, then have a list similar to the above but where the filter is [search:format[video]], etc to find all tiddlers where the format field has the search string video.

@Mohammad once helped me out with a plugin to create dropdown lists of tags in edit view. So I could choose which format tag a tiddler should have, which project, etc. He could provide you a link off the top of his head, where I would have to hunt it down.

Not sure how helpful it would be in this discussion but in general check my Documenting TW — a non-linear personal web notebook too.

2 Likes

Hi Mermin,

Welcome to the community. You have brilliant advice already.
When I was in your shoes I felt exactly the same and had the same questions. This is due to TiddlyWiki’s non-linear nature. It is the only one I’ve seen that really achieves this and I have a few simple recommendations for you:

  • Learn filters and how to combine tags within them to build lists
  • Keep each filter in a separate tiddler with the relevant title and those lists will update themselves. It is much easier to keep track of 20 tiddlers than 200.
  • If you want them in the same tiddler, use transclusion and short summary of the lists.
  • Install TiddlyMap. It is a powerfull analysis tool, especially if you’re visual person like me.

I wouldn’t recommend spending time trying to apply someone else’s system like P.A.R.A. and the other ones. Different people have different ways. I made a few attempts to change myself and failed. This made me realise that instead of moving forward, I am looking to change who I am in order to silence my fear I’m not doing things right. Your system should be bespoke and tailored to you, your way of thinking and approaching problems. Then, information retrieval also becomes self-discovery and no other note-taking app has done so much for me, as TiddlyWiki.

I base my answer on my own experience. Trust the process and don’t hesitate to post if you’re stuck. You’ll definitely get uniquely diverse oppinions and friendly help. Always.

3 Likes

Using this partitioning of knowledge inevitably leads to the need to move tiddlers from one wiki to another. While with Node.js this is a simple matter of moving files (because each tiddler is a distinct file) across the filesystem, what are the user friendly options with single file wikis? Is it possible something like loading two of them side by side in the same browser window and moving tiddlers by drag-and-drop or pressing hotkeys a la two-pane file managers like Norton Commander / Midnight Commander / Far Manager?

You can just drag from a tiddlywiki file in one tab to a file in a separate tab. no worries.

I usually set $:/ControlPanel > Settings > TiddlyWiki > "Tiddler Titles" so they are displayed as links. This makes it very easy to view a tiddler in the StoryRiver and then drag-and-drop the title into another open TiddlyWiki … and even without this setting enabled, you can always drag-and-drop individual titles directly from the SideBar lists.

You can also use filter syntax in the $:/AdvancedSearch > Filters tab to identify a set of tiddlers and then drag-and-drop the “export” button (the “half box with up arrow” icon) into another open TiddlyWiki to import the entire list of matched tiddlers. Alternatively, if you click on that “export” button, you can download a file in JSON format that contains all the matched tiddlers. You can then drag-and-drop that saved JSON file from your local system to any open TiddlyWiki to import them.

As an extra bit of kit, you can install TiddlyTools/Search/SaveFilter to add a “save filter” button to $:/AdvancedSearch > Filters. When clicked, this button shows a popup for you to create a named “custom filter” tiddler. This tiddler can then be re-used in the future simply by pressing the “down arrow” button in $:/AdvancedSearch > Filters.

enjoy,
-e

edit: to achieve a MOVE, after copying the tiddlers with any of the above techniques, you could then delete the individual StoryRiver tiddler using the “More > Delete” item from that tiddler’s toolbar or delete all matching tiddlers from $:/AdvancedSearch > Filters using the “Delete” button found there.

2 Likes

That would copy rather than moving I think. And would only work for single tiddlers, no?

You learn something new every day! This is a nice alternative to downloading to JSON only so I can import it elsewhere and throw away the file.

Thank you!

I have created a few things to make tiddlers more easily findable and structured:

and in some of my main wikis, I have a viewtemplate for a little “star” button in each tiddler to mark it out as special (and findable)

But what does that do to solve the problem of keeping track of which notes there are and how they relate? (If anything it sounds like it would worsen the problem if you “can just throw in quick notes without structure, and later decide what to do with them” ?)

As for copying tiddlers between wikis, I use

3 Likes

Yeah… I’m proud to say that was one of my ideas. When I proposed it, there was some concern from others that, while it is very useful, it is also not a visible feature. Still, after some discussion on github, it was accepted because it was a VERY small UI change that offers so much potential utility with NO TWCore code changes.

By the way… this same “drag to export” functionality can be added to ANY $button widget by using the dragFilter parameter (see ButtonWidget), which can be set to any valid filter syntax and can include using just a simple list of tiddler titles, like this:

<$button dragFilter="Foo Bar Baz Mumble Frotz Gronk Snork Snerfle Plurm">drag to export</$button>

I use this technique in my TiddlyTools “…/Info” tiddlers. For example, in TiddlyTools/Time/Info you can drag-and-drop the “There are 25 program tiddlers” message to import all the TiddlyTools/Time program tiddlers in one step.

enjoy,
-e

4 Likes

The next step is a drag/drop tool that also creates a button tiddler to allow you to delete the items you just moved. Then you have a true “move” system.

The same button can be assigned multiple actions: a click could trigger downloading as JSON, shift+click might delete tiddlers, and drag-and-drop could move them. Including a confirmation step before deleting is a smart way to avoid accidental deletions.

This was something I was trying to make in my own wiki as a little side project but ended up not being able to get it to wok.
If I remember right I wanted to make it look like a bookmark icon, and when clicked, either it would get tagged as a bookmarked tiddler or added to a list field, I don’t recall which, but if it was bookmarked it would have a filled in button icon.
Just felt like sharing, I might attempt it again in the future, if anyone knows of any button templates similar to it, I’d appreciate the recommendation :grin: