Blosxom

日記用プラグイン

日記って大抵夜に書くけれど、 真夜中を過ぎてしまうと次の日の日付がついてしまって困るので、 そうならないようにするプラグインです。


あと、曜日も日本語で出るようにしました。 フレーバーの date.html に下記のように書いて使います。

<h3>$diary::mo_num 月 $diary::da 日($diary::dw)の日記</h3>

ソースは下記のとおりです。 これを diary という名前のファイルに保存してつかいます。

# -*- perl -*-

# 日記プラグイン。

# 午前中に書かれたエントリーは、前日の日記として扱う。

package diary;

use strict;

our ($dw, $mo, $mo_num, $da, $ti, $yr);

our %j_dw = (Sun => "日",
	     Mon => "月",
	     Tue => "火",
	     Wed => "水",
	     Thu => "木",
	     Fri => "金",
	     Sat => "土",
	     );

sub start {
    1;
}

sub date {
    my $class = shift;

    my ($currentdir, $date_ref, $unixtime,
	$o_dw, $o_mo, $o_mo_num, $o_da, $o_ti, $o_yr) = @_;

    my ($hour, $min) = ($o_ti =~ /(\d{2}):(\d{2})/);

    if ($hour < 12) {
	($dw, $mo, $mo_num, $da, $ti, $yr) = &blosxom::nice_date ($unixtime - 60 * 60 * 12);
    } else {
	($dw, $mo, $mo_num, $da, $ti, $yr) = ($o_dw, $o_mo, $o_mo_num, $o_da, $o_ti, $o_yr);
    }

    $mo_num =~ s/^0+//;
    $da =~ s/^0+//;
    $dw = $j_dw {$dw};
}

1;

Comments

最終更新: 2003 年 08 月 14 日 09:12