MT-I18Nプラグイン
Movable Type 3.x日本語版のMT::I18Nの機能をコンテナタグやグローバルフィルタとして使えるようにするプラグイン。
本ソフトウェアは個人用・商用を問わず無償で提供されています。継続的な開発をご支援くださる方はご寄付をご考慮ください。
更新履歴
- 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
- MT-I18N_Plugin (English version of this document)
- mt-i18n (TracBrowser)
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)
