オープンソースの画像生成AIをセットアップから使い方まで解説する『Stable Diffusion AI画像生成ガイドブック』(ソシム刊)発売中(→本のサポートページ

はてなダイアリーのインポート機能ではてなブログにしてほしいこと

ということで、はてなダイアリーは来春サービスを終了すると発表された。いつかそういう日が来るのかもしれないと思ってはいたが、それは人はそのうち死ぬという程度の心証でありあまり現実感がなかった。来てみると案外早く来たものだと思う。

はてなダイアリーのユーザーは、はてなブログへの移行が推奨されている。ほかのブログサービスへの移行も可能だが、はてなブログにインポートすればダイアリー当時のURLははてなブログにリダイレクトされるし、ブックマークやはてなスターもそのまま引き継がれるのがいいところ。

はてなブログへ移行しなかったダイアリーや、管理人が亡くなったダイアリーでも終了後は閲覧できるとのこと。伊藤計劃id:Projectitoh)や鈴木芳樹id:yskszk)、はてな会長の異名を持っていた犬、しなもんの日記(id:hatenacinnamon)などもはてなダイアリーには残っている。こういう人たちのウェブ上の活動記録は最近『故人サイト』という本にまとめられている。

近藤社長(当時・id:jkondo)は「ダイアリーを書いている人が亡くなったからそのうち消えるということがないようにしたい」といったことをどこかで語っていた。その精神は、はてなの社長が替わってもきちんと受け継がれているようでほっとした。

はてなダイアリーの終了アナウンスで、はてなブログへ移行するユーザーが急に増えたそうだ。インポート機能の負荷が上がったために一時停止されているという。じゃあ再開されたらさっそくはてなブログへ移行するかというと、なかなかそうはいかない。

ダイアリーからのインポート機能は3つのステップからなり、以下の記事で解説されている。

はてなダイアリーからのインポートは、手順ごとに3つのステップに分かれています。

  1. 記事・コメント・はてなスターのインポート
  2. はてなブックマークの移行
  3. 記事のリダイレクト設定
はてなダイアリーからのインポート(ブログの移行) - はてなブログ ヘルプ

実は以前、はてなブログのインポート機能を試してみたことがある。それで作ってみたのが↓である。

このはてなブログは、上でいうSTEP1で止めてある。インポート機能の基本的な評価になるのではないだろうか。

はてなブログへのダイアリーのインポートで、すぐに気がついた問題点は2点あった。

  • id記法の解釈の違い
  • 改行の扱いの違い

まずid記法の解釈の違いについて。これは上のはてなブログの最新記事にもある。

  • ローガンさんがやってきた(id:Imamura:20110818:rougan)
床屋で眉にはさみを入れてもらう - Imamuraの日記(テスト)

ここは「<a href="http://blog.hatena.ne.jp/Imamura/">id:Imamura</a>:20110818:rougan」というHTMLになっているが、そうではなくダイアリーと同じように、下のようになってほしい。

床屋で眉にはさみを入れてもらう - Imamuraの日記

HTML的には「<a href="http://blog.hatena.ne.jp/Imamura/20110818/rougan">id:Imamura:20110818:rougan</a>」になってほしいということだ。

id記法のヘルプにはこうある。

また、はてなダイアリー内に限り、以下の指定も行うことができます。

id:hatenadiary:20030319 id:hatenadiary:20030319 特定の日付の日記へリンクします
id:hatenadiary:20030319:1048060671 id:hatenadiary:20030319:1048060671 特定の記事へリンクします
id:hatenadiary:20030319#1048060671 id:hatenadiary:20030319#1048060671 (日記モードのダイアリーで)特定の記事へリンクします

(以下略)

はてなユーザーにリンクする(id記法) - はてなダイアリーのヘルプ

はてなダイアリー内に限り」だから、ダイアリー内での書き方をそのままはてなブログに持ってきても期待通りに展開されない。理屈ではそうなのだけど、ダイアリーをはてなブログにインポートするとちゃんとリンクしなくなるのでは、はてなブログに移行しようとは思わない。

id記法から期待されるHTMLは一意に定まるのだから、インポート時にid記法をa要素に展開するなどしてほしい。具体的にはたとえば、「id:hatenadiary:20030319」と書かれたダイアリーをインポートするとき、「<a href="http://d.hatena.ne.jp/hatenadiary/20030319">id:hatenadiary:20030319</a>」にするみたいな感じで。


ここから追記(2018年12月1日)

id:hatenadiary:20030319」の冒頭に「d:」をつけ、前後に「[」と「]」を足して「[d:id:hatenadiary:20030319]」と書くと、ちゃんとhttp://d.hatena.ne.jp/hatenadiary/20030319へリンクすることがわかった。これはid記法ではなく「ダイアリー記法」と言うそうだ。でも「id:~」と書いていたら全部書き換えなければならないのは同じだ。

ここまで追記


次は「改行の扱いの違い」について。

はてなダイアリーはてなブログでは、改行の扱いが異なっている。加えてはてなダイアリーには改行の扱いが違う「段落モード」と「改行モード」があるのがややこしい。

はてなダイアリーの改行の扱いについては、改行モードが実装されたときのはてなダイアリー日記がわかりやすい。

改行モード
改行を入力すると、そのまま画面上に反映されます。記事全体に <p> <p>、改行毎に <br> が入ります。

(中略)

段落モード

改行を段落の区切りとして認識します。とくに長文を書くブログに便利です。

改行が段落になり、改行毎に前後に <p> </p> が入ります。何も書かない行を2回続けると <br> が入ります。

2011年3月23日以前に開設されたダイアリーでは「段落モード」が、それ以降に開設されたダイアリーでは「改行モード」が標準で選択されています。

記事を編集した時の改行がそのまま画面に反映される「改行モード」を新たに追加しました - はてなダイアリー日記

そしてはてなブログでは、改行1つだと<br>になり、改行2つだと<p>~</p>で囲まれる。

詳しくは以下を。

はてなダイアリーで改行の扱いを段落モードにしていても改行モードにしていても、はてなブログにインポートすると基本的にどちらでもないHTMLが出力されてしまう。これはいただけない。

唯一、段落モードにした上で段落ごとに2つ改行を入れてあれば、はてなブログへインポートしても同じHTMLが出てくる。でもそうでない改行をはてなブログ向けにするために、全記事に改行を手作業で追加するなんてやってられないだろう。

はてなダイアリーでの改行の設定に合わせて、インポート時にはてなブログ向けの書き方に書き換えてくれるなどしてほしい。(改行モードのダイアリーをどうはてなブログでの書き方に変換するかは難しいところですが)

はてなダイアリーはてなブログにインポートするときの問題点を2つ紹介した。自分は少なくともこの2点が解消し、ダイアリーに書いたときと同じ結果が出力されるようにならない限り、自分のダイアリーをはてなブログにインポートしようとは思わない。

次回は自分のダイアリーの更新環境(はてダラはてダラスプリッタ)を紹介し、はてなブログでも同様の環境を使えるようになりたいという話をする。