Every time I see a new note taking app, I get excited that it might finally be the one that will satisfy my desired workflow. But every time I end up disappointed that nobody seems to think about this space in the way that I do.
Here is my basic premise: I want all of my notes to be dated, and I want them to tell a story of not just what I was thinking, but when.
Time is so fundamental to note taking. A note is never "This is my canonical position on X", it is always "this is what I am thinking about X today." But note taking apps rarely seem to bring time to the forefront.
Think about an issue tracker like GitHub issues. When you view an issue, you see a timestamped history of everything that has been added to the conversation and when. It tells a story of how the understanding of that issue evolved over time, and specific actions that were taken at specific times. I find this invaluable, and I want my own personal notes to work in the same way.
"So just use GitHub issues in a private repo." Well, GitHub issues isn't exactly what I'm looking for. Specifically:
- I want to use #tagging. If I click on a tag, I want a GitHub issues-like timeline view for all notes that include that tag. That way I can categorize notes across multiple dimensions.
- I want more control over how the notes are stored (Git is ideal, I can mirror the repo wherever I want).
- I want more control over how and when I publish the notes: if I'm taking work-specific notes, I want the option to publish them on an internal company server.
A Jekyll-based blog fulfills these criteria pretty well, except:
- Jekyll is primarily focused on publishing a website, not local viewing. To view locally you have to manually run a server in the background all the time ("jekyll serve") and there is a lot of HTML/CSS/configuration cruft that is overkill for note taking.
- Since Jekyll is not an app, it has no streamlined workflow for adding notes on mobile.
If anyone knows an app that is a good match for what I'm looking for, please let me know!
Dendron is very focused on local viewing, creating, and managing your notes (UX/DX). This is in addition to publishing, which is a differentiator between it and SSGs like Jekyll, Hugo, Sphinx, etc. It automatically timestamps notes at creation, and every following update, in two separate fields within a note frontmatter. Since Dendron encourages git for the versioning of your note vaults, you can get the full git history of each note.
With VS Code, you can also use GitLens to traverse and view the history of all the lines within each note (who modified this line last? etc.) with the built-in git blame navigation.
You could technically create a script of some kind that runs git diffs across the git history of files, and maybe create a "*.changelog" child file for each note, in the event that you want to have dedicated files displaying how each note evolved over time? Otherwise, that isn't a built-in feature with Dendron.
For mobile use, I've liked using mgit (Android) + Obsidian for editing my Dendron notes, and then use Dendron on my laptops/desktops. Others have mentioned GitJournal working well for them. Some more on that: https://wiki.dendron.so/notes/SJtEnmQQYGu0bP2Kg7UbA/
> You could technically create a script of some kind that runs git diffs across the git history of files, and maybe create a "*.changelog" child file for each note
I think you may have missed my core point. I don't want to revise old notes repeatedly. If I have something to add, or a change in my thinking, I want to create a new note, with a new timestamp, that describes my new thought. Then I want to use #tags to view a timeline of all dated notes that match a specific tag.
Think about GitHub issues. If you discover some new information about an issue, do you edit the initial bug report in place? Probably not (unless it's a minor error like a misspelling). You add a new comment to the existing issue, which makes it clear that this is new information that you didn't know when you filed the issue initially.
I want note taking to operate more like a journal or blog, with journal entries easily selectable by #tag.
I wonder if Trilium Notes and the journal functionality would address your needs. You can use tags and backlink to other related notes if you wanted to. You can view notes in a standard hierarchy structure or view a note map.
You can take it a step further if that doesn't completely address your needs by customizing it. The journal button is just a note with a script (with a specific tag). It's highly customizable.
You can export your notes (all, or get granular with some or a single note) as HTML or Markdown or OPML.
If you live in the Apple ecosystem, Agenda(1) could be just the right tool for you. I also very much like their pricing schema(2), more apps should do it like this!
You can export whole projects as one-file markdown (or HTML, RTF), worst case being having to go through every project, exporting and splitting the file up (by a script), or turn the agenda folder somewhere in ~/Library (contains bunch of json) into something usable via script, but I agree, it lacks a reasonable solution for getting it all out at once.
Here is my basic premise: I want all of my notes to be dated, and I want them to tell a story of not just what I was thinking, but when.
Time is so fundamental to note taking. A note is never "This is my canonical position on X", it is always "this is what I am thinking about X today." But note taking apps rarely seem to bring time to the forefront.
Think about an issue tracker like GitHub issues. When you view an issue, you see a timestamped history of everything that has been added to the conversation and when. It tells a story of how the understanding of that issue evolved over time, and specific actions that were taken at specific times. I find this invaluable, and I want my own personal notes to work in the same way.
"So just use GitHub issues in a private repo." Well, GitHub issues isn't exactly what I'm looking for. Specifically:
- I want to use #tagging. If I click on a tag, I want a GitHub issues-like timeline view for all notes that include that tag. That way I can categorize notes across multiple dimensions.
- I want more control over how the notes are stored (Git is ideal, I can mirror the repo wherever I want).
- I want more control over how and when I publish the notes: if I'm taking work-specific notes, I want the option to publish them on an internal company server.
A Jekyll-based blog fulfills these criteria pretty well, except:
- Jekyll is primarily focused on publishing a website, not local viewing. To view locally you have to manually run a server in the background all the time ("jekyll serve") and there is a lot of HTML/CSS/configuration cruft that is overkill for note taking.
- Since Jekyll is not an app, it has no streamlined workflow for adding notes on mobile.
If anyone knows an app that is a good match for what I'm looking for, please let me know!