@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

= evernoteの内部表現

[2011-02-01 16:58]
>>>[emacs]
>>>[evernote]

ファイルの場所(Mac OSX)

~/Library/Application Support/Evernote/data/101370/content/
こんな感じのディレクトリ以下にp[n]というディレクトリがある(nはおそらくノート番号)

ディレクトリ構成の例
  • content/p7/
    • 946b88a2d6ef3c85718ea3d911061472.png

ノート中の画像.ファイル名はなんかのハッシュ

    • 946b88a2d6ef3c85718ea3d911061472.reco

上の画像をOCRした結果(画像中に含まれる文字列の位置情報とか)
多分検索するときに使う

    • content.enml

content.htmlのうちimgタグをen-mediaタグでハッシュ.pngとかに置き換えたもの(と思う)
詳しくは後述

    • content.html

ノートの内容
imgタグにidを追加したもの.詳しくは後述

    • thumbnail-small.png

ノートのサムネイル(小)

    • thumbnail.png

ノートのサムネイル(大)

enml,htmlファイルの説明

enmlファイル

おそらくEvernoteでのメインのファイル

htmlファイルに画像があったら,いい感じに変換している.

例えば,こんな感じにimgタグがあったとすると(id:kitokitokiさんのブログを保存した時の話です)

   <img alt="f:id:kitokitoki:20100608005001p:image" src="946b88a2d6ef3c85718ea3d911061472.png" id="en-media:image/png:946b88a2d6ef3c85718ea3d911061472:none:none"/>

こんな感じのen-mediaタグに置き換わってるようです.

   <en-media alt="f:id:kitokitoki:20100608005001p:image" hash="946b88a2d6ef3c85718ea3d911061472" type="image/png"/>

画像へのリンクというよりも,画像情報へのリンクですかね.altはそのまま持ってきて,hashはsrc属性の画像のハッシュ部分だけ取り出して,typeに画像のファイルタイプを指定.

たぶん動画でもなんでもそのクライアントで表示できれば大丈夫なんでしょうね.

htmlファイル

上に書いたみたいに,imgタグがハッシュを使ったファイル名に変わってるのと,idがen-media:image/png:hash:none:noneというのになってる感じですね.

感想

なるほどハッシュねー.この辺うまく使えばSafari2Emacsもうまく画像表示できるようになりそうやな