プラグイン開発¶
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ページ にて確認できます。
プラグインの登録・反映¶
完成したプラグインをWedataに登録することで、QuoteItに反映させることができます。
- サムネイルプラグインは QuoteIt-thumbnail DB に、Clipプラグインは QuoteIt-clip DB に登録します。 なお登録にはOpenIDが必要です。
- Upgradeページ から反映させます。