Evernoteにファイルをまとめて放り込みたい。
コマンドでまとめてEvernoteに放り込みたい。APIを経由すると毎年〜キーを更新しなくちゃいけないので面倒くさい
なので、Apple Script ( の JavaScript ) でやろうと思う ( Windows な人は同じ目的で enscript.exe が使えます)
JavaScriptで自動化するときのポイント
コマンドを使って起動するときは
#!/usr/bin/env osascript -l JavaScript ObjC.import('stdlib') /// ここがmain関数に相当する function run( argv ){ console.log("Hello World") }
Evernote に新規ノートを作ってファイルを貼り付け
Evernoteに新規ノートを作ってファイルを貼り付ける場合は、次のようにする。
var name = 'no title' var file_path = '/Users/takuya./.bashrc' var app = Application("Evernote") var notebooks = app.notebooks var defautNoteBook = Array.apply(null, notebooks).find(function(e){ return e.default }) var note = app. createNote({ title: name, notebook: defautNoteBook, withText : name }) note.append({ attachment: Path(file_path) }) app.activate()
NSString とFileManagerを使ってPATHの存在チェックなど
realpath と file_exist? をやって引数チェックする
file2evernote.js
ObjC.import('Cocoa') nsStr = $.NSString.alloc.initWithUTF8String(file_path); file_path = nsStr.stringByStandardizingPath.UTF8String; mgr.fileExistsAtPath(e)
これをまとめてコマンドにする
引数で受け取ったファイルを一覧を処理してEvernoteに貼り付ける。
使い方
./file2evernote.js *.jpg