WebSig24/7::MT分科会::プラグインを作成(藤本壱さん)

参加してきました。

で、プラグインをはじめてつくりました。講師は、プラグイン作者で有名な藤本壱さん。

Perlも、ほとんど書けない人間が、つくれましたよ!プラグイン自体は、半角全角の変換モディファイアというもので、Unicode::JapaneseというPerlのライブラリを使用すると、いわゆる本文は数行で終わるシンプルなものでした。

だからこそ、いろいろプラグイン開発において、細かなところを聞けました。この@_は・・・?とか。my $variablename って・・・とか(笑)

Perlの本を読めば書いてあるし、きっと読んだであろうことだと思うのですが、それでも、気軽に聞ければ、思わぬ発見があったりします。

普段、ロクナナワークショップで教える立場としては、講義を受ける人の気持ちがわかって、目から鱗が剥がれまくりでした。

これは、かなり勉強になります。恥ずかしがらずに質問することが重要ですね。

いろいろと教えてくださった藤本さんに感謝します。ありがとうございました。
そして、こんなワークショップを開催してくれているWebSigとMT分科会のDaikinyさんはじめ、ボランティアで活動していただいているスタッフの方々にも感謝です。

 

で、肝心のプラグインは以下。まだまだ、機能的に甘い点があります。が、いったん公開して、これから詰めたいと思います。

一応、動かすには、コピペしたファイルを.plファイルとして保存し、プラグインディレクトリに入れます。

<MTEntryBody conv_hz="A"> で、全角へ <MTEntryBody conv_hz="a">で半角へコンバートします。
でも、全角にコンバートしちゃうと、htmlタグが全角になっちゃうという問題がありました。詰めが甘いのはご容赦ください。

package MT::Plugin::PluginName;
use base 'MT::Plugin';

use strict;

use MT::Plugin;
use MT;
use MT::Template::Context;
use MT::I18N qw(encode_text);
use Unicode::Japanese;

# show plugin information to main menu
my $plugin = __PACKAGE__->new({
    name => 'Convert HankakuZenkaku',
    version => '1.00',
    author_name => 'NORI@WebSig',
    author_link => 'http://www.3oclock.com/hello-world/',
    description => 'Convert hankaku - zenkaku',
});
MT->add_plugin($plugin);

# add tag
sub init_registry {
    my $plugin = shift;
    my $reg = {
        tags => {
            modifier => {
                conv_hz => \&convert_han_zen,
            },
        },
    };
    $plugin->registry($reg);
}

# Template of global modifier
# conv_hz="A" to Zenkaku
# conv_hz="a" to Hankaku
sub convert_han_zen {
    my ($text, $arg) = @_;

    my $charset = lc(MT->config->PublishCharset);
    $charset = 'utf8' if ($charset eq 'utf-8');
    my $t = Unicode::Japanese->new($text,$charset);
    if ($arg eq 'A'){
     $t->h2z;
    }
    elsif($arg eq 'a'){
     $t->z2h;
    }
    $text=$t->conv($charset);
return $text;
}

1;

 

トラックバック:1

WebSig24/7MT4分科会第2回勉強が終了しました。 from WebSig24/7 2008-06-24 (火) 19:16
モデレータの蒲生です。6月21日土曜日デジタルハリウッド大学秋葉原セカンドキャ... 続きを読む

コメント:3

2008年6月22日 17:15

こんにちは。昨日はお疲れ様でした。

昨日作ったものを若干機能拡張したものを、ブログで公開しておきました。

http://www.h-fj.com/blog/archives/2008/06/22-133827.php

2008年6月22日 17:21

こんにちは、NORIさん。
ほとんど、お話しできなかったですが、お会いできてうれしかったです。
私も教える側じゃなかったら、藤本さんのテーブルに参加したかったです。
プラグインを形にできた、NORIさんがうらやましいです。
また、お会いできることを楽しみにしています。

壱さん
どうも、ありがとうございました。
そうそう、このプラグインフルバージョンを学習させていただきます!

oscarさん
こちらこそ!なんだか話しかけるタイミングを逃してしまいましたが、内容の濃い分科会でした。
講師役 お疲れ様でした。

Index of all entries

Feeds
About

supported by TOGORU

Return to page top