Evernoteからmarkdownファイルへの変換

Evernoteの信用度が落ちた

f:id:wwater:20181227173928j:plain

タイトルのままなんですが、検索バグとか同期バグとか色々と相手へバグを投げているのですが、全く治る気配がなく一年以上経ちました。

プレミアム会員として、まだ課金分がしばらくあるので使っていたんですが、移行を考えると新規ノートをつくるのが怖いんですよね。

そこで、とりあえずDropbox Paperにでも移行しようかと考えているのですが、問題となるのが過去データ。
こいつをどうやって移行しようか悩んでいます。(現在進行形)

結局、スクリプトを自作しました。

 

 

ノートからのエクスポートがあるんですけど、エクスポート形式が

  • enex形式
  • mht形式
  • html形式(単数・複数)

となっています。

markdownが色々やりやすいのでその形式で出したいんですけどね。

結構なデータ量があるのでhtml形式とか怖くてできない。

enex形式は中身を見ると、なにやら独自xml形式である事がわかったので、なんとかこいつを変換できないかと考えました。

せっかくなのでpythonで変換できるか試してみるか、という事で現在解析中です。

他の人もやっぱり同じような悩みを抱えているようで、同じように自分スクリプトを作って対応した人が幾人か。

どっかに公開されていないもかと探しても見つからず。

誰かどっかにある事がわかったら教えてください。

私は諦めて少しずつ作っています。

 

仕様を考えるのが面倒なので、もう色々と成り行き任せです。
中の添付ファイルの指定方法がmd5チェックサム文字列でしたとか、まぁ同名ファイルがでた場合はどうするかとか。

来年中には完成したいなぁ。

 

追記

2G越えるファイルは辛いらしい

既にやはり作っている人はいたので試してみたのだが、1ファイル2Gを越えるものは難しいらしい。

撮りためた写真なんかも、気に入った物はそのままEvernoteに入れていたのでかなりの容量があるからなぁ。

 

さらに追記

> pandocつかってhtml→markdownのが楽ですよ。

という意見を貰いました。

そんなものがあったのかっ!作ることではなくて移行したいという問題なので、まず試してみます。

 

またまた追加(2019/01/10)

結局、スクリプトを作りました。

pandocを使ってhtml変換など試してみたんですが、やっぱり綺麗にはいかないですね。

自分で使う飾りとかテーブルの癖なんかはある程度決まっているので、自分好みの変換をするものを書きました。

もう変換を解析しながらやったんで、人様に見せられないスパゲティコードです。

 

大きいファイルがあるのでeTreeElement.iter()を使って順番に回して、メモリ解放してというタイプなので、2G越えたファイルでも使用メモリは60M以下で押さえられた。

おかげでタグ解析の所が elif だらけです。

f:id:wwater:20190110143849j:plain

Evernoteのテストデータ

f:id:wwater:20190110150405j:plain

変換後のmarkdownのプレビュー