トップページ以外(日ページ、月ページ、カテゴリページ)は、各アイテム
を古い記事から新しい記事の順に表示するようにしました。

例えばあるカテゴリや、ある月の記事を最初から最後まで見る場合は、古
い記事→新しい記事の順で並んでいたほうが見やすいと考えたからです。
(そんな人がいるのかはヽ(^_^;))((^,^;)ノ置いといて。)

今回も 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))$/);