トップページ以外(日ページ、月ページ、カテゴリページ)は、各アイテム
を古い記事から新しい記事の順に表示するようにしました。
例えばあるカテゴリや、ある月の記事を最初から最後まで見る場合は、古
い記事→新しい記事の順で並んでいたほうが見やすいと考えたからです。
(そんな人がいるのかはヽ(^_^;))((^,^;)ノ置いといて。)
今回も chalow 本体を修正しました。オリジナル(chalow-1.0.tar.gz)の
cl.conf と chalow へのパッチを貼り付けておきますね。
追記(2011-07-06):
GitHub に push しました。
--- cl.conf.org 2007-10-19 21:38:22.000000000 +0900
+++ cl.conf 2009-03-28 21:21:11.000000000 +0900
@@ -60,6 +60,11 @@
$reverse_order_days = 1;
# --------------------------------------------------------------------
+# 日ページ、月ページ、カテゴリページで、アイテムを降順 (新しいアイテム
+# が上) で表示するか (1:yes or 0:no)
+$descending_order_items = 0;
+
+# --------------------------------------------------------------------
# アイテムヘッダーのフォーマットをどうするか
# (0:"* HOGE:", 1:"* HOGE", 2:"HOGE:",3:"HOGE")
$item_header_style = 1;
--- chalow.org 2007-10-19 23:15:01.000000000 +0900
+++ chalow 2009-03-28 21:21:57.000000000 +0900
@@ -50,6 +50,9 @@
my $show_day_of_week = 1;
# 月ページで、日付を降順 (新しい日付が上) で表示するか (1:yes or 0:no)
my $reverse_order_days = 0;
+# 日ページ、月ページ、カテゴリページで、アイテムを降順 (新しいアイテム
+# が上) で表示するか (1:yes or 0:no)
+my $descending_order_items = 1;
# インデックスページのテンプレート
my $index_page_template = << "___INDEX_PAGE_TEMPLATE"
@@ -386,6 +389,7 @@
# http://chalow.net -> http://chalow.net/
my %month_page; # 月別のページ
+my %month_page_for_index; # 月別のページ for index.html
my %category_item; # カテゴリ別ページ用 item
my %inside_ref; # 日付リンクによるリファラー
@@ -436,8 +440,13 @@
next if ($i !~ /^\d/);
push @items, make_item_html($e, $ymd, $i);
}
+ my @items_for_index = @items;
+ unless ($descending_order_items) {
+ @items = reverse @items; # 昇順: 古いアイテムが上
+ }
my ($y, $m, $d) = ($ymd =~ /^(\d{4})-(\d\d)-(\d\d)$/);
$month_page{"$y-$m"}{$ymd}{str} = make_entry_html($e, $ymd, \@items);
+ $month_page_for_index{"$y-$m"}{$ymd}{str} = make_entry_html($e, $ymd, \@items_for_index);
}
### 生成(2) HTML ファイルの出力
@@ -656,7 +665,12 @@
foreach my $catname (@cat_list) {
- my @ents = sort {$b->{eh} cmp $a->{eh}} @{$category_item{$catname}};
+ my @ents;
+ if ($descending_order_items) { # 降順: 新しいアイテムが上
+ @ents = sort {$b->{eh} cmp $a->{eh}} @{$category_item{$catname}};
+ } else { # 昇順: 古いアイテムが上
+ @ents = reverse sort {$b->{eh} cmp $a->{eh}} @{$category_item{$catname}};
+ }
my $n = $cat_page_entry_max;
my $num_of_old_pages = int(@ents / $n);
@@ -900,7 +914,7 @@
my $ymd = $recent[$i];
my ($ym, $d) = ($ymd =~ /^(\d{4}-\d\d)-(\d\d)$/);
# $top_n_str .= $month_page{$ym}{$ymd}{str};
- push @top_n_entries, {content => $month_page{$ym}{$ymd}{str}};
+ push @top_n_entries, {content => $month_page_for_index{$ym}{$ymd}{str}};
}
my ($ymd, $ym, $d) = ($recent[0] =~ /^((\d{4}-\d\d)-(\d\d))$/);