はてなダイアリーからはてなブログへ移行する際の注意点

先日、はてなダイアリーからはてなブログへ移行した。

thinca.hatenablog.com

移行に際して問題があったので書き記しておく。

TL;DR

はてなダイアリー<hoge> って書いてたら、はてなブログに移行すると死ぬ。&lt;hoge&gt; と書きかえる必要がある。

あらすじ

私は今まではてなダイアリーでそれなりに記事を公開していた。中でも Vim の記事が多く、<Leader> のようなキーの記法をあちこちで多用していた。 はてなダイアリーでは html タグは一部のタグしか使えない仕様だったため、それ以外の <Leader> のようなタグっぽい文字列はそのまま表示されていたので、なんの問題もなかった。

はてなブログでは、はてなダイアリーで使えた「はてな記法」と Markdown の両方が選択できるようになっており、はてなダイアリーで書いた記事は「はてな記法」で書かれた記事として公開されるので、そのまま移行できるとの話だったので、はてなブログへの移行を行った。

ところが、はてなブログに移行後しばらくして気付いたのだが、この <Leader> のような文字列が、はてなブログの記事内では表示されなくなってしまっていた。

ゆるせなかったのでサポートにメールし、調査を行ってもらったのだけど、最終的に以下のような返事が返ってきた(本文のみ抜粋)。

いつもはてなをご利用いただきありがとうございます。

返信が遅くなりまして申し訳ございませんでした。

はてなダイアリーでは特定のタグしか書けない仕様となっているため、 「<」 や 「>」をそのまま表示させることができましたが、 はてなブログでは、任意のタグを書ける仕様となっているため、 実体参照表記でないと表示がされません。

インポート時に一括置換できないか検討いたしましたが、今回は見送ることになりました。 大変お手数をおかけ致しますが、記事の編集画面を開いていただき、 手作業で置換をしていただくようお願い致します。

【置換例】 <Leader> → &lt;Leader&gt;

どうぞよろしくお願いいたします。

どうやらはてなダイアリーでの「はてな記法」と、はてなブログでの「はてな記法」には厳密には互換性はないらしい。

改めて移行に関するヘルプページを確認すると、以下のような説明が足されていた。

  • HTMLタグの扱いの違いに注意してください。はてなブログでは、はてなダイアリーと違ってHTMLタグがすべて利用できるため、<と>で囲まれた任意の文字列をHTMLタグとして解釈します

※はてなブログで、<と>で囲まれた任意の文字列を表示するには、たとえば&lt;foo&gt;のように実体参照で表記してください。

先月の時点の同ページ にはこの記述はないため、恐らく私の問い合わせを契機に追記されたのだと思う。

返事に1ヶ月半ほどかかっているところを見ると、それなりに検討した結果だと思うので、残念だけども仕方ない。

というわけで、これから移行を考えている人は注意してください。 また、私の古い記事の中にはこれらの理由により一部文字が消えている可能性があるので、ご了承頂きたい。さすがに過去の記事全てをチェックするのはしんどすぎる。もし発見された方は報告してもらえれば可能な限り直そうと思います。