プラグイン開発¶
QuoteIt で引用できるサービスは、プラグインにより自由に拡張できます。
プラグインの種類¶
プラグインには サムネイルプラグイン と Clip プラグイン の2種類が存在します。
- サムネイルプラグイン
- Twitpic などの画像共有サービスから、画像を引用するためのプラグインです。 結果は 画像 のURLでなければなりません。
- Clip プラグイン
- 任意の Web サービスから引用するためのプラグインです。 結果には任意の HTML タグを利用できます。 埋め込み HTML を引用する場合には、Clip プラグインが便利です。
プラグインの定義¶
サムネイルプラグインの場合¶
url
- 該当サービスの代表的なURLです。プラグイン一覧を表示する際に利用されます。
regexp
本プラグインが対象とするURLの正規表現です。
( )
により正規表現をグループ化し、thumbnail
から参照できます。使える文法は Rubyの正規表現 を参照してください。
thumbnail
- 画像のURLです。
$1
,$2
,$3
, ... でregexp
の n番目にマッチしたテキストを参照できます(nは1から9まで)。 また、$$1
,$$2
,$$3
, ... とすることで、URL エンコードされた値を参照することもできます。
Clip プラグインの場合¶
url
- 該当サービスの代表的なURLです。プラグイン一覧を表示する際に利用されます。
regexp
本プラグインが対象とするURLの正規表現です。
( )
により正規表現をグループ化し、clip
から参照できます。使える文法は Rubyの正規表現 を参照してください。
clip
- 引用するデータのURLです。
$1
,$2
,$3
, ... でregexp
の n番目にマッチしたテキストを参照できます。(nは1から9まで) transform
clip
からHTMLコードを生成する方法を定義します。 制限されたRubyコードが利用できます。Rubyの制限については Rubyのセキュリティモデル のセーフレベル4を参照してください。
また transform
内で利用できるメソッドは以下の通りです。
original_url
regexp
にマッチしたURLclip_url
- マッチしたURLを
clip
によって変換したURL content
clip_url
の指すページの内容json
content
をJSONとしてパースしたハッシュテーブル
プラグインのテスト¶
プラグインの動作は、 Sandboxページ にて確認できます。
プラグインの登録・反映¶
完成したプラグインを config/quote_it.json に登録することで、QuoteIt に反映させることができます。