Tiddlywiki Indexer Plugin: Public Release

Ref: Tiddlywiki Indexer: Create Subject/Author Indexes

Tiddlywiki Indxer Plugin is a new tool to create subject/author indexes. It also allows to create any custom type of indexes e.g. places, objects, etc.

Code and demo

You can star it from repo page if you found it useful!



Add entries Ui

Index UI

Live preview


It seems sort of odd to me to that the Indexer configuration controls are in a sidebar “more…” tab rather than appearing as a $:/ControlPanel tab

1 Like

I actually use $:/ControlPanle > Settings to put plugin configuration!

But sadly Settings is appeared if CodeMirror is installed! I did not know this after some issues reported for other kookma plugins! So, I decided to add also them to SideBar > More. I added however the option to remove settings from sidebar more


I reported this as an idea to Tiddlywiki GitHUb, see [BUG] Settings tab and third party plugins · Issue #5520 · Jermolene/TiddlyWiki5 (github.com)

@Mohammad you have excelled again with this solution.

I Just reviewed the demo, and think the very first description could be a little more descriptive and explain why one would use it.

Let me try, but I am sure you can do it better.

Tiddlywiki indexer helps you build an index of tiddlers based on particular values and where they are found in your wiki, for quick reference. These are divided into alphabetical tabs, so you can quickly locate relevant content in your Wiki.

To control what Items appear in an index (you can have more than one) you create a list of entries keywords, terms, or phrases and “Tiddlywiki indexer” will search for these and list the tiddlers containing these entries, so you can review them in the index User Interface (UI).

You can also define the scope of places to search for these keyword entries such as non system tiddlers and/or the fields within the tiddlers to search.

Question: What do you mean when you say back matter?

I may develop a few indexes designed to use on tiddlywiki.com as usable examples.

Love your work!

1 Like

Congrats @Mohammad I think you have crated a very nice thing that should be useful for any wiki that has a lot of content.

As I look in your demo, at the index for, for example, “A” it strikes me that you have to scroll a lot before you actually see what index entries there are for A, (i.e Action ActionWidget Article Audio). It might be useful with a little list of the entries just above the list? I’m guessing it would be tricky to make them into links to jump down to the entry list, but even just a non-link list would be useful. OR maybe each entry heading should be a revealwidget? So you see all the entries and opens whichever is relevant? A neat thing with such revealwidgets (if it is not a temp statetiddler) is that the user can set it to show or hide depending on his use case. If he only has lists with few terms under each entry then maybe it makes sense to keep them permanently open, otherwise closed.

1 Like

Hi Mohammad

I have been using your Indexer for a couple days now. I am really liking it. It really cuts down on my ‘organizing’ time! Thank you so much for this plugin!

Just a comment to say that I added 0-9, # and @ to my alphabet lists, and that is working great. The numbers are great for dates and years, and topics that start with numbers. I use # for meta type items that I want to track (#Projects.Unfinished). And I haven’t used @ yet, but the GTD system uses @ for tracking to do lists by domain or location @Home @Work, @EricShulman, etc.

I have also been using the details element as I mentioned in the other thread, but I realized I had added it incorrectly. I fixed it and it works great. Without sliders the lists are too long and I need to scroll down a long way. In $:/plugins/kookma/indexer/macros/index I change the bottom section to the following:

<!-- generate output -->
<$list filter="[<indexTiddler>get[text]enlist-input[]sort[title]]  :filter[subfilter<listfilter>] :filter[subfilter<sfilter>limit[1]]" >

<details><summary><$text text=<<currentTiddler>> /></summary><span class="indent1">
<$list filter=<<sfilter>> ><span title={{{[<livepreviewTid>get[text]match[yes]then{!!text}] }}}><$link/><br></span>




I am primarily using tags and the keywords field rather than titles and text, so as to filter out irrelevant results.

Anyway, thanks again!

1 Like

On @Mohammad’s behalf…

Front matter is the stuff before the book “proper” begins (TOC, Preface, etc.)

Back matter is the stuff after the book proper ends (index, appendix, references, bibliography, etc.)

1 Like

Thank you all for your inputs!
Thank you! I will include your paragraphs in Indexer docs for next release! Much appreciated!

If I correctly understand your comment, it asks to scroll to the beginning of list when an alphabet letter is clicked on the side! $linkcatcher and $eventcatcher may be helpful here but getting the full solution may require JS. Right now a button is used!

Hide/Show long list is possible and I will see how to add it!

Great to see you are using Indexer in real world wikis :wink:
Based on your suggestion (details tag), I am thinking to have more… button which means links are visible but above 10 links or so will be hidden and a button will show all!

Thank you for your clarification!

I tried to keep Indexer minimal and simple!

Best wishes

Tiddlywiki Indexer v0.6.0

Tiddlywiki Indexer has got new update

Release 0.6.0

  • Jan 25th, 2022
  • [NEW] button go to top of index
  • [FIXED] the scope of indexing now can be set to cover shadows, systems tiddlers
  • [FIXED] the serach mode changed from words to literal
  • [FIXED] improve documentation

Code and demo

You can star it from repo page if you found it useful!

@TW_Tones your paragraphs were added
@twMat a button to scroll to top of list was added!
@DaveGifford, @twMat hiding long list is not implemented yet! Using details alone does not work as when you switch the tabs, the details get rendered and returned to its initial status! That means we need to add temp/state tiddler to keep status in one Tiddlywiki session when you hide/show sidebar or switch between tabs! I decided to work on this and find a better solution!

Feedback are welcome!

1 Like