Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I wrote Supertag[0] specifically to get the same kind of ergonomics with tags as you get with folders. Basically you can dynamically render sub-folders based on the tags that apply to your current selection.
Example: /A/B contains the intersection of tags A and B. If sub-folder C exists underneath /A/B, it's because one of the files in the intersection also has tag C.
0. https://amoffat.github.io/supertag/
I have settled on putting tags (bunch of words I associate with given subject separated by underscores) in names of files/directories and using FSearch (https://github.com/cboxdoerfer/fsearch) to search for the tags in names/paths.
It's simple, it's portable, it's good enough. You could in theory improve it by having multiple views of the same data (let's say you want to save some notes about "Naturalis Historia" - should you put it under "ancient Rome" directory or under"biology"?) for example by using hardlinks but I don't know if there is a way to create a backup on another filesystem that will keep hardlinks as hardlinks (DAR seems promising http://dar.linux.free.fr/doc/Features.html but I have yet to try it).
Shameless plug:
I wrote a Nemo extension [1] that lets you add columns for #tags @persons or $whatever you put in a filename. You can sort by these columns. For complex things, there's always `find`.
[1] https://github.com/dejj/nemo-addons/blob/main/nemo-python/ex...
Here's a library for writing such classification systems in Emacs Lisp: https://github.com/alphapapa/taxy.el