ようこそゲストさん

matuダイアリー

2008/08/09(土) day記法不具合でしょうか

はてブ情報 はてブに登録 はてブ数 adiary matu
adiaryのday記法って、あまり使う機会がないかもしれませんが、詳細は以下のような感じです。
-日付指定は[day:7:7日の記事]や[day:7/7]、そのほか[day:2006/6]とも書けます。
-その日を指定したい場合は単純に[day:]や [day:今日の日記]で行けます。
記事key指定機能、日付指定機能 - adiary開発日誌
この記法で、[day:2008/08/05]と書くと2008/08/05という風にリンク先が8月の日記になります。*1(私が使い方を間違えているだけかもしれません。)で、ソース(/path/to/adiary/lib/Satsuki/TextParser/TagPlugin/Tag_adiary.pm)を見てみましたが、2箇所ほど修正したほうがいいのかなという感じのもの見つけました。
 --- Tag_adiary.pm.org   2008-02-07 01:50:48.000000000 +0900
 +++ Tag_adiary.pm       2008-08-09 21:30:34.000000000 +0900
@@ -104,7 +104,7 @@
                $url  .= $opt;
                $name2 = $ROBJ->tm_printf("%Y/%m/%d", $opt);

 -       } elsif ($opt =~ /^[\d\/\-]+$/) {               # 数字 と /
 +       } elsif ($opt =~ /^\d+[\/\-]\d+[\/\-]{0,1}\d{0,4}$/) {          # 数字 と /
                $name2 =  $opt;
                $opt   =~ tr/-/\//;
                my @ymd = split('/', $opt);
@@ -112,7 +112,7 @@
                        my $year = pop(@ymd);
                        unshift(@ymd, $year);
                }
 -               if (999 < $ymd[0] && $ymd[0] < 10000 && $ymd[1] < 13) {
 +               if (999 < $ymd[0] && $ymd[0] < 10000 && $ymd[1] < 13 && $ymd[2] eq '') {
                        # YYYY/MM
                        $url .= sprintf("%04d%02d", $ymd[0], $ymd[1]);
                } else {
1箇所目はそう問題にはならないかも知れませんが、”数字 か /”になってます。なので後に評価される
 } elsif ($opt =~ /^\d+$/) {     # DD MDD MMDD
を潰してしまっています。
結局、[day:2008/08/05]と書いても2箇所目で評価されて8月の日記へのリンクを生成していました。ほんとは[day:20080805]とかかけたほうがいいんでしょうけど、
        } elsif ($opt =~ /^\d+$/) {     # DD MDD MMDD
                $name2 = $opt;
                   if ($opt <   100) { $day=$opt; }
                elsif ($opt <  1000) { $day=substr($opt, 1); $mon=substr($opt, 0, 1); }
                elsif ($opt < 10000) { $day=substr($opt, 2); $mon=substr($opt, 0, 2); }
                $url .= sprintf("%04d%02d%02d", $year, $mon, $day);
        } elsif ($name eq '') {
なんとなく空気読みました(笑)
フォーマットに関するドキュメントとかあったほうがいいかもしれませんね。

*1 : adiary Ver2.00でfixされました。

1: nabe 2008年08月10日(日) 午前2時42分

あぁーこれはまずいですね。ご指摘ありがとうございます。修正させて頂きます(^^;

2: matu 2008年08月10日(日) 午後0時32分

nabeさん、恐縮です。今後も微力ながら協力させていただきます(^^


名前:  非公開コメント   

URL(任意):
  • TB-URL  http://d.matu.biz/06/tb/
Related Posts with Thumbnails