高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

プライベートの日記をはてなダイアリーからEvernoteへ

結構前からはてなダイアリーを使ってプライベートな日記を書いていたのですが、先日、これをEvernoteに移行したので、そのメモ。

はてなダイアリーは、はてなダイアリー独自のテキスト形式と、Movable Type互換形式、CSV形式でエクスポートすることができます。このうち、Movable Type互換形式については、Evernoteのインポート形式、enexファイルに変換するスクリプトがあったので、これを利用させていただきました。


Movable Type または はてなダイアリー から Evernote への変換 - hig3の言い忘れたこと書き間違えたこと

インポート形式についてはあれから変わってないので大丈夫ですが、中身でいろいろ変更点がありますので、実際にはここからenexファイルを直接編集しなければいけません。


具体的には、以下のような部分を編集する必要があります。

  • タイトルがない日記(titleタグの要素が空っぽの日記)については、タイトルを作成する必要がある
  • enexファイルでは、地文をHTMLではなくXHTMLで扱うため、文中に終了タグのないタグがあれば、スラッシュを付ける(brタグやimgタグなど)
  • Evernoteでは未知のclassやid要素を持っているタグがあると、処理に失敗するため、全削除する(はてなダイアリーでは全ての記事に挿入される、class="section"なdivタグや、商品紹介時に挿入したタグ、テーブルタグなど)
  • Evernoteでは&をすべて実体参照(&)に変換する必要がある。主にGoogleなどWebサイトのリンク記載に注意

とくに二つ目以降のものについては、そのままにしていてもEvernoteへのインポート自体は成功するのですが、同期しようとするとエラーになって全てのノートが「同期されていないノート」に移動させられるので、注意が必要です。当初この原因がわからず、かなり引っかかりました(いちおう、アクティビティログを見るとエラーコードENML_VALIDATIONのエラ-が頻発しているのがわかる)。

自分の環境ではこれだけの修正で、ちゃんと同期してもエラーにならず、無事日記をインポートできました。すごく手間がかかったので個人的にはもう二度とこの手の変換作業はやりたくないですね*1

もしこの記事のとおり修正してもまだ、「同期されていないノート」行きになってしまうノートがあった場合は、ひとまずEvernoteの「ヘルプ>アクティビティログ」よりアクティビティログを眺めてみると、解決するかもしれません。

*1:それにしても、こうアクティビティログを見ないとわからない問題をさらっと内部に持ってくれるとは、Evernoteもなかなかにタチが悪い・・・