When I last used it -- it was pretty cool. It was a "web app" that you saved as a .html file to your computer and just opened in the browser (no back-end, no web-server, all-local). I'm not sure how much browsers have locked that down now.
it's pretty awesome and inspired new projects.
nowadays i use logseq, but conceivably i could share the markdown with tiddlywiki.
it's also very good that you can use private sharable tiddlywiki's on the site. great for working together on projects.
While as an Emacs-er I have obviously not much interest in it, for some aspects it's relatively revolutionary:
- it have a unique concept of transclusion, notes can have tags and calling tags allow transclusion of all matching notes in the current one, a very nice composition idea, especially since you choose between transclusion and link;
- notes are created, with a companion app saved, full-text searched with a very simple UI, better than similar small wikis like Zim;
- it's js/web nature is a turn off, but might be interesting for many since this days is an easy to share media, easy to serve locally (see for instance widdler);
- it's simple but still a bit featured, like attachment support, image rendering in-line, LaTeX math rendering etc and it's moderately easy to mold with web stuff.
Personally I consider both Tiddly Wiki and Zim wiki two best example of modern apps well done with all limits of modern apps in general compared to classic systems. All other desktop tools for notes I know are far, far, far less interesting then those.
A hosted self-hosted note taking tool - recursion error. In all seriousness, there is a version of the internet I imagined where instead of subscription SaaS, all apps/tools were standalone pieces of software that you could choose to deploy wherever you wanted. Companies would provide 1-click methods to self-host on whichever cloud provider you desire.
Heroku is getting a lot of backlash lately but they have the "Deploy to Heroku" button that a lot of open source projects seem to have integraded well. I used it a couple of times and it worked really well. I see it sometimes in READMEs on GitHub repos.
If this could become a standard adopted by other cloud providers we could have the internet you imagined.
I mean, that kind of is what we're talking about here -- at any time you can switch between saving your stuff locally vs. self hosting with the Node server vs. a hosted option like this.
I seem to mention this for all related note-taking time, but I use Noteself, an 'extension' of tiddlywiki to use a local in-browser tiddlypouch database which has the option of being synchronised to a couchdb back-end which, in my case, I self-host.
This gives me 'anywhere on the internet' access to my notes. I can also save a single, local html file containing the entirety of said notes which is handy for distributed, ad-hoc backups.
Featherwiki was recently on the front page, which doesn't have the maturity of tiddlywiki, but has potential.
I have a personal preference for the traditional wiki presentation of DokuWiki. Each page is a document with links to another.
TiddlyWiki's dynamic web app approach of a feed of notes spawning from one another is a harder mental model for me. Kinda feels like a desktop with index cards continuously being added which adds a lot of overhead and frankly anxiety.
It may not fit your use, but the node.js version has a text file per tiddler (.tid) and there is also a "show only one tiddler at the time"-mode. To test the latter, just open https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FControlPanel%2F... and click "zoomin"
I tried Tiddlywiki a few years ago and it was fun but I just was too often switching between devices to deal with the pain of keeping it up to date.
I never really moved to another wiki solution but more just kept notes in different notetaking apps like Joplin (and currently Obsidian).
I'm curious what use case tiddlywiki (or similar wikis) solve for you that aren't solved by notetaking apps? I love the idea of collaborating on wikis (and do contribute to wikipedia) but for most of my notes I feel like a wiki is overkill.
Well, TiddlyWiki is a much more general platform than any notetaking app that I know of.
I use it more as a single-file database with an integrated front-end. Data are organized as tiddlers wih fields (if the wiki is about books, I can add fields for author, publication year, rating, and I can have other tiddlers for quotes or my thoughts on the book with other fields) that can be filtered and presented as I want without requiring advanced programming knowledge.
It plays nicely with git, doesn't require a server, can be e-mailed, doesn't require special software to view or edit, easy to share, cross-platform, looks similar on all platforms, can be used for sensitive data (as I can keep it locked down on my harddrive), and will probably work in 20 years.
Tiddlywiki is great but if youre looking for something more advanced then you might want to look at DokuWiki (very plugin centric) or Bookstack, my favourite these days which is a batteries included type of wiki.
By advanced I meant something that has more features.
No Wiki has everything but TiddlyWiki is more oriented towards personal use than group use.
I was referring to more collaboration features, API access etc.
Tiddlywiki is underrated for personal notetaking, I think. Like sqlite, it can come across as a toy, but the more you study it, the more possibilities emerge.
I come from Emacs and have worked in Org Mode for years, but I use Tiddlywiki every day to manage my work and personal notes. One of the most notable aspects of Tiddlywiki is that its interface is built from tiddlers, so, as a user of the wiki, you have full access to customize not just themes and content of the wiki, but everything about how it works. In this way, it reminds me very much of Emacs: a toolkit from which you build a system that suits you.
In addition, because it is self contained, it is not tied to today's software ecosystem. I can take a Tiddlywiki from years ago and open it on any machine with a browser...there's no install and no dependencies that might go stale. This takes the loqseq/Obsidian/Joplin philosophy of "I can take my notes with me to any system" and extends it to the system itself: "I can take my system to any computer, both now and later". I use Tiddlywiki to generate my website as well, but this requires using the npm module. Notably, even the npm module is dependency-free[0].
Personal example: I found that I think in terms of logs: recurring meetings are kept as a log, my daily notes are kept as a log, and projects I work on are kept as a log. Even my TODO items are logs of my efforts and findings as a work through the task. To support this more seamlessly, I've built a log-centric extension to Tiddlywiki that allows me to turn any tiddler into a logging tiddler. It has a text box that I type into at the top of the tiddler, and every time I press Ctrl-Enter, a log entry is added to the body of that tiddler. Because this system uses tag-based aggregation, a log entry can belong to multiple logs (the day it happened, the project it was related to, the recurring meeting where the idea was mentioned, etc.)
I don't think my system is for everyone, but that's kind of the point: Tiddlywiki is a system that allows you to build the system that suits you best.
Tiddlywiki is exactly what I want as a note-taking system, except for one detail: image handling. I have heaps of screenshots that I want to store along with my notes, and Tiddlywiki either:
1) embeds the image into the wiki itself (not sustainable); or
2) requires you to create image tiddlers with a _canonical_uri pointing to an external image file (which makes the Wiki not self-contained). This works but it's not as simple as drag and drop like in, say, Obsidian.
This small friction is the only reason I've picked a different tool for note-taking.
Agreed. I'm working on an extension that allows pasting of e.g. screenshots. It requires two components: a change to the wiki itself to trap the paste event and detect an image and call the backend to store it, and a server that can accept a POST that stores the images alongside the wiki. I needed the backend to support seamless saving via WebDAV anyway, so this was a small update to that code. I've finished the backend portion, but I'm still working on the frontend; I want it work in both the normal tiddler editor as well as my log-based extension.
I'm excited to get it working, but it does break the "all in one HTML file" aspect. I'm OK with that: I can archive the directory of images alongside the wiki, but it might not be for everyone.
Good to hear, please keep the number of possibilities high by storing the images just as files. Do you have public code to test or follow for interested TW5 users? Thanks!
Yes, the images are just files in a directory called "s" (for static) that sits alongside my wikis. I've describe this system a few times, but this is the first time I've gotten some interested replies. I have a long weekend this weekend; I'll take a stab at cranking through the frontend code and making it available publicly.
You might find the FileUploads plugin of interest. Every time it detects an image in TiddlyWiki that meets a specified filter, the image is uploaded to a storage backend.
The choice of backend is pluggable via Uploader modules. There is already an experimental PUT Uploader that is WebDAV compatible. The version currently published is very simple though there is an advanced PUT uploader that I need to polish up and publish that allows for things like creating directory structures if needed when uploading an image and sanitizing tiddler titles to ensure that they are valid file names.
This is extremely useful info, thanks so much for posting it! I was unaware of the FileUploads plugin, and I've been trying to piggyback as much as possible on TW's builtin WebDAV support so Notedeck remains lightweight. If I could update my existing backend code (it's a single, 320-line Python file at the moment) to support some additional WebDAV calls so it works with FileUploads, I would consider that a complete solution.
Another source of friction with Tiddlywiki is the interface. To create a tiddler, you need to enter a title, then tab to the tag name field, then tab to the content field, enter your content, and then there's no way to tab to the "Add" button; you have to pick up the mouse and click it. If you're using tags or categories, there's even more friction.
I love it conceptually, but if you're entering short discrete information (e.g., a number of todos, each as their own tiddler), it's more work than it needs to be.
Agreed. This is precisely why I built the logging system: it removes the need to add titles, and makes creation as simple as Ctrl-Enter.
Unlike many of the popular tools, it's got primitives one can compose to a solution that's smooth and fast, but doesn't provide it out of the box. I hope more tiddlywiki "distros" will be shared that bridge the gap.
For sure. I'm all about open source and sharing code with community, but always feel like it's not ready yet. =) I'll carve out time this weekend to push something up and share it publicly.
Just to follow up, here's a quick example[0] I threw together. I really need to turn this into a plugin, but because it somewhat depends on things like how journal tiddlers are titled and tagged, it's currently more of a distro. I hope it's interesting!
I’d like a feature whereby you optionally give pieces of information an expiry date (preferably in abbreviated natural language, like 2w for “in two weeks). After that has passed it can be presented differently: minimised, greyed out, disappeared, whatever suits.
Yes. Tiddlywiki supports arbitrary fields, and has one by default called 'created' that stores the creation time. It also has a filter mechanism that is central to how it presents information. Filters can be modified to block or pass tiddlers with a certain age.
If you want this by default, you can inject these filters into the view template to modify the default presentation of all tiddlers.
I think this may be a nice place for people to approach and learn programming; it is easy to make things that just works by combining HTML, CSS and tiddlywiki syntax. Not having to deal with dependencies or special software or compilation etc makes it a great place to experiment, play and learn, and one can make quite sophisticated things with it; ranging from
!! People I know
This is a list of people I know
<table>
<$list filter="[tag[People]]">
<tr><td>{{!!firstname}}</td><td>{{!!surname}}</td><td>{{!!phonenumber}}</td></tr>
</$list>
</table>
This isn't actually relevant to this link per se, but every time I tried to use TiddlyWiki, I found it to be essentially broken. I always try the self-hosted options, but never have gotten any to work. I should try again, but I use org mode for my own personal stuff, and I generally like it a lot.
You can also host a Tiddlywiki on Glitch and I think it's the smoothest way to let someone try it, bar none. I put together a project there with some scripts to automatically load in a theme, plugins, etc.: https://glitch.com/edit/#!/soapy-chalk-maiasaura
I really enjoy the TW community that offers help and encouragement, and playing opensource code here is even more fun than playing video games (I stop playing genshin impact and 2077 after I started the WYSIWYG project).
Hope more people find it fun joining this community and ecosystem.
45 comments
[ 5.0 ms ] story [ 119 ms ] thread- it have a unique concept of transclusion, notes can have tags and calling tags allow transclusion of all matching notes in the current one, a very nice composition idea, especially since you choose between transclusion and link;
- notes are created, with a companion app saved, full-text searched with a very simple UI, better than similar small wikis like Zim;
- it's js/web nature is a turn off, but might be interesting for many since this days is an easy to share media, easy to serve locally (see for instance widdler);
- it's simple but still a bit featured, like attachment support, image rendering in-line, LaTeX math rendering etc and it's moderately easy to mold with web stuff.
Personally I consider both Tiddly Wiki and Zim wiki two best example of modern apps well done with all limits of modern apps in general compared to classic systems. All other desktop tools for notes I know are far, far, far less interesting then those.
- org-roam to create/manage notes
- latexpreview in org-mode buffers
- org-transclusion
Only the last is not ideal, since it work but with sometimes indenting issues etc.
If this could become a standard adopted by other cloud providers we could have the internet you imagined.
This gives me 'anywhere on the internet' access to my notes. I can also save a single, local html file containing the entirety of said notes which is handy for distributed, ad-hoc backups.
Featherwiki was recently on the front page, which doesn't have the maturity of tiddlywiki, but has potential.
TiddlyWiki's dynamic web app approach of a feed of notes spawning from one another is a harder mental model for me. Kinda feels like a desktop with index cards continuously being added which adds a lot of overhead and frankly anxiety.
I never really moved to another wiki solution but more just kept notes in different notetaking apps like Joplin (and currently Obsidian).
I'm curious what use case tiddlywiki (or similar wikis) solve for you that aren't solved by notetaking apps? I love the idea of collaborating on wikis (and do contribute to wikipedia) but for most of my notes I feel like a wiki is overkill.
I use it more as a single-file database with an integrated front-end. Data are organized as tiddlers wih fields (if the wiki is about books, I can add fields for author, publication year, rating, and I can have other tiddlers for quotes or my thoughts on the book with other fields) that can be filtered and presented as I want without requiring advanced programming knowledge.
It plays nicely with git, doesn't require a server, can be e-mailed, doesn't require special software to view or edit, easy to share, cross-platform, looks similar on all platforms, can be used for sensitive data (as I can keep it locked down on my harddrive), and will probably work in 20 years.
Have a look at https://dynalist.io/d/zUP-nIWu2FFoXH-oM7L7d9DM to see what people have used tiddlywiki for.
I come from Emacs and have worked in Org Mode for years, but I use Tiddlywiki every day to manage my work and personal notes. One of the most notable aspects of Tiddlywiki is that its interface is built from tiddlers, so, as a user of the wiki, you have full access to customize not just themes and content of the wiki, but everything about how it works. In this way, it reminds me very much of Emacs: a toolkit from which you build a system that suits you.
In addition, because it is self contained, it is not tied to today's software ecosystem. I can take a Tiddlywiki from years ago and open it on any machine with a browser...there's no install and no dependencies that might go stale. This takes the loqseq/Obsidian/Joplin philosophy of "I can take my notes with me to any system" and extends it to the system itself: "I can take my system to any computer, both now and later". I use Tiddlywiki to generate my website as well, but this requires using the npm module. Notably, even the npm module is dependency-free[0].
Personal example: I found that I think in terms of logs: recurring meetings are kept as a log, my daily notes are kept as a log, and projects I work on are kept as a log. Even my TODO items are logs of my efforts and findings as a work through the task. To support this more seamlessly, I've built a log-centric extension to Tiddlywiki that allows me to turn any tiddler into a logging tiddler. It has a text box that I type into at the top of the tiddler, and every time I press Ctrl-Enter, a log entry is added to the body of that tiddler. Because this system uses tag-based aggregation, a log entry can belong to multiple logs (the day it happened, the project it was related to, the recurring meeting where the idea was mentioned, etc.)
I don't think my system is for everyone, but that's kind of the point: Tiddlywiki is a system that allows you to build the system that suits you best.
[0]: https://www.npmjs.com/package/tiddlywiki
1) embeds the image into the wiki itself (not sustainable); or
2) requires you to create image tiddlers with a _canonical_uri pointing to an external image file (which makes the Wiki not self-contained). This works but it's not as simple as drag and drop like in, say, Obsidian.
This small friction is the only reason I've picked a different tool for note-taking.
I'm excited to get it working, but it does break the "all in one HTML file" aspect. I'm OK with that: I can archive the directory of images alongside the wiki, but it might not be for everyone.
Demo: https://talk.tiddlywiki.org/t/image-imports-in-tw-5-2-0-and-...
The choice of backend is pluggable via Uploader modules. There is already an experimental PUT Uploader that is WebDAV compatible. The version currently published is very simple though there is an advanced PUT uploader that I need to polish up and publish that allows for things like creating directory structures if needed when uploading an image and sanitizing tiddler titles to ensure that they are valid file names.
Installation is via a plugin library: https://saqimtiaz.github.io/SQPL/ Discussion: https://talk.tiddlywiki.org/c/plugins/file-uploads/8
If you are working with TiddlyWiki and WebDAV, you might find this writeup of interest as well: https://saqimtiaz.github.io/sq-tw/webdav/
I love it conceptually, but if you're entering short discrete information (e.g., a number of todos, each as their own tiddler), it's more work than it needs to be.
Unlike many of the popular tools, it's got primitives one can compose to a solution that's smooth and fast, but doesn't provide it out of the box. I hope more tiddlywiki "distros" will be shared that bridge the gap.
[0]: https://rpdillon.net/NotedeckExample.html
Is TiddlyWiki extensible enough to handle that?
If you want this by default, you can inject these filters into the view template to modify the default presentation of all tiddlers.
Because it is fun creating thins around TiddlyWiki ecosystem, I've created things like
- Desktop app https://github.com/tiddly-gittly/TidGi-Desktop - WYSIWYG editor https://tiddly-gittly.github.io/slate-write/ - Sync to SoLiD web3 project https://github.com/linonetwo/solid-tiddlywiki-syncadaptor
I really enjoy the TW community that offers help and encouragement, and playing opensource code here is even more fun than playing video games (I stop playing genshin impact and 2077 after I started the WYSIWYG project).
Hope more people find it fun joining this community and ecosystem.