ジャムスタ

just another mind Style

Evernoteに読書ノートを作成するのを補助するスクリプト[Evernote][AppleScript]

Evernoteに読書ノートを作成する場合、全ての要素を一つのノートにまとめるパターンと、一つずつの要素で一枚のノートを作成するパターンが考えられる。

 

前者は、特に難しいことはない。テキストファイルに書き付け、それをEvernoteに保存すればよい。あるいは、直接Evernoteに書き込んでもよいだろう。

 

が、後者は少々手間がかかる。

 

一冊の本で5つの要素があるとして、それぞれのノートに、本の名前や著者名のデータを入れておかなければならない。それがちょっと面倒である。

 

というわけで、それを補助するためのスクリプトを考えてみる。

 

とりあえず、基本的な動きから想定しよう。

 

まず、本のタイトルを入力してもらい、これを変数に入れる。

次に、本の著者名を入力してもらい、これを変数に入れる。

 

次に、引用したい文章を入力。これも変数に入れる

 →もし、引用文についてコメントを残したい場合はそれを入力する画面を表示。それも変数に入れる。

 

続いて引用したい文章があるのかどうかを確認。

ある場合は、本のタイトル、著者名よりもあと、つまり引用文を入力する部分からループを繰り返す。

 

で、もう引用したい文章がなくなったら、終了する。

 

おそらくEvernoteへは、まとめてノートを作るのではなく、順々に作成していくことになるかもしれない。この辺はどちらがよいのかはわからないので、とりあえず作ってみることにする。

 

f:id:Rashita:20130227180445p:image

f:id:Rashita:20130227180451p:image

f:id:Rashita:20130227180511p:image

f:id:Rashita:20130227180508p:image

f:id:Rashita:20130227180522p:image

という感じ。

 

set booktitle to text returned of (display dialog "書籍タイトルを入力してください!" default answer "")
set bookauthor to text returned of (display dialog "著者名を入力してください" default answer "" with title booktitle)
-- それぞれをタグにしますか?

repeat
    display dialog "引用文を入力してください" default answer "" & return & return & return & return buttons {"メモの入力", "これでOK"} default button 2 with title booktitle
    set dialogresult to result
    set bookquote to text returned of dialogresult
    set button_returned to button returned of dialogresult
    if button_returned = "メモの入力" then
        set book_comment to text returned of (display dialog bookquote default answer "" & return & return & return & return with title "メモを入力してください")
    else
        set book_comment to ""
    end if
   
    tell application "Evernote"
        set curnote to create note with text bookquote & return & book_comment title paragraph 1 of bookquote
       
        --  タグ付けの処理を入れる場合
       
    end tell
    display dialog "入力を続けますか?" buttons {"続ける", "終了する"} default button 1
    set button_returned to button returned of result
    if button_returned is "終了する" then
        exit repeat
    end if
   
end repeat

ループの回し方には改良点があるだろうし、作成されるノートも一工夫欲しいところ。あと、タグ付けの処理も考えたい。

 さらに、メモが合った場合、ノートタイトルの付け方も変えた方がよいかもしれない。

 

が、とりあえずプロトタイプとしては十分だろう。

 

EVERNOTE「超」知的生産術

EVERNOTE「超」知的生産術