Hi there! I’m pleased to announce that my timeline and events plugin, Tiddly Timeline, is live.
This is my first public plugin, which is exciting.
The idea is to allow you to create your own timelines for event tiddlers of your choice. You can control which tiddlers are shown in each timeline by providing a function/filter to the plugin, as explained in the documentation.
The timeline has built-in pagination and is mobile-friendly.
The plugin also includes a way to easily create a new event tiddler based off any (non-system) tiddler.
The plugin grew out of tiddlers I’d originally used in a wiki I use to manage information about family, medical details, trips, visits, etc.
I’m grateful to @Scott_Sauyet for offering suggestions which were very helpful at an earlier stage of the development. I rewrote a large part of the logic based on his thoughts, and this has definitely allowed for greater flexibility. Thanks, Scott!
I hope that some of you find this plugin useful. I’d appreciate any feedback! I know there might be some rough edges here or there, and your real-world feedback would be valuable.
I’m glad it’s useful. I realized that the tutorial was not so easily accessible, so I’ve now included it in the demo site, and expanded the demo a little too.
One thing that I use in my own wiki is a section at the bottom of every tiddler that shows a little mini timeline (just a list) of all events related to that tiddler. (Eg. under Doctor Ajay, you could see all the medical visits in a chronological list) This is really helpful, but it’s also built in quite an opinionated way. What would be a useful format to add this to the plugin? I can think of two options:
A procedure, which you can add to any tiddler you like. (Something like <<timeline-events-for-tiddler>>) You could also choose to add this in a way that it renders for every tiddler in your wiki.
A switch inside the configuration, where you can choose to enable or disable this feature for all tiddlers.
I’m not really sure.
A footer containing backlinks with a corresponding ViewTemplate defining select tiddlers either tagged or containg a specific field. (More thought needed)
Option 2 would be nice.
Regarding the demo, what did you expand? Maybe I missed something.
I’m not sure I understand. Do you mean that there should be a place in the config where you can input a filter to determine which tiddlers should have this footer added to them?
I didn’t add much to the demo. Mostly reorganized it into separate tiddlers, and added some short instructions to 2 of the demo timelines, explaining how to add content and see it show up in the timeline. Just to help people get a feel of how it works.
I would think a template which tests a subfilter value you set inside the config would be most useful. The template could point to the proc, <<timeline-events-for-tiddler>>, so you could still use it directly when you choose.
I’m falling asleep as I type, so I can’t really test it out, but I’m thinking something vaguely like
title: my filter
tags: $:/tags/View Template
<% if [<currentTiddler>subfilter{$:/my-app/config/footer-filter}] %>
<<timeline-vents-for-tiddler>>
<% endif %>
This release fixes a bug where an event’s item tiddler was not being set correctly by the ‘Create event here’ button.
Unfortunately, events that were created with earlier versions of the plugin will need to be fixed.
If you don’t have many events yet, it’s probably best to do this by hand. Otherwise you can try a repair tool that I’ve included with the latest plugin version. You can find this tool linked from the changelog.
The repair tool hasn’t been carefully tested, although I used it on my own wiki with many hundreds of events and it seems to have worked well.
This release also includes some performance enhancements: unified CSS and a little refactoring.
This is a performance update. On a wiki with hundreds of events, rendering the timeline felt sluggish. I used this as an opportunity to get to know the performance instrumentation tool, and to learn some important things about filters – especially the fact that their results aren’t cached, but are calculated every time they are called. It actually sounds obvious when I write it out, but somehow I hadn’t seen it that way.
Anyway, the timeline is now much faster, and I’m already enjoying that on my own wiki. I hope it’s helpful to you too.
The latest version makes it much easier to edit your event dates.
If you install the Tiddly Date Input plugin, your wiki will detect and use it when displaying Timeline event tiddlers. This means that for an event tiddler, instead of clicking the Edit button and then editing the when field as a long string of digits, you can simply* click on the date and your browser’s built-in date picker will pop up, allowing you to choose a date and time with ease. Some browsers, like Firefox and Safari, will only allow you to select the year, month and day in the pop-up; you’ll have to type in the time via keyboard.
* If your browser supports it. Modern browsers seem to have good support for this feature.