前回の続きです。
- 前回の話:はてなダイアリーのインポート機能ではてなブログにしてほしいこと - ただいま村(http://ima.hatenablog.jp/entry/2018/08/31/235959)
はてなダイアリーが終了するので、はてなブログに移行しようと思う。それにあたって、いまのダイアリーの書き方をなるべくそのまま、はてなブログでも使えるようにしたいという話である。
いま、はてなダイアリーの更新には「はてダラ」と「はてダラスプリッタ」を使っている。
はてダラは「ローカルに作った『2004-08-19.txt』のようなテキストファイルの内容を、 はてなダイアリーの『2004年8月19日の日記』として書き込むPerlスクリプト」である。
はてダラスプリッタの説明は同じページにある。
これは「1個のファイルdiary.txtをはてダラ形式の複数ファイルに分解するツールです。(中略)これを使うと、日記を書くときに編集するファイルがいつもdiary.txtだけになって便利です」というもの。
これらを使った、はてなダイアリーの更新手順は以下である。
上げた記事を書き直したいときは、diary.txtを修正して同じバッチファイルをもう一度実行すればよい。ダイアリーの編集画面は基本的に使わない。編集画面を使うのは、エントリの登録前に見栄えをチェックしたいときくらいである。
この方式が便利なのは、ダイアリーの内容の全文検索や一括置換を、使い慣れたテキストエディタでできるところだ。
たとえばはてなダイアリーをはてなブログにインポートする前に、改行の扱いをはてなブログに合わせたい(前回の記事参照)という場合も、テキストファイルを一括置換して「はてダラスプリッタ」と「はてダラ」にかけてあげればよい。いったんすべての改行を改行2つに置換してから、行頭で連続させることが重要なはてな記法、「-」、「+」、「:」、「|」あたりが連続している行の改行を詰めてあげればよさそう。正規表現を使えば簡単だ。
「はてダラ」を使い始める前の日記を「はてダラ」形式に変換して、「diary.txt」に加える方法は以前書いた。
- ダイアリーを「はてダラ」と「はてダラスプリッタ」で更新できるようにしたメモ(http://d.hatena.ne.jp/Imamura/20130122/hws)
こうしておけば、全記事を簡単に編集できるようになる。過去の日記というのは「Imamuraの日記」だけでなく、それ以前にネットに書いてきた日記的なコンテンツすべてである。1997年から現在までの日記を1つのテキストファイルに入れてある。20年前に書いたこともすぐに読めるのはライフログ的でなかなかいい。
- 1997年~1998年の日記をはてなダイアリーに転記(http://d.hatena.ne.jp/Imamura/20130216/drivediary)
その結果「diary.txt」は現在15MBという大きさになっている。URLなども含まれるから全部自分でタイピングしたわけではないとはいえ、テキストファイルでこのサイズとは我ながらたくさん書いたものだと思う。
さて、はてなブログで同じような更新環境を整えることはできるだろうか。
テキストファイルからはてなブログを更新する「はてなブログライター」はすでにあり、便利に使わせてもらっている。
- はてなブログライターを試してみる - ただいま村(http://ima.hatenablog.jp/entry/2017/06/06/134055)
- rnanba/HatenaBlogWriter: はてなブログ用の「はてなダイアリーライター」的なコマンドラインツールになる予定(https://github.com/rnanba/HatenaBlogWriter)
はてなブログライターで作ったエントリははてなブログライターの管理下に入る。複数のテキストファイルにまたがって検索するgrep機能を使えばローカルでの過去記事の検索は可能だ。grep機能はテキストエディタが提供していたり、専用のツールがあったりする。ただ、すべての記事が1つのテキストファイルにまとまっているのに比べると便利さはもう一つ。
また、「はてなブログライター」を使わずに登録したエントリを「はてなブログライター」の管理下に入れる方法はない。と思う。そこがちょっとねえ、なんだけれど作者のid:rnaさんが必要性を感じていないなら仕方がない。そして「はてダラスプリッタ」を「はてなブログライター」向けに自分で移植するスキルもない。
来年の春、「はてなダイアリー」が終了する前にいい感じになってくれるといいな。他力本願ですみません。
次回は、はてなダイアリーをはてなブログへ移行させるにあたって、はてなブログにないこんな機能がほしいという話をする。
追記
「はてなブログライター」を使わずに登録したエントリを、「はてなブログライター」で管理できるようにしたい。原理的に可能なのか聞いてみたら「できることはできるけど」という話だった。
原理的には可能ですが全エントリ全文取得しないとローカルと比較できないんですよね。メタデータだけ取るようなAPIがないので。サーバの負荷を考えると辛いなと…
— ナょωレよ″丶)ょぅすレナ (@rna) 2018年9月8日
とすると、はてなブログのAtomPubでメタデータだけ取得するようなAPIを実装してもらえるといいんだな。(フィードバック済み)
追記:はてなブログライターで作ったテキストファイルなら1つにまとめることができた
- 今までにはてなブログライター向けに作成したテキストファイルを1つにまとめる方法 - ただいま村(http://ima.hatenablog.jp/entry/2019/01/04/224500)
はてなブログライターを使わずに直接投稿したエントリをはてなブログライターの管理下に入れるのは相変わらずできずにいるが、はてなブログの編集環境も少しずつはてなダイアリーに近づいている。
2019/1/27追記:はてなブログに以前投稿したエントリをテキストファイルベースの管理下に置くツール
blogsyncというはてなのCTOの方が作ったツールを使うと、普通にフォームから投稿したエントリも手元にダウンロードしてテキストファイルとして管理できるようになるそうだ。
- blogsync ではてなブログのエントリをローカルと同期する - 詩と創作・思索のひろば(https://motemen.hatenablog.com/entry/2014/12/22/blogsync)
はてなブログライターもダウンロード機能をテスト中とのこと。
- はてなダイアリーからのトラックバックの移行(その4)(完) - rna flagments(http://rna.hatenadiary.jp/entry/2019/01/26/171000)
2019/2/1追記:はてなブログライターもダウンロード機能を正式に追加
- はてなブログライター v0.9 - rna fragments(http://rna.hatenadiary.jp/entry/2019/01/31/011958)
さらに追記:はてなブログの内容を一括置換する手順をまとめました
- はてなブログにインポートしたダイアリーの内容をまとめて修正できるようにする方法 - ただいま村(https://ima.hatenablog.jp/entry/2019/02/01/170000)