風邪で寝てるのも退屈なので、以前から手を付けてみたかったカテゴリまわりのプラグインを作ってみました。カテゴリに関連付けられた日記をインデックス化して、カテゴリ表示の表示速度と利便性を向上させます。
その日の日記のセクションタイトルからカテゴリを抽出して、カテゴリ名をつけたファイルごとに日付アンカーとセクション本文の要約をセットにして記録します。さらに日付アンカーと抽出したカテゴリをセットにして四半期ごとに toc ファイルとして保存しておくので、後から日記を編集し直してもインデックスファイルは常に最新の状態に保たれます。(念願の?) カテゴリリストを記録したファイルも生成します。フォルダ構成などの詳しい仕様はこちらに書く予定です。
移行用に、これまで書いた日記をインデックス化する cgi も作りました。すべての td2 ファイルを横断的に読み込んでインデックス化します。冒頭の Ruby パスを環境に合わせて書き換えて、実行属性を与えて実行するとインデックス作業を開始します。XREA サーバー上では、半年分の日記の処理に一秒掛かりませんでした。以下のようなメッセージが表示されたら成功です。
オマケ機能として、次のようなレポートを作成してくれます。
カテゴリ表示のための category.rhtml を書き換えました。いまのところ月別表示機能は実装されていません。特段の要望がなければ、実装予定もありません。年度別、四半期別表示のみです。なんだかんだで、year=ALL はまだ実装していません。
新しく加わった機能として、カテゴリリストを表示したり、表示順のソートが出来るようになったりました。あとオマケ機能として、CategoryMap というのをつけてみました。ただ単純に toc ファイルを読み込んでいるだけなんですけど、色分け表示したり、出現頻度をカウントしたりすれば、カテゴリごとのアクティビティが集計出来たりして面白いかもしれません。
category.rb の機能拡張版というよりは、インターフェースのみを引き継いだほとんど別物です。tDiary 本体を書き換えると大作業なので、表面上は TDiaryCategory クラスを通して表示されますが、機能的には独立しています。むしろ処理を軽減すべく TDiaryCategory クラスを無効化させようと試みています。initialize メソッドを undef してもいいものか分からなかったので、空欄にしただけですけど。これでプログラム的に正しいのか自信がありません。ご助言ありましたら、よろしくお願いします。
日記中にアンカーを埋め込む category_anchor は流用させて頂いておりますので、category.rb はなくても動作します。と言うよりメソッド上書きしてしまってると思います。自分用に書き換えて使用している方は、category_indexed.rb の方の該当箇所を変更して下さい。
Hiki 0.6.1 に XSS 脆弱性が見つかったとのことなので、0.6.2 にアップデート。
あぁぁぁ,実は明日あたりカテゴリにインデックス機能を付加したものをコミットしようと思っていたのでした.なんたる偶然.
しかし,category_indexed.rbには面白い機能がいろいろと付与されているので,できる限り取り込むようにしたいと思います.
tDiaryのカテゴリの出力にいままで不満があって、どうにかならないものかな、何て思っておりましたが、これで改善されそうです。使わせてもらいますね。
おぉぉぉ、なんという共時性でしょう。使えそうなネタがあったら、拾ってやって下さい。
Takachinさん、少しはお役に立てそうでしょうか。公式版の新しいカテゴリ機能も楽しみですね。
internet advertising
business cards http:
loan calculator http