前の日 / 次の日 / 最新

swk's log

2006-05-05 Fri

* chalow の Referrer (Inside) に記事タイトルをつける [logging][chalow] 11 users

chalow では,[2006-05-05-1] のように書くと他の記事が参照できて,逆に参照された側の記事の一番下には参照元一覧が表示される (デフォルトのテンプレートだと「Referrer (Inside)」).後で読むときにとても便利なので使いまくり.

参照記事に飛ぶ場合は,文脈から飛ぶ先の内容がある程度予測できるのだけど,Referrer (Inside) 一覧の方は,クリックしてみるまで内容が分からない.ここに記事タイトルでも表示されてると便利かな,などとふと思ったので試してみた.

まず parse_entry() の for ループの中,「ハッシュに格納」と「日付リンク情報の格納」の位置を入れ換えて,後者を次のように変更.入れ換えるのは,$ent->{$i}{h} を使いたいから.($ent->{$i}{ho} でもいいのかも知れないけど,念のため)

# ハッシュに格納
$ent->{$i}{h} = okikae($ent->{$i}{ho});
$ent->{$i}{c} = okikae($c);

# 日付リンク情報の格納
while ($c =~ /\[((\d\d\d\d-\d\d)-\d\d(-\d+)?)\]/g) {
    $inside_ref{$1}{"$ymd-$i"} = $ent->{$i}{h};
}

で,get_inside_ref() を以下のように変更.(変わってるのは return map ... の行だけ)

sub get_inside_ref {
   my ($id) = @_;
   if (defined $inside_ref{"$id"}) {
       return map { "<br> " . datestr2anchor("[".$_."]") . " " . $inside_ref{"$id"}{"$_"} } 
      (sort {$b cmp $a} keys %{$inside_ref{"$id"}});
   }
   return ();
}

というわけでこんな感じ↓の表示になるはず.これは自己参照だけど.

関連記事:
[2006-10-22-1] chalow の他記事参照文字列を生成する elisp
[2006-05-05-1] chalow の Referrer (Inside) に記事タイトルをつける
<< 2006-05 >>
SuMoTuWeThFrSa
123456
78910111213
14151617181920
21222324252627
28293031

2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
2000 : 01 02 03 04 05 06 07 08 09 10 11 12
1999 : 01 02 03 04 05 06 07 08 09 10 11 12
1998 : 01 02 03 04 05 06 07 08 09 10 11 12
1997 : 01 02 03 04 05 06 07 08 09 10 11 12
1996 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2012-02-13 02:02


Shingo W. Kagami - swk(at)kagami.org