MT-I18Nプラグイン

Movable Type 3.x日本語版のMT::I18Nの機能をコンテナタグやグローバルフィルタとして使えるようにするプラグイン。

MT-I18N.zip

本ソフトウェアは個人用・商用を問わず無償で提供されています。継続的な開発をご支援くださる方はご寄付をご考慮ください。

更新履歴

  • 0.01(2004.08.15):
    • (ろくに動作確認もせず)公開。
  • 0.02(2005.04.24):
    • mod_perl環境用にpackage宣言を追加。
    • MTFirstNTextの振る舞いをfirst_n_textフィルタと共通に変更。

概要

Movable Type 3.x日本語版のMT::I18Nの機能をコンテナタグやグローバルフィルタとして使えるようにするプラグインです。

{i} 3.3以降は英語版などでも利用できるはずです。

機能的には、milanoさんのmt-jfold pluginのスーパーセットになります。

追加されるタグ・フィルタ

MTGuessEncodingコンテナタグ

<MTGuessEncoding>...</MTGuessEncoding>

囲まれた文字列のEncodingを返します。

MTEncodeTextコンテナタグ

<MTEncodeText from="from_enc" to="to_enc">...</MTEncodeText>

囲まれた文字列をfrom_encからto_encに変換します。また、fromオプションを省略すると入力のエンコーディングを推測します。toオプションを省略すると出力のエンコーディングをPublishCharsetとします。

MTSubstrTextコンテナタグ

<MTSubstrText startpos="startpos" length="length">...</MTSubstrText>

囲まれた文字列から、開始位置(startpos)からlength文字分取り出します。また、lengthオプションを省略すると開始位置から最後までを取り出します。

例えば、以下のように記述することでエントリータイトルの最初の文字だけ大きく表示することができます。

<big><MTSubstrText startpos="0" length="1"><MTEntryTitle></MTSubstrText></big>
<MTSubstrText startpos="1"><MTEntryTitle></MTSubstrText>

MTWrapTextコンテナタグ

<MTWrapText cols="cols">...</MTWrapText>

囲まれた文字列に、colsバイト(ASCII文字は1バイト、非ASCII文字は2バイトとみなします)ごとに改行文字を挿入します。colsオプションを省略すると72バイトごとで改行します。

MTLengthTextコンテナタグ

<MTLengthText>...</MTLengthText>

囲まれた文字列の文字数を返します。

例えば、以下のように記述することでエントリー本文の(HTMLタグを除いた)文字数をカウントすることができます。

<MTLengthText><$MTEntryBody remove_html="1"$></MTLengthText>

MTFirstNTextコンテナタグ

<MTFirstNText length="length">...</MTFirstNText>

囲まれた文字列の先頭からlength文字を取り出します。文字列がlength文字を超える場合には末尾に「...」という文字列を付与します。また、lengthオプションを省略すると先頭から20文字取り出します。

例えば、以下のように記述することでエントリー本文からHTMLタグを取り除いたものの先頭から40文字を取り出すことができます。

<MTFirstNText length="40"><$MTEntryBody remove_html="1"$></MTFirstNText>

first_n_textグローバルフィルタ

<$MTAnyVariableTag first_n_text="length"$>

任意の変数タグの展開後の文字列の先頭length文字を取り出します。同様の機能を提供するtrim_toグローバルフィルタと異なるのは、元の文字列がlength文字を超える場合には末尾に「...」を付与する点です。

See Also

License

This code is released under the Artistic License. The terms of the Artistic License are described at http://www.perl.com/language/misc/Artistic.html.

Author & Copyright

Copyright 2004, Hirotaka Ogawa (hirotaka.ogawa at gmail.com)