Show HN: Jot: Rapid note management for the terminal, inspired by Obsidian
github.com
github.com
Recently though I switched from vim to Doom Emacs and started learning org-mode. This turned out to quite literally be a career breakthrough for me, as I realized how much easier it is with both to remain productive throughout the day and to manage my personal knowledge base, or second brain.
I'd highly recommend everyone to try DE out [0]. I always thought Emacs to be unnecessarily complex, but majority of it is hidden away in special features. DE, especially for vimmers, delivers a lot of very useful IDE-like functionality out of the box, simplifies the hotkeys, provides stellar configurability and, in my experience, just lets fingers flow more smoothly across the keyboard.
Org-mode by itself may seem daunting as well, but it turns out to be designed in a similar fashion - take and use what you need, no hidden complexity or other strings attached. I can recommend Distrotube's tutorials on either [1].
note () {
DATE=`date +"%Y%m%d"`
TS=`date +"%Y%m%d %H:%M:%S"`
FILE=$HOME/Documents/notes/$DATE.txt
notegitpull
echo $TS >> $FILE
vi $FILE
notegitpush
}
notegitpull () {
pushd $HOME/Documents/notes
if ping -c 1 git.server &> /dev/null
then
git pull
else
echo "Offline, not pulling changes"
fi
popd
}
notegitpush () {
pushd $HOME/Documents/notes
git pull
git add \*
git commit -m "Autocommit due to edit of $FILE"
if ping -c 1 git.server &> /dev/null
then
git push origin main
else
echo "Offline, not pushing changes up"
fi
popd
}note //Adds a note to the current days notefile, in the current directory's .notes folder if present or ~/.notes if not
edit-note //Opens the same notefile as above in a text editor
notes //Concats todays notefiles echos displays them
all-notes //Concats all notes ever and echos them, useful to grep for keywords across my history of notes
Can Obsidian and Jot co-mingle in the same vault?
I use Obsidian and am very happy with the git plugin[0] and Working Copy(iOS)[1] for keeping things automatically synced between my phone and desktop(s). Often I find myself dumping notes into random places from the terminal; feeding markdown via pipes. But I then have to remember to collect these artifacts and ensure I fire Obsidian back up for a push. I'd love something that could work "together" with my present setup.
Looks like things are set out quite clearly[2], and Rust looks quite approachable. Very cool stuff!
[0]: https://github.com/denolehov/obsidian-git
Nice work tho!!!
You can find my journal of 450+ computer software ideas in my profile.
If you're on the fence over what tool to journal with, then I recommend my approach, it just works and it has low barrier to entry, you just need github account, you could even use the web interface to update your journal and edit the README.md.
Whatever tool you use it needs to have low friction so it encourages you to write and you don't forget how to create a post once you set it up.
The important thing about journalling is that it encourages you to write and keep writing which is where the reward comes from.
At one point I created an autocommit script that commits every second which you can change the commit message by setting it in a file called "current-task"
Could combine this with automatic synchronization with pulling too.
#!/bin/bash
while true; do
sleep 1
(cd app ; git status -z;
git add . && git commit -m "autocommit $(cat ../current-task)" ; git push -f app);
done > autocommit.log 2>&1Will add a reference to this comment, if I end up using it. :)
Git commits without any changes added are noops, that's the behaviour I rely on.
( nothing automatic, no concurrency management of course )
Do you have any plans to add something like that?
But keep going. The note taking space has made some serious progress in the last few years with things like obsidian, dendron, logseq, and many others, but terminal tools have not caught up yet and I'd love to see more progress there.
What I really want to do is build a language server for "backlinking markdown". In that case any editor could consume it to get references, go to definition, etc. Does that sound like the right experience?
Obsidian is so far the most seamless way to write and sync notes between Linux and iOS. I'd pay money for a daemon that could do E2EE encryption of any files on my machine and also worked on iOS.
How about using git, over https or ssh? Or are those 'specialized'?
> jt note newnote
> jt folder newfolder
I have to type "note" or "folder" twice, just to create a new one. I prefer the convention that most other tools follow whereby "new" is the base command, and then the thing you want to create is the noun. Eg
> jt new note
If you really want the noun to be first and the verb second, at least simplify it to:
> jt note new
Though I much prefer the verb first since it reads more like an action sentence.
Is this intended to make something like Nano easier to integrate with an extra tool set provided by Jot, or is there a feature I missed? I'm not sure what problem this is trying to solve.
And yes, this tool is meant for integration with text editors. Jot is simply for creating and managing notes (markdown files). You can use the text editor that you fancy, like nano or vim, or something like vscode, if you need a GUI.