それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Evernoteにアクセス - ノート作成 JavaScript for OSX Automation

Evernote でノートを作成すると・・・

Evernoteでのーとを作成するスクリプトを作って、Evernoteの新規作成を楽にしたい

Evernoteを新規作成を出来るようになると、各種のアプリの自動化と組合せて、Evernoteを使うのが相当楽になると思います。

Evernoteで新規作成の基本形

ノートの新規作成をする、コレが基本です。

  var app = Application("Evernote")
  var note = app.createNote({
      title :    "テストノート",
      withHtml:  "JavaScriptからこんにちは"
  })

テンプレートとして、HTMLを作ることが出来る

HTML を放り込めるので、HTML使ったテンプレからノートを作ることが出来る。

  var app = Application("Evernote")
  var my_title =  "javascipt でノート作成テスト" 
  var note = app.createNote({
      title :    my_title,
      withHtml:  create_html( my_title )
  })
 function create_html(  title ){
    return "<h1>"+title+"</h1>" 
  }

ノートブックを指定した新規作成

単純に新規作成だと、デフォルト・ノートブックにノートが作成されるので、作成先のノートブックを指定するとさらに便利なんだと思う。

  var app = Application("Evernote")
  var note = app.createNote({
      title :    "テストノート",
      withHtml:  "JavaScriptからこんにちは",
      notebook: "明日の予定"
  })

notebook の「名前」を文字列で指定するだけで作成することが出来る。

もちろん、ノートブックをオブジェクトで指定しても構わない

  var app = Application("Evernote")
  var a_notebook = app.notebooks["明日の予定"]
  var note = app.createNote({
      title :    "テストノート",
      withHtml:  "JavaScriptからこんにちは",
      notebook: a_notebook
  })

どちらもで同じですね。

ファイルを使った新規作成。

ファイルを指定して、ファイルを添付したノートを作ることが出来る。

ノート新規作成時に、ファイルを追加はできるけれど、ファイル作成後でも余り変わらない。なので、

ノートを作成してからファイルを添付する例です。

  var app = Application("Evernote")
  var note = app.createNote({
      title :    "テストノート",
      withHtml:  "JavaScriptからこんにちは"
  })
  //作ったノートに、ファイルを追加
 var f_path = "~/Desktop/index.html"
 note.append({ attachment: Path(f_path) })

ポイントは、Path オブジェクト。 OSXJavascript でファイルを扱うときには、パスの文字列を、Pathオブジェクトに渡すことで、ファイルとして使われるようになる。

新規作成時にファイルを指定するには

新規作成の引数でも、ファイルを指定する事もできる。

  var app = Application("Evernote")
  var note = app.createNote({
      title :    "テストノート",
      withHtml:  "JavaScriptからこんにちは",
      attachments : [ Path("~/Desktop/index.html") , Path("~/Desktop/face.jpg")  ]
  })

ファイルを指定する事もできるけど、一気にやると、デバッグ面倒なので1つずつやるほうが好きかな

リマインダと連携する

リマインダの「明日の予定:リスト」をEvernote「明日の予定:ノートブック」に追加する。

//Evernoteに追加
function evernote_add_note( title, body ){
  var app = Application("Evernote")
  var body = body || ""
  app.createNote({
    title  : title ,
    withHtml : enmlTemplate() + body,
    notebook : "明日の予定"
  })

}

// Reminder ⇛ Evernote
function reminders_to_evernote(){
  var app = Application("Reminders")
  list = Array.apply(null,app.lists["明日の予定"].reminders)
  list.filter( function( e ) { return !e.completed() })
  list.forEach( function( e ) {
    evernote_add_note(e.name(), e.body())
  } )
}

function main(){
  reminders_to_evernote();
}


function run(){//起動時に実行
  main()
}

他にも色々な連携が

  • メールの特定部分をEvernote
  • 選択した文字列をEvernote
    • Automatorと連携したServiceとして作る(後で書きます
  • CSV/Excel/Numbersファイルに書いたタスクリストからEvernoteの新規作成
  • メッセージ・スカイプのログからEvernote
  • PDF ファイルをまとめてEvernoteに追加してテンプレをつくる。

などと、Evernoteにいろいろな情報を放り込めるようになるので、とても便利だと思います。

その他の記事

takuya-1st.hatenablog.jp