Journaling tool (22 May 2017)
I found this really neat utility called jrnl that I have been using for daily writing over the past week or so. However, it didn't fit perfectly with my workflow, which is to have separate files for each day of writing, e.g. "2017-05-22.txt" would be today's entry. Alas, I don't know Python, so hacking on jrnl would be a bit of a learning curve for me. Rather than going down that rabbit hole, I replaced the entire thing with a single line of shell script (wrapped here for display) which fits much better with my workflow. I use fish shell, but it should be easily adaptable to posix or whatever you prefer.
alias jrnl '
pushd "$JOURNAL_DIR";
and git pull;
and echo "##### "(date) >> (date "+%Y-%m-%d.txt");
and vim (date "+%Y-%m-%d.txt");
and git add *.txt;
and git commit -m "jrnl "(date "+%Y-%m-%d.txt");
and git push;
and popd'
This expects a variable called JOURNAL_DIR to be defined that tells it where to write the journal. If you just want to use the current directory, you could remove the pushd and popd commands. I also keep my daily writing under source control, hence the git commands. Of course, you can also substitute your editor of choice for vim.
I hope that someone else finds this useful, or at the very least, interesting! I've been finding lately that a lot of things that I used to use complex tools to achieve can be done just as simply with a few lines of code adapted to my particular use case.
Update 25 May 2017 - Added git pull/push before and after, made it so that the journal won't clobber itself if you use it twice in the same day.