Últimas Arquivo Comunicados

mail2weblog (1.3.9)2013-08-09 13:18

トピックス (Topics)

最近の更新 (Recent Changes)

2015-05-21
2015-05-13
2015-03-05
2014-10-03
2013-08-22

開発情報 > プラグイン開発

ウェブログプラグイン-書式プラグイン間通信(version 1.3.5 ~)

ウェブログプラグイン-書式プラグイン間の通信が増えた場合は、本情報を更新して行きます。

概要

ウェブログプラグイン-書式プラグイン間の通信は、主に書式プラグインの 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 の戻り値名称定数概要ウェブログプラグインの挙動
thumbnailM2W_WEBLOG_PLUGIN_CONF_THUMBNAIL_VAR_NAME添付ファイルのサムネイル作成指定を行うもの。指示に応じてサムネイルの作成・転送を行います。
mediasM2W_WEBLOG_PLUGIN_CONF_MEDIAS_VAR_NAMEファイル転送指定を行うもの。指示に応じてファイル転送を行います。

各通信用変数詳細

thumbnail

添付ファイルのサムネイル作成指定を添付ファイル毎に行います。

添付ファイル毎のサムネイル作成指定は、以下のように行います。

{
  M2W_FORMAT_PLUGIN_CONF_HEADER_NAME => {
    'M2W_WEBLOG_PLUGIN_CONF_THUMBNAIL_VAR_NAME' => {
      '画像ファイルの添付番号' => サムネイル作成指定
    }
  },
}

サムネイル作成指定は、以下のキーを持った Hash です。

キー必須
condition_widthピクセル単位で指定する。指定した場合、画像の幅が指定した値より大きい場合にサムネイルを作成する。
condition_heightピクセル単位で指定する。指定した場合、画像の高さが指定した値より大きい場合にサムネイルを作成する。
scale添付ファイルの画像に対するサムネイルのサイズ比率をパーセントで指定する。100 が同一サイズを表し 50 が半分のサイズを表す。拡大指定も可能である。
widthサムネイルの最終的な幅をピクセル単位で指定する。
heightサムネイルの最終的な高さをピクセル単位で指定する。
keepwidth もしくは height の片方のみの指定を行った場合、縦横比の維持を行う場合指定する。定義の有無が縦横比の維持の可否であり、設定値は無視される。
  • condition_width と condition_height の両方を指定した場合、どちらかの条件を満たせばサムネイルを作成する。どちらの条件も満たさなかった場合、サムネイルは作成しない。
  • scale を指定した場合、width と height よりも scale を優先する。
  • width と height の両方を指定した場合、keep の指定は無視される。

これを受けて、ウェブログプラグインはサムネイルの作成とブログへの転送を行います。

具体的には以下のソースを参照してください。

  • コマンドプラグイン
  • 書式プラグイン
    • img 書式プラグイン img.rb

medias

ファイル転送指定を行います。

ファイル転送指定は、以下のように行います。

return {
  M2W_FORMAT_PLUGIN_CONF_HEADER_NAME => {
    M2W_WEBLOG_PLUGIN_CONF_MEDIAS_VAR_NAME => {
      'メディアID' => MediaPoster クラスインスタンス,
    }
  }
}

MediaPoster クラスについての詳細は以下のソースを参照してください。


履歴

  • version 1.3.4
    • 本情報をやっとまとめ始めた。手始めに現在定義済みの thumbnail についての記述を行った。
    • ウェブログプラグイン-書式プラグイン間通信用を明確にするための定数 M2W_FORMAT_PLUGIN_CONF_HEADER_NAME は、名称が不適格と思われるため後日リファクタリングにより名称を改める可能性が高い。
  • version 1.3.5
    • thumbnail に関する記述の誤りを修正した。
      • サムネイル作成指定は、単なる Hash ではなく '画像ファイルの添付番号' に対する Hash である。
    • サムネイル作成指定に関する仕様に追加/変更を行った。
      • condition_width, condition_height によるサムネイル作成可否の条件指定機能を追加した。
      • width のみ height のみの指定ができるよう修正した。
      • keep による縦横比の維持機能を追加した。