長いタイトルをトリミング

最近、ブログのカスタマイズ没頭しています(^^;)

今回は、「Recent Entry」などのように、エントリー名を羅列しますが、
それが長いタイトルの場合、折り返してしまいます。

そこで、またまたカスタマイズ。

参考URL:
『M's folder: MT 長いタイトルをトリミングする』

以下のスクリプトを適当な名前で保存します。(「trim.pl」とか)


# EUC-JP 専用

package MT::Plugin::Trimj;   use MT::Template::Context;   MT::Template::Context->add_global_filter(trimj_to => sub { my($str, $nstr, $ctx) = @_; my $sippo = '...'; my $lenstr = length($str); if($lenstr <= $nstr){ return $str; } my $out = substr($str,0,$nstr);   if ($out =~ /\x8F$/ or $out =~ tr/\x8E\xA1-\xFE// % 2) { chop $out; if($out =~ /\x8F$/){ chop $out; } }   $out .= $sippo;# 尻尾を付けたくない場合はコメントアウト。 return $out; });   1;


保存したファイルをプラグインディレクトリ「/plugins」にアップロードします。

あとはトリミングしたいタグの中で、「trimj_to="30"」というのを挿入します。

例えば、

<$MTEntryTitle <strong>trimj_to="20"</strong>$>

と言った感じ。

長さは微調整しましょう。

このプラグインのいいところは、エントリー名だけでなく、
他のタイトル名もトリミングできること!!


いちを上記のスクリプトは文字コード・EUC専用なので、
他のSJISUTFなどのサイトの方は、
『M's folder: MT 長いタイトルをトリミングする』
へどうぞ(^^;)