プラグイン開発

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 にマッチしたURL
clip_url
マッチしたURLを clip によって変換したURL
content
clip_url の指すページの内容
json
content をJSONとしてパースしたハッシュテーブル

プラグインのテスト

プラグインの動作は、 Sandboxページ にて確認できます。

プラグインの登録・反映

完成したプラグインを config/quote_it.json に登録することで、QuoteIt に反映させることができます。