Thursday, October 22, 2015

Geeknote: Command-Line Evernote Client

Geeknote is a command-line client for Evernote, useful to add notes to Evernote via Bash scripts, cron, applications that can't directly use the Evernote SDK or to simply manage your Evernote notes from the command-line.

The tool supports all basic Evernote functions: it can create or delete notes, create notepads and tags, search notes (with filters) and of course, edit existing notes, but that's about it. The application doesn't support advanced features like adding attachments to your notes or downloading/opening existing attachments.

The default editor used by Geeknote is Nano, but you can change it to other console editors such as Vim, Emacs and so on and you can even use GUI text editors, like Gedit for instance.

Furthermore, Geeknote comes with a tool called gnsync, which allows synchronizing a folder containing text notes (it only works with text data!) with Evernote. This can be used to sync various logs or reports with Evernote under certain notebooks and add various tags automatically, but of course, there are many use cases for this.

Here are a few simple Geeknote examples (to simplify it, I didn't add tags or notebooks):
$ geeknote create --title "Testing geeknote"
Note has been successfully created.

$ geeknote edit "Testing geeknote"
Note has been successfully saved.
$geeknote create --title "Testing geeknote 2"
Note has been successfully created.

$ geeknote find geeknote
Search request: intitle:geeknote
Total found: 2
1 : 22/09/2014 15:23 Testing geeknote
2 : 22/09/2014 15:24 Testing geeknote 2

$ geeknote show geeknote
Total found: 2
1 : 22/09/2014 15:23 Testing geeknote
2 : 22/09/2014 15:24 Testing geeknote 2
0 : -Cancel-
: 1
################## TITLE ##################
Testing geeknote
=================== META ==================
Created: 22/09/2014 15:23
Updated: 22/09/2014 15:24
----------------- CONTENT -----------------
A simple test note created using Geeknote.

And a screenshot:


For how to use Geeknote, see its documentation.


Install Geeknote


Before proceeding, please note that Geeknote doesn't work with Ubuntu 12.04 / Linux Mint 13 because of an issue with the Evernote SDK for Python.

Debian / Ubuntu / Linux Mint (and derivatives) users can install Geeknote by using the commands below:
sudo apt-get install git python-thrift python-bs4 python-oauth2 python-html2text python-sqlalchemy python-setuptools
cd && git clone https://github.com/VitaliyRodnenko/geeknote.git
cd geeknote
sudo python setup.py install --record installed_files.txt
(the first command installs the required dependencies - there are 2 dependencies which aren't available in the Ubuntu repositories, but Geeknote automatically downloads and installs them)

To be able to remove Geeknote later on, make sure you don't delete the installed_files.txt file.

Arch Linux users can install Geeknote via AUR.

For other Linux distributions or Mac OS X, see the Geeknote GitHub page.

Once installed, authenticate Geeknote with Evernote by using the following command:
geeknote login
Note: Geeknote asks for a two-factor authentication code but if you didn't set this up with Evernote, simply press Enter.

Then, check out its documentation to see how to create/edit notes, change the default editor, etc.


How to remove Geeknote in Debian / Ubuntu / Linux Mint


To remove Geeknote (assuming you installed the app using our instructions and you didn't delete the "installed_files.txt" file), simply use the following command:
sudo xargs rm -v < ~/geeknote/installed_files.txt
(if you moved the installed_files.txt file, make sure you edit its path in the command above)

No comments:

Post a Comment