subscribe-by-google-reader
by
lieutar
2010-11-08 [2010/11/08 02:24:47]
google reader に RSS 登録するやつ。一応twitterとか、フィードへの link 要素のない tumblr にも対応。
@@ -1,6 +1,6 @@
/*
* @title subscribe-by-google-reader
- * @description my google reader に RSS 登録するやつ。一応twitterとか、フィードへの link 要素のない tumblr にも対応。
+ * @description google reader に RSS 登録するやつ。一応twitterとか、フィードへの link 要素のない tumblr にも対応。
* @include http://*
* @license MIT License
* @require
/*
* @title subscribe-by-google-reader
* @description google reader に RSS 登録するやつ。一応twitterとか、フィードへの link 要素のない tumblr にも対応。
* @include http://*
* @license MIT License
* @require
*/
(function(){
var BASE="http://www.google.com/reader/preview/*/feed/";
var FEED_FINDER = [
[
/^(https?:\/\/(?!www\.)[^\.]+\.tumblr\.com)/,
function(all,head){
return head + '/' + rss;
}
],
[
/^https?:\/\/twitter\.com\/#!\/([^/]+)/,
function(all,user){
var uid = null;
var as = document.getElementsByTagName('a');
for(var i=0,l=as.length;i<l;i++){
var a = as[i];
if(!a.className) continue;
if(!a.className.match(/tweet-screen-name/)) continue;
uid = a.getAttribute('data-user-id');
break;
}
return uid ? "http://twitter.com/statuses/user_timeline/" + uid +
".rss" : null;
}
]
];
var find = null;
FEED_FINDER.forEach(
function(finder){
if(find) return;
var match = String(location.href).match(finder[0]);
if(!match) return;
find = function(){ return finder[1].apply(null,match); };
}
);
var url = (find || function(){
var links=document.getElementsByTagName("link");
var re=/application\/atom\|rss\+xml/ig;
for(var i=0;i<links.length;++i){
if((links[i].getAttribute("rel")=="alternate")&&
(re.test(links[i].getAttribute("type")))){
return links[i].getAttribute("href");
}
return null;
if(!(url && url.length>0)){
slert("Could not find rss feed.");
}else{
window.location.href=(BASE+url);
}
}
})();
location.href=(BASE + url);
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。