Evernote をコンソールから扱いたい

背景

Evernote がすごい便利な気がしてきたので活用したいと思いました。

要件

  • コンソールから Evernote にノートを作ったり、既にあるノートを編集したりしたい
  • markdown で書きたい
  • Vim で書きたい

結論

Ruby で書かれている evernote-editor というのが良さそうだった。
良さそうと思ったけど Evernote からとってきてエディタで読み込んだときにデータ構造がちゃんと markdown にできてない気がする…(あとで確認する)。 → 最初から markdown で作ったノートなら大丈夫そうだが、そうでないノートだとデータがこわれる(保存しなくても markdown にパースしてそれを保存しようとするため)。

evernote-editor の使いかた

Rubygems にあるので、gem つかえる環境ならば以下で導入できる。

gem install evernote-editor

すると、evned というコマンドが追加される。
title という名前のノートを作りたいときは以下のようにする。

evned title

初回起動時は、developer token と編集に使いたいエディタを尋ねられる。

編集するときは -e オプションをつける。ノートの候補が複数ある場合は、いくつか候補があるため選択せよといったプロンプトがでるので、自分が編集したいものを選ぶ。

evned -e title

タグをつけるとか Evernoteサンドボックス環境で実行するとかのオプションがある(README 見たらすぐわかる)。

その他の選択肢

他に探した感じでは、 Evernote をコンソールから(Vim から)扱う方法は以下の2つの選択肢があった。

前者の evervim はエディタ(Vim)に Evernote にポストする機能を付加するもので、+pythonvimコンパイルする必要がある。自分が Emacs を使っているならばこのようなアプローチでもかまわないと思う可能性があるが、自分としては、エディタにはテキスト編集以外の機能を盛り込みたくないので今回はパスした。タイトルとかタグとか全部含めてエディタの中で書けるのは良いなと思った。

後者の geeknote は、python で書かれた Evernote クライアントで、テキスト編集部分を任意のエディタで編集することができる。いままではこれを使っていたが、新規ノートを作るときにエディタが使えず微妙に不便だった。ドキュメントをちゃんと読んでいなくて見つけられなかったのかもしれない。ぱっとみの印象では、インタラクティブにコマンドを実行するというより、バッチスタイルで使うのに便利なインタフェースに見えた。

ちなみに Windows 環境では以下が使えるようだった(未確認)。