Sunday, April 7, 2013

An Evernote backed Journal using Vim/Emacs

I journal quite a bit and my holy grail has been using my favorite text editor (Vim or Vim bindings) with Evernote to store the everything in a smart searchable format. Today I stumbled onto a neat little tool that makes this all happen called Geeknote http://www.geeknote.me/.  It's written in Python and works fine on my Mac.

Installing Geeknote

In the directory of your choosing run the following script.  This will checkout the latest copy from source and allow you to login:
#!/bin/sh
# Download the repository.
git clone git://github.com/VitaliyRodnenko/geeknote.git
 
cd geeknote
 
# Launch Geeknote and go through login procedure.
python geeknote.py login
#change vim to whatever you want it to be
python geeknote.py settings --editor vim
 
Then add the following script and execute it from whatever directory you want to install Geeknote into
 
#!/bin/sh
 
#change checkout_dir to match where you've checked out the latest
checkout_dir=~/Documents/geeknote
#change notebook to whatever notebook you use as your journal
notebook=Journal
title=$1
if [ -z "$1" ]
then
title=$(date +%Y-%m-%d)
fi
echo creating a note named $title in the $notebook notebook
 
python $checkout_dir/geeknote.py create --title $title --notebook $notebook --content "test"
python $checkout_dir/geeknote.py edit --note $title --notebook $notebook --content "WRITE"

Writing Journal Entries

My script is named journal so for me I just type either of the following:
journal  #creates a note in journal with todays date as the title
or
journal custom_title  #no spaces allowed and will use the title specified
 

Summary

With a few simple scripts and in moments you two can be writing notes in the command prompt. I highly recommend you extend these scripts to your needs or just use the Geeknote command prompt as you see fit.