ソースコード表示支援
ソースコード表示用スタイル
.src_code { margin-left:20px; margin-right:20px; border-style:solid; border-width:1px; padding:10px; width:auto; background-color:#E6E6FA; font-weight:bold; font-family: "MS ゴシック" }
lib/MT/Builder.pm を変更
if ($ph) {
$out = $ph->($ctx, \%args, $out);
}
#ここから追加コード
my @line = split(/\n/, $out);
my $i;
my $flg = 0;
for ($i = 0; $i <= $#line; $i++) {
if ($line[$i] =~ /^\@S/ ) {
$flg = 1;
$line[$i] = "<PRE class=\"src_code\">";
next;
}
if ($line[$i] =~ /^<p>\@S/ ) {
$flg = 1;
$line[$i] = "<PRE class=\"src_code\">";
next;
}
if ($line[$i] =~ /^\@E/ ) {
$flg = 0;
$line[$i] = "</PRE>";
next;
}
if ( $flg == 1 ) {
$line[$i] =~ s/^<p>//g;
$line[$i] =~ s/<\/p>//g;
$line[$i] =~ s/<br \/>//g;
$line[$i] =~ s/&/&/g;
$line[$i] =~ s/</</g;
$line[$i] =~ s/>/>/g;
}
}
for ($i = 0; $i <= $#line; $i++) {
if ($line[$i] =~ /\[\[/ ) {
$line[$i] =~ s/\[\[/<SPAN style='color:red;font-weight:bold'>/g;
}
if ($line[$i] =~ /\]\]/ ) {
$line[$i] =~ s/\]\]/<\/SPAN>/g;
}
}
$out = join("\n", @line);
#ここまで追加コード
$res .= $out;