aboutsummaryrefslogtreecommitdiffstats
path: root/sbmcommentsviewer.js
diff options
context:
space:
mode:
authoranekos2013-04-19 20:42:54 +0900
committeranekos2013-04-19 20:43:38 +0900
commit40cebd0ed6d580b4fc89da8a5580b5d1cd23936a (patch)
tree5b5d321f6383f469847bad73f2ec1571c8622590 /sbmcommentsviewer.js
parente6caec107ce1325ea5866c10d9f7000e75608180 (diff)
downloadvimperator-plugins-40cebd0ed6d580b4fc89da8a5580b5d1cd23936a.tar.bz2
sbmcommentsviewer に Twitter 検索を追加
Diffstat (limited to 'sbmcommentsviewer.js')
-rw-r--r--sbmcommentsviewer.js33
1 files changed, 32 insertions, 1 deletions
diff --git a/sbmcommentsviewer.js b/sbmcommentsviewer.js
index a049432..ea40f37 100644
--- a/sbmcommentsviewer.js
+++ b/sbmcommentsviewer.js
@@ -32,6 +32,7 @@ viewSBMComments [url] [options]
- l : livedoor clip
- z : Buzzurl
- t : Topsy
+- T : Twitter
- XXX:今後増やしていきたい
>||
@@ -373,6 +374,35 @@ var SBM = { //{{{
liberator.echo('Failed: Topsy');
}
}
+ }, //}}}
+ twitter: { //{{{
+ getURL: function(url){
+ var urlPrefix = 'http://search.twitter.com/search.json?q='
+ return urlPrefix + encodeURIComponent(url.replace(/%23/g,'#'));
+ },
+ parser: function(xhr){
+ var json = jsonDecode(xhr.responseText);
+ if (json && json.results){
+ let c = new SBMContainer('T', json.results.length, {
+ faviconURL: 'https://twitter.com/favicon.ico',
+ pageURL: 'https://twitter.com/search/realtime?q=' + encodeURIComponent(json.query)
+ });
+ json.results.forEach(function(result){
+ c.add( result.from_user,
+ new Date(result.created_at),
+ result.text,
+ null,
+ {
+ userIcon: result.profile_image_url,
+ link: 'https://twitter.com/' + result.from_user
+ }
+ );
+ });
+ return c;
+ } else {
+ liberator.echo('Failed: Twitter');
+ }
+ }
} //}}}
}; //}}}
@@ -459,7 +489,8 @@ var manager = {
d: 'delicious',
l: 'livedoorclip',
z: 'buzzurl',
- t: 'topsy'
+ t: 'topsy',
+ T: 'twitter'
},
format: {
id: 'ID',