mail2weblog (1.3.9) | 2013-08-09 13:18 |
ウェブログプラグイン-書式プラグイン間の通信が増えた場合は、本情報を更新して行きます。
ウェブログプラグイン-書式プラグイン間の通信は、主に書式プラグインの preset 系メソッドの戻り値により行われます。
書式プラグインの preset メソッドが返した Hash のうち、特定のキーを持ったものをウェブログプラグインが読み取り、それに対して特定の動作を行います。
書式プラグインの preset メソッドは自由に Hash を返せますが、ウェブログプラグインとの通信用であることが明確にわかるよう M2W_FORMAT_PLUGIN_CONF_HEADER_NAME(=':format_plugin_conf_header') をキーとして必ず利用する仕様とします。
ウェブログプラグインとの通信を行う書式プラグインの preset 系メソッドは概ね以下のようになります。
def plugin_preset(param, vars) (params, option, content) = get_format_plugin_parameter(param, vars, 1, OPTION_ALIAS, OPTION_DEFAULT_VALUE) return { M2W_FORMAT_PLUGIN_CONF_HEADER_NAME => { '定義済み通信用変数名1' => 値は型も含めてそれぞれの目的応じて定義される。, '定義済み通信用変数名2' => 値は型も含めてそれぞれの目的応じて定義される。, }, 'プラグイン独自の変数名1' => 値は型も含めてプラグイン独自の目的に応じて定義される。, 'プラグイン独自の変数名2' => 値は型も含めてプラグイン独自の目的に応じて定義される。, } end def plugin_preset_inline(param, vars) plugin_preset(param, vars) end
以下、定義済みの通信用変数名を一覧で示します。
preset の戻り値名称 | 定数 | 概要 | ウェブログプラグインの挙動 |
thumbnail | M2W_WEBLOG_PLUGIN_CONF_THUMBNAIL_VAR_NAME | 添付ファイルのサムネイル作成指定を行うもの。 | 指示に応じてサムネイルの作成・転送を行います。 |
medias | M2W_WEBLOG_PLUGIN_CONF_MEDIAS_VAR_NAME | ファイル転送指定を行うもの。 | 指示に応じてファイル転送を行います。 |
添付ファイルのサムネイル作成指定を添付ファイル毎に行います。
添付ファイル毎のサムネイル作成指定は、以下のように行います。
{ M2W_FORMAT_PLUGIN_CONF_HEADER_NAME => { 'M2W_WEBLOG_PLUGIN_CONF_THUMBNAIL_VAR_NAME' => { '画像ファイルの添付番号' => サムネイル作成指定 } }, }
サムネイル作成指定は、以下のキーを持った Hash です。
キー | 必須 | 値 |
condition_width | - | ピクセル単位で指定する。指定した場合、画像の幅が指定した値より大きい場合にサムネイルを作成する。 |
condition_height | - | ピクセル単位で指定する。指定した場合、画像の高さが指定した値より大きい場合にサムネイルを作成する。 |
scale | - | 添付ファイルの画像に対するサムネイルのサイズ比率をパーセントで指定する。100 が同一サイズを表し 50 が半分のサイズを表す。拡大指定も可能である。 |
width | - | サムネイルの最終的な幅をピクセル単位で指定する。 |
height | - | サムネイルの最終的な高さをピクセル単位で指定する。 |
keep | - | width もしくは height の片方のみの指定を行った場合、縦横比の維持を行う場合指定する。定義の有無が縦横比の維持の可否であり、設定値は無視される。 |
これを受けて、ウェブログプラグインはサムネイルの作成とブログへの転送を行います。
具体的には以下のソースを参照してください。
ファイル転送指定を行います。
ファイル転送指定は、以下のように行います。
return { M2W_FORMAT_PLUGIN_CONF_HEADER_NAME => { M2W_WEBLOG_PLUGIN_CONF_MEDIAS_VAR_NAME => { 'メディアID' => MediaPoster クラスインスタンス, } } }
MediaPoster クラスについての詳細は以下のソースを参照してください。