Sep 12, 2007

個別ページとカテゴリ・月別一覧表示の修正

各カテゴリの一覧表示と各月の一覧表示をする際,これまではデフォルトフレーバー(html)を使っていたのですが,見栄えが悪くて気になったので,専用のフレーバーを作り,そこに表示させることにしました.カテゴリ一覧の専用フレーバーは拡張子をcategoriesとし,各月一覧の専用フレーバーは拡張子をmonthにしました(何のひねりもなし).それぞれのフレーバーをプラグインと対応付けるため,categoriesプラグイン,archivesプラグイン,list_title_at_monthプラグインを以下のように修正しました.

categoriesプラグインは,sub report_dir_leaf中の一部を以下のように修正.

return qq!<li><a href="$blosxom::url${fulldir}index.categories">$thisdir</a>! . qq! ($numstories)</li>\n! if $output_format eq 'ul';

archivesプラグインは,monthの部分を以下のように修正(yearはすでにリンクを外しているので,今回は修正なし).

my $mnum = sprintf("%02d", $month+1);
$results .= qq{$indent$indent$indent<li><a href="$blosxom::url/$year/$mnum/index.month">$monthname[$month]</a> ($archive{$year}{$month}{'count'})</li>\n};

これと併せて,list_title_at_monthプラグインのsub start中にあるデフォルトフレーバーを「html」から「month」へ修正しました.

現在は,個別ページのフレーバー(htm)もcategoriesフレーバーもmonthフレーバーも,すべて段組をなくした状態にしています.非常にスッキリして,僕としては気に入っています.しかも,今まではこれらのフレーバー中にカテゴリ一覧や月別アーカイブを置き,エントリ数を表示していたため,dynamic_cacheプラグインを使っている者としては不便を感じており(キャッシュされたページはエントリ数が変わらないから),不定期に全キャッシュを削除していたのですが,今回の修正でその必要がなくなりました(恐らく).これは,ブログメンテナンスに費やす労力や時間の削減,サーバ負荷の軽減などに貢献するので,まさに願ったり叶ったりです.

今回の修正で,ついでに個別ページ上部に表示しているback_and_forthも修正しました.cssでセンタリングし,エントリタイトルの代わりに「前へ」とか「次へ」と表示するようにしました.1つ古いエントリが「前へ」で,1つ新しいエントリが「次へ」で表示されます.


Posted at 19:39 in Blosxom | Permalink | No Comment | | edit

Comments
[ No Comment ]
Post a comment

writeback message: Ready to post a comment.









Remember the above info?
管理者用コメント編集:
パスワード: