HTMLにアンカーリンクが含まれていた場合、 正しくインポートできない

はじめまして。
今までevernoteにつけていた個人メモを移行しようと思い、trialさせてもらっています。
使い勝手は非常に気に入っているのですが、既存メモの移行がうまくいかず乗り換えられていないため、
trial中で恐縮ですが質問させてください。

質問

evernoteからのノートのimportについて以下を参照しましたが、こちらはまだサポートされていますでしょうか?
https://docs.inkdrop.app/manual/how-to-import-notes-from-evernote/
記載に沿って試したところ、期待した結果になりませんでした。

  • evernote(からexportしたhtml)
    image
<html>
<head>
  <title>Evernote Export</title>
  <basefont face="メイリオ" size="2" />
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  <meta name="exporter-version" content="Evernote Windows/309091 (ja-JP, DDL); Windows/10.0.0 (Win64);"/>
  <style>
    body, td {
      font-family: メイリオ;
      font-size: 10pt;
    }
  </style>
</head>
<body>
<a name="35301"/>

<div>
<span><div>test1</div><div><br/></div><div>test2</div><div>test3</div><div><br/></div><div><span style="font-weight: bold;">test4</span></div><div><br/></div><div>test5 <span style="font-style: italic;">test6</span> <span style="color: rgb(255, 0, 0);">test7</span></div><div><br/></div><div>あああああ</div><div>ああああ</div><div><img src="Evernote.enex_files/book_note_empty.png" type="image/png" data-filename="book_note_empty.png"/></div><div><br/></div></span>
</div></body></html>
  • import結果
    image
[test1](<>)

[\
](<>)

[test2](<>)

[test3](<>)

[\
](<>)

[test4](<>)

[\
](<>)

[test5 test6 test7](<>)

[\
](<>)

[あああああ](<>)

[ああああ](<>)

[![](Evernote.enex_files/book_note_empty.png)](<>)

[\
](<>)

本文全てがリンクになっている、書体が反映されない、画像が読めていない、等となっています。
コンソールログには、下記エラーが出ていました。

/C:/Users/<ユーザー名>/AppData/Local/inkdrop/app-5.1.1/resources/app.asar/Evernote.enex_files/book_note_empty.png:1 GET file:///C:/Users/lalab/AppData/Local/inkdrop/app-5.1.1/resources/app.asar/Evernote.enex_files/book_note_empty.png net::ERR_FILE_NOT_FOUND

また、これとは別でtableを記載したノートは、importが失敗しました。

利用環境

  • Platform: (Windows10)
  • Platform version: (1909)
  • Evernote version: (6.25.1.9091)
  • Inkdrop version: (5.1.1)

再現方法

  • evernote側で"単一のHTML Wwebページファイル(.html)でエクスポート"
  • inkdrop側で File -> Import -> from HTML files.

tacoさん

ご報告ありがとうございます。
Evernoteからインポートが上手くいかないとの事ですね。
まずご報告いただいたHTMLファイルを手元でインポートしてみたところ、確かに各ラインがリンクになっている事を確認しました。
HTMLを調べた所、以下の不正なリンク記述があることを見つけました:

<a name="35301"/>

この中身のないアンカー用リンクが上記のような壊れたMarkdownに変換する原因となっています。
取り除くと、正常にインポートできました。
Evernoteにてノートを作り文字を書く限りでは上記のようなアンカーリンクは挿入されませんので、何か外部サイトなどからコピペした際に紛れ込んだものではないかと思われます。
HTMLとしてはvalidなので、これが壊れたMarkdownとなってしまうのは内部で使用しているライブラリのバグっぽいですね。
直せるかどうか調べてみます。

書体についてですが、文字色やフォントの指定はもともとMarkdownでは対応しておりません(インラインHTMLを使う必要があります)。
太字や斜体については <b><i> タグでの装飾であれば正しく変換できますが、スタイルシート経由での装飾は検出が複雑なため対応しておりません。

画像のインポートは、今のところ一度に大量の画像がインポートされてサーバに負荷がかかる事を避けるため、今の所は対応しておりません。
しかしながら最近はサーバも安定しているため、画像インポートに関しては今後対応していく予定です。

テーブルを記載したノートのインポートに失敗したとのことですが、手元では再現できませんでした。
再現できるHTMLをご報告いただけると幸いです。

早速のご回答ありがとうございます。

ご提示いただいたリンクを除去して再度インポートしたところ、正常にインポートできることが確認できました。
尚、サンプルとして使ったhtmlはEvernoteで新規ノート作成してexportしたものなので、evernote側の動作が現状はこうなってしまっているのかもしれません。(複数回ノートを作成しましたが、同様のリンクが必ず入りました)

太字や斜体の件や、画像インポートは現状未対応の件も、了解いたしました。

テーブルを記載したノートのインポート失敗ですが、こちらは不正リンク記述を除去すると正常にインポートできました。
念のため、HTMLを添付しておきます

<html>
<head>
  <title>Evernote Export</title>
  <basefont face="メイリオ" size="2" />
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  <meta name="exporter-version" content="Evernote Windows/309091 (ja-JP, DDL); Windows/10.0.0 (Win64);"/>
  <style>
    body, td {
      font-family: メイリオ;
      font-size: 10pt;
    }
  </style>
</head>
<body>
<a name="35291"/>

<div>
<span><div>test1</div><div><br/></div><div>test2</div><div>test3</div><div><br/></div><div><span style="font-weight: bold;">test4</span></div><div><br/></div><div>test5 <i>test6</i> <font style="color: rgb(255, 0, 0);">test7</font></div><div><br/></div><div>あああああ</div><div>ああああ</div><div><div><br/></div><table style="border-collapse: collapse; min-width: 100%;"><colgroup><col style="width: 130px;"></col><col style="width: 130px;"></col><col style="width: 130px;"></col></colgroup><tbody><tr><td style="width: 130px; padding: 8px; border: 1px solid;"><div>test8</div></td><td style="width: 130px; padding: 8px; border: 1px solid;"><div>test9</div></td><td style="width: 130px; padding: 8px; border: 1px solid;"><div>test10</div></td></tr><tr><td style="width: 130px; padding: 8px; border: 1px solid;"><div>test11</div></td><td style="width: 130px; padding: 8px; border: 1px solid;"><div>test12</div></td><td style="width: 130px; padding: 8px; border: 1px solid;"><div>test13</div></td></tr></tbody></table><div><br/></div></div><div><img src="Evernote.enex_files/book_note_empty.png" type="image/png" data-filename="book_note_empty.png"/></div><div><br/></div></span>
</div></body></html>

なるほど、外部サイトからではなく新規でノートを作成した場合でもアンカーリンクが挿入されるのですね。
手元のmac版Evernoteでは再現しませんでした。Windows版のみの仕様なのかは分かりかねますね。
テーブルの失敗もアンカーリンクが原因とのこと、了解しました。
変換ライブラリの作者に報告してみます!

ご対応いただきありがとうございます!
よろしくお願いいたします。

報告しました!作者が修正してくれるのを待ちましょう〜

んーむやはりEvernoteの出力するHTMLが不正なので、ライブラリとしては対応してもらえませんでした。
HTMLの仕様では以下のようにあるべきです:

<a name="35291"></a>

なぜならこれはXMLではないからです。つまりEvernoteのバグという事になります。
しかしmac版では再現しないのが奇妙ですね。
影響範囲が不明なので、一旦wontfixとしたいと思います。

ありがとうございます!
wontfixで了解しました。

ノートの移行は手元で不正リンク削って対応することにします。

1 Like