プラグイン開発

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に反映させることができます。

  1. サムネイルプラグインは QuoteIt-thumbnail DB に、Clipプラグインは QuoteIt-clip DB に登録します。 なお登録にはOpenIDが必要です。
  2. Upgradeページ から反映させます。