2006年05月06日 06:21

前後のエントリへのリンクにタイトル文字列を設定

前エントリである「(^^)v3: パーマリンクに前後のエントリへのリンクを付与」で課題として上げていた「前後のエントリへのリンクにそのエントリのタイトルを使う」というのが実現できた。$before_entry/$after_entryで得られた文字列が「data」フォルダ内のファイル名であるというのがわかった時点で、本来はできあがっていたようなもの。
原理としては簡単で、grep に「先頭に"TITLE"」という文字列を持つ行を表示するように指示する()。
grep '^TITLE' ${BLOG_DIR}/data/$before_entry
これだけでは先頭に"TITLE: "という文字列が挿入されているまま。これを削除する。
grep '^TITLE' ${BLOG_DIR}/data/$before_entry | sed 's/TITLE:\ //'
これで前エントリのタイトル文字列が得られます。上記コード中に全角のバックスラッシュ(\)が含まれていますが、当然半角ですね。ご注意下さい。
公開してから気がついたが、このままだとソース中に空のaタグが生じてしまう(先頭と末尾の2つ)。これをそのままにして置いていいのか疑問。もっとも、NanoBloggerのソース中にはまだ不適切な部分が散在しているのでそれらを直すための処置をいつかやらねばならないかなぁと思っている。その時にまとめてということで今のところは勘弁してもらおうかなぁと思っている。

最近流行のxmlファイルではなく、パッと見わかるようなテキストファイルになっています。投稿日時、タイトル、要約、本文などが羅列されたもので、比較的 sed、grep などで処理しやすいようになっているみたいですね。xmlファイルは perl などを使うと簡単に処理できるんですが(會澤は perl を使いこなせないのですけど...)そうしてないのはより汎用的なコマンドで内部動作を行っている NanoBlogger ならではのような気がします。

Posted by kaizawa | TrackBacks