I finally got around to make my single-tiddler view into a proper plugin.
This plugin actually comes with two components: a minimal
story view that removes all animations when navigating between tiddlers, and a SingleTiddlerView
page template that only shows a single tiddler at a time in the story river:
https://yaisog-singletiddlerview.tiddlyhost.com/
Check out the plugin readme for instructions on how to activate everything.
An advantage of this page template is that feels fast. Without the animations and with only a single tiddler that needs to be rendered during refresh, this can make large wikis feel more responsive, with faster much refresh times.
Previously, I hijacked the zoomin story view to hide all tiddlers except one (https://talk.tiddlywiki.org/t/zoomin-storyview-without-navigation-animations/6106). However, this is not the purpose of a story view. The selection of the tiddlers shown in the story river is part of the page template, and I finally put it there.
Currently, this plugin works only in 5.3.0-prerelease due to the way that the flexible MessageCatcher is implemented (see https://github.com/Jermolene/TiddlyWiki5/pull/7340 for more details and the original code by @btheado). The MessageCatcher needs to intercept tm-close-tiddler
and tm-delete-tiddler
to set a new tiddler to view after closing / deleting, so that the screen does not remain empty. The way it is implemented, the previously viewed tiddler is shown in this case, which is on the wish list for some users (see https://github.com/Jermolene/TiddlyWiki5/issues/7262).
Also, before installing the plugin you need to import the :then
filter run prefix functionality from https://github.com/Jermolene/TiddlyWiki5/pull/7392 which you can drag-n-drop from the demo site.
I apologize for this extra bump in the road, but I am confident that the PR will be merged shortly so that this step can be skipped in the future.
If anything breaks, press Ctrl+Shift+L
to select the default page template and let me know in the comments.
Yaisog
PS: Since $:/HistoryList!!current-tiddler
is always synchronous with the tiddler being shown, this enables e.g. displaying additional information about this tiddler in the sidebar by referencing this field of the HistoryList or highlighting the displayed tiddler in the list of open tiddlers.