お知らせ

Movable Type 5 Webサイト製作ガイドVolume 22010年4月19日

Movable Type 5 Webサイト製作ガイドVolume 2」を発売しました。
「Movable Type 5 Webサイト製作ガイドVolume 1」の続編で、変数等の応用的な機能や、ウェブサイトやテーマなどのMovable Type 5の新機能についてしっかり解説した書籍です。
Movable TypeでWeb製作をされている方などにお勧めです。
PDFによる販売で、当サイトでのみ購入できます(書店では購入できません)

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

半角/全角変換モディファイアプラグイン

| コメント(6) | トラックバック(3)

昨日(6月21日)、WebSig24/7 MT4分科会が開催されました。
6つのテーブルに分かれてワークショップを行いましたが、私は「簡単なプラグインの作成」というテーブルを担当させていただきました。

このテーブルで「半角と全角の変換を行うモディファイア」のプラグインを作成しました。
その成果を元に、若干機能拡張を行ったものを公開します。

1.ダウンロード

プラグインは以下からダウンロードすることができます。

ConvertHanZen_1_00.zip

ダウンロードしたファイルを解凍すると、「extlib」と「plugins」のフォルダができます。
このうち、「plugins」フォルダを、Movable Typeのインストール先ディレクトリにアップロードします。

2.Unicode::Japaneseモジュールのインストール

このプラグインでは、半角/全角の変換を行うために、山科氷魚氏作の「Unicode::Japanese」というモジュールを利用しています。
以下のいずれかの方法で、このモジュールをインストールします。

2-1.cpanでインストール

cpanでモジュールをインストールできる方は、cpanを起動して「install Unicode::Japanese」とすることで、このモジュールをインストールすることができます。
この方法でインストールすると、半角/全角変換の処理にはコンパイルされたライブラリが使われますので、次に述べる方法よりも高速に動作します。

2-2.Japanese.pmファイルをコピー

cpanを使えない方は、解凍してできた「extlib」フォルダを、Movable Typeのインストール先ディレクトリにアップロードします。

3.conv_hzモディファイアの使い方

このプラグインをインストールすると、「conv_hz」というモディファイアが追加されます。
<MTHogehoge conv_hz="○">のように書くことで、タグの文字列の中の半角/全角を変換することができます。
「○」に以下の文字を指定して、変換方法を選びます。

文字変換元変換先
Aすべての半角文字全角
aすべての全角文字半角
N半角数字全角
n全角数字半角
L半角アルファベット全角
l全角アルファベット半角
S半角記号全角
s全角記号半角
K半角カナ全角
k全角カナ半角
H全角カタカナ全角ひらがな
h全角ひらがな全角カタカナ

例えば、「<MTEntryTitle conv_hz="A">」とすると、ブログ記事のタイトルの中にあるすべての半角文字が全角に変換されます。

「conv_hz="○"」の「○」に複数の文字を指定することもできます。
例えば、「<MTEntryTitle conv_hz="nsl">」とすると、ブログ記事のタイトルの中にある全角数字/アルファベット/記号が半角に変換されます。

4.問題点

変換対象の文字列にHTMLのタグが含まれている場合、それも変換されてしまいます。
例えば、「<MTEntryBody conv_hz="A">」としてブログ記事の本文を全角に変換する場合、記事内にHTMLのタグが含まれているとそれも全角に変換されてしまい、表示が正しくなくなります。

5.ライセンス

このプラグインはMITライセンスで公開します。

トラックバック(3)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/1352.

モデレータの蒲生です。6月21日土曜日デジタルハリウッド大学秋葉原セカンドキャ... 続きを読む

3ヶ月近い準備期間を経て、中・上級者向けのMTOSのイベントセミナーが終了した。 6月21日土曜日デジタルハリウッド大学秋葉原セカンドキャンパス(ダイド... 続きを読む

はじめに 私が製作したサイトはMultiBlogにより、複数のブログを組み合わせ... 続きを読む

コメント(スレッド2件,コメント6件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 (匿名) : (無題)

早速使用させて頂きました。正常に動作しております。
ただ、MTのプラグイン画面でConvert Hankaku Zenkaku 1.00の「ドキュメント」をクリックすると、こちらのブログに飛びますが、「ページが見つかりません」となりました。

No.2  : (無題)

こんにちは。

ミスをご指摘いただきありがとうございました。
修正したものをアップロードしておきました。

No.3 cotenthe : MT5で反映しない時がある

導入時は動作確認出来たのですが
気づいたら半角になっていない部分がありました

で指定しています

テンプレートの組み合わせでしょうか

No.4  : Re:MT5で反映しない時がある

>cotentheさん
こんにちは。

肝心の「~で指定しています」の部分がありませんので、恐れ入りますがタグを文字実体参照にして送信しなおしてください。
また、どの文字が変換されないかを具体的にお知らせください。

No.5 cotenthe : (無題)

ご連絡遅くなりました
以下になります


        <MTEntries lastn="5">
<li class="<MTIf name="__odd__">odd<MTElse>even</MTIf>"><$mt:EntryDate format="%m月%d日"$> <span class="cat">【<mt:IfNonEmpty tag="EntryCategory"><mt:EntryCategories glue=", "><a href="<$mt:CategoryArchiveLink$>" target="_blank" name="<$mt:CategoryID$>" title="<$mt:CategoryDescription$>"><$mt:CategoryLabel$></a></mt:EntryCategories><MTElse>-</MTElse></mt:IfNonEmpty>】</span><a href="<$mt:EntryPermalink$>" class="newmarkList" title="<$mt:EntryDate format="%Y年%m月%d日 %H時%M分%S秒"$> <$mt:EntryAuthorLink show_hcard="1"$>により作成されたブログ記事 (<$mt:EntryTitle$>)">
<mt:SetVarBlock name="charaCount"><$mt:EntryTitle count_characters="1"$></mt:SetVarBlock>
<mt:If name="charaCount" gt="16">
<$mt:EntryTitle conv_hz="nl" trim_to="16"$>...
<mt:Else>
<$mt:EntryTitle$>
</mt:If>
</a></li>
</MTEntries>

No.6  : (無題)

>cotentheさん
こんにちは。

こちらで「conv_hz="nl"」の動作を試してみましたが、問題ありませんでした。
申し訳ありませんが、そちらの環境で動作を見てみないことには、原因はわからなさそうです。

コメントする