blog.鶯梭庵

二〇〇四年 葉月 廿九日 日曜日

日付を漢字表示にするには [/this_blog/blosxom]

この記事は書かれてから1年以上経過しています。内容が古くなっている可能性があります。コメントの受付は終了しました。

まず、以下のような連想配列を用意する。


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

%month2ja = ( Jan=>'睦月', Feb=>'如月', Mar=>'弥生', Apr=>'卯月', May=>'皐月', Jun=>'水無月', Jul=>'文月', Aug=>'葉月', Sep=>'長月', Oct=>'神無月', Nov=>'霜月', Dec=>'師走' );

%num2ja = ( 0=>'〇', 1=>'一', 2=>'二', 3=>'三', 4=>'四', 5=>'五', 6=>'六', 7=>'七', 8=>'八', 9=>'九' );


次に、nice_date サブルーチンを以下のように変更。


my($unixtime) = @_;

my $c_time = ctime($unixtime);

my($dw,$mo,$d1,$d2,$y1,$y2,$y3,$y4) = ( $c_time =~ /(\w{3}) +(\w{3}) +(\d?)(\d) +\d{2}:\d{2}:\d{2} +(\d)(\d)(\d)(\d)$/ );

$dw = $day2ja{$dw} . '曜日';

$mo = $month2ja{$mo};

my $da = '';

if ( $d1 eq 1 ) { $da .= '十'; }

elsif ( $d1 eq 2 ) { $da .= '廿'; }

elsif ( $d1 eq 3 ) { $da .= '卅'; }

$da .= $num2ja{$d2} unless $d2 eq 0;

$da .= '日';

my $yr = $num2ja{$y1} . $num2ja{$y2} . $num2ja{$y3} . $num2ja{$y4} . '年';

return ($dw,$mo,$da,$yr);


私は perl 初心者なので、もっといいやり方があるかもしれない。本当はプラグインにすればいいのだろうけれど、自分が使えるようにするので精いっぱい。それでもコピーして使いたいという奇特な人は、ご自由に使ってください。


関連記事:

日付を漢字表示にする [/this_blog/perl]

[この記事だけを読む。] [最新の記事を読む。]

二〇〇四年 葉月 十九日 木曜日

writeback プラグインの変更 [/this_blog/blosxom]

この記事は書かれてから1年以上経過しています。内容が古くなっている可能性があります。コメントの受付は終了しました。

このブログでは、writeback プラグインを以下のように変更して使っている。


119行目

if ( request_method() eq 'POST' and (param('plugin') eq 'writeback' or $blosxom::flavour eq $trackback_flavour) ) {


if ( request_method() eq 'POST' and param('plugin') eq 'writeback' and param('name') ne '' and param('comment') ne '' ) {

に変更

・トラックバックの受信をしないようにした。

・名前またはコメントが空白の入力は受け付けないようにした。


130行目から131行目

$p =~ s/<.*?>//mg;

$p =~ s/\r?\n\r?/\r/mg;


my %escape = ('<'=>'&lt;', '>'=>'&gt;', '&'=>'&amp;', '"'=>'&quot;');

my $escape_re = join '|' => keys %escape;

$p =~ s/($escape_re)/$escape{$1}/g;

$p =~ s/\x0D\x0A/<br>/g;

$p =~ s/\x0D/<br>/g;

$p =~ s/\x0A/<br>/g;

に変更

・HTML 特殊文字をエスケープするようにした。

(このコードは blosxom 本体で使われていたものを拝借)

・改行が表示に反映されるようにした。

(このコードは Perl メモから拝借)


関連する記事:

スパムコメント対策 [/this_blog/perl]

[この記事だけを読む。] [最新の記事を読む。]

二〇〇四年 葉月 十四日 土曜日

blosxom で日本語を使うには [/this_blog/blosxom]

この記事は書かれてから1年以上経過しています。内容が古くなっている可能性があります。コメントの受付は終了しました。

blosxom のデフォルトでは、Content-Type が text/html とか text/xml とかになっているが、このままでは日本語が文字化けすることがある。content_type フレーバファイルに「text/html; charset=EUC-JP」とか「text/xml; charset=EUC-JP」とか書く。もちろん、EUC 以外の文字コードを使っている人は、それなりに書くこと。

それから、head フレーバファイルで、HTML なら meta タグで文字コードを指定するとか、XML なら encoding で文字コードを指定するとかしておくとよいと思う。

あと、すべてのファイルの文字コードをそろえておかないと、ページの一部分だけ文字化けする。

ちなみに、私のページのソースを見ると、ところどころに「蝙蝠蛸」と書いてあるのがわかると思う。ファイルをエディタで開いたときに、文字コードの判定に失敗することがあるので、これを入れている。「蝠」の字と「蛸」の字が美乳テーブルに含まれているので、確実に EUC と判別される。

ちなみにちなみに、蝙蝠蛸ってのはこんなの


2004年8月15日追記 本文中で HTML タグを使っている場合、そのまま RSS に出力すると、正しい XML にならないので、いくつかの文字をエスケープする必要がある。blosxom のデフォルトでは、Content-Type が xml で終わっている場合に限りエスケープをするので、blosxom 本体378行目の「m{\Wxml$}」を「m{\Wxml\W}」に変える必要がある。

[この記事だけを読む。] [最新の記事を読む。]

二〇〇四年 葉月 十二日 木曜日

blosxom とは? [/this_blog/blosxom]

この記事は書かれてから1年以上経過しています。内容が古くなっている可能性があります。コメントの受付は終了しました。

blosxom(ブロッサムと読むらしい)とは、このブログを作るのに使っているツール。実体は小さな CGI ファイル。サーバの適切な場所にテキストファイルを置いておくと、こいつがそれらを拾ってブログにしてくれる。本体だけではコメントもトラックバックもできないけれど、プラグインで拡張できる。

本家のページその日本語訳

[この記事だけを読む。] [最新の記事を読む。]

RSS feed

カテゴリ

[/language] (98)
[/links] (254)
[/mac] (114)
[/music] (36)
[/origami] (406)
[/this_blog/ajax] (7)
[/this_blog/blosxom] (4)
[/this_blog/history] (12)
[/this_blog/perl] (9)

最新記事

パスワードについてのあなたの常識はもはや非常識かもしれない・その1 [/links]
ニューラルネットワークとディープラーニングで翻訳はどうなる・その5 [/language]
ニューラルネットワークとディープラーニングで翻訳はどうなる・その4 [/language]
HTTPS 対応 [/links]
ひらがな・カタカナ学習ウェブアプリ [/links]
日本語の「た」と英語の過去形 [/language]
ORI-REVO で回転楕円体を折る・その2 [/origami]
ORI-REVO で回転楕円体を折る・その1 [/origami]
折り紙建築 [/origami]
折鶴に松図小柄 [/origami]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その6 [/links]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その5 [/links]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その4 [/links]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その3 [/links]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その2 [/links]

羽鳥 公士郎