トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BugTrack-plugin/61

ページの作成や編集にはユーザ登録が必要です。

TodaysLink.pm 前日など表示の拡張

  • 投稿者: Mya
  • カテゴリ: 修正
  • 優先度: 低
  • 状態: 提案
  • 日時: 2003年10月02日 17時01分22秒

 内容

TodaysLink.pm を拡張して 昨日・一昨日なども表示できるようにしてあります。

よろしければお使いください。

新規機能
  • 指定した日数分前のリンク元を表示することができる。
  • class='TodaysLink' を追加 (フォント等をCSSから設定するため)
使用方法
  • オプションに -1 などでマイナス表記された日数分前を表示
{{todayslink v,-1}}
  • フォントサイズの変更
/* todayslink Style*/
ul.TodaysLink {
  font-size  : 50%;
}
設置方法
${WIKIPATH}/plugin/info/TodaysLink.pm これを新しいTodaysLink.pm(435)で置き換える
パッチ
少々長いですがpatchです。
  • 日付処理部分
diff -urN info.org/TodaysLink.pm info/TodaysLink.pm
--- info.org/TodaysLink.pm      2003-10-02 15:33:21.000000000 +0900
+++ info/TodaysLink.pm  2003-10-03 09:49:43.000000000 +0900
@@ -31,24 +31,25 @@
 sub paragraph {
        my $self = shift;
        my $wiki = shift;
-       my $rank = shift;# 上位 $rank 位まで表示
-       my $way = shift;
+       my $rank ='';
+       my $way  ='';
+       my $date = 0;
        my $buf = "";
-       
-       if($way eq ""){
-               $way = "H";
-       }
-       
-       if($rank eq "v" ||$rank eq "V"){
-               $way = "V";
-               $rank = "";
-       } elsif($rank eq "H" || $rank eq "h") {
-               $way = "H";
-               $rank = "";
+
+       while(my $option = shift){
+               if($option eq "v" || $option eq "V"){
+                       $way = "V";
+               } elsif($option eq "H" || $option eq "h") {
+                        $way = "H";
+               } elsif($option =~ m/^-[0-9]+$/ ){
+                       $date = $option;
+               } elsif($option =~ m/^\d+$/ ){
+                       $rank = $option;
+               }
        }
 
        # 今日の日付をログと同じフォーマットで
-       my $time = time();
+       my $time = time() + $date * 86400; # 86400 = 24h * 60min * 60sec
        my ($sec,$min,$hour,$mday,$month,$year,$wday) = localtime($time);
        $year += 1900;
        $month += 1;
  • class指定部分
diff -urN info.org/TodaysLink.pm info/TodaysLink.pm
--- info.org/TodaysLink.pm      2003-10-02 15:33:21.000000000 +0900
+++ info/TodaysLink.pm  2003-10-03 09:49:43.000000000 +0900
@@ -73,7 +74,7 @@
        } keys(%{$count});
        
        if ($way ne "H" && $way ne "h"){
-               $buf .= "<ul>\n";
+               $buf .= "<ul class='TodaysLink'>\n";
        }else{
                $buf .= "[";
        }

 コメント

  • ありがとうございます。もとのtodayslinkで文字化けしていたのも直りました。長いURLが折り返されてしまうので文字サイズを小さくしたいのですが、どうすればいいでしょうか? - ざ (2003年10月02日 23時49分33秒)
  • 文字サイズを小さくする方法は、CSSで指定する方が良いと思うのですが、、TodaysLinkで出力される内容にclassがついてないですね。ちょっとつけてみます。 あと文字化けは私は何もしてないので運よく直っただけな気がします(再発の恐れも…) - Mya (2003年10月03日 09時17分15秒)
  • クラスが付いていれば私でもCSSで指定できて助かりますが、クラスの命名はどのようにするのでしょうか?命名が被ったりするとまずいですよね、、、 - ざ (2003年10月03日 10時46分12秒)
  • 現在添付されている新しいTodaysLink.pmではTodaysLinkというクラスがついているので、
ul.TodaysLink {
  font-size  : 60%;
}

と.cssファイルに書き足すことで無事このように解決しました。有難うございました。 - ざ (2003年10月03日 12時15分39秒)

  • 3.5.2dev3でエラーが出ましたので対応しました。3.5.1等でも使えますのでご利用ください。 - mya (2003年12月10日 13時37分56秒)
  • 同じパッチで3.5.7でもちゃんと動くようだ...よかったぁ - mya (2005年03月10日 01時25分23秒)
お名前: コメント:
TodaysLink.pm

最終更新時間:2005年03月10日 01時25分23秒