Skip to content

Instantly share code, notes, and snippets.

@cherenkov
Created May 12, 2012 02:32
Show Gist options
  • Select an option

  • Save cherenkov/2663761 to your computer and use it in GitHub Desktop.

Select an option

Save cherenkov/2663761 to your computer and use it in GitHub Desktop.
pipes / simplexmlで複数サイトのRSSを読みこみ、新着順で表示させる方法.. - 人力検索はてな http://q.hatena.ne.jp/1336407726
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type='text/javascript'>
$(function() {
var feed = [
'http://rss.itmedia.co.jp/rss/1.0/news_security.xml',
'http://michaelsan.livedoor.biz/index.rdf',
'http://blog.livedoor.jp/domesaka/index.rdf',
'http://news4vip.livedoor.biz/index.rdf'
].map(function(e){return '"'+e+'"'}).join();
// http://pipes.yahoo.com/pipes/pipe.info?_id=6024c63c810e0a4ef1efe9eea8505b66
// クライアント側からフィードのリストをpipesに投げて、
// pipes側でフィードをまとめて、エントリータイトルにチャンネルタイトルを付けて、最新順にソートしてJSON出力。
var url = 'http://pipes.yahoo.com/pipes/pipe.run?_id=6024c63c810e0a4ef1efe9eea8505b66&_render=json&feed='+encodeURIComponent(feed);
var antena = document.getElementById('antena');
$.getJSON(url, function(e) {
var df = document.createDocumentFragment();
for (var i=0,n=e.count; i<n; i++) {
var entry = e.value.items[i];
var title = entry.item.title;
var link = entry.item.link;
var date = entry.item['dc:date'].content;
// 2012/05/11 13:51 のフォーマットにする
date = date.replace(/(\d+-\d+-\d+)T(\d+:\d+).+/,function(a,b,c) {
return b.replace(/-/g, '/') + ' ' + c;
});
var a = document.createElement('a');
a.href = link;
a.textContent = title;
var div = document.createElement('div');
div.appendChild(document.createTextNode(date + ' '));
div.appendChild(a);
df.appendChild(div);
}
antena.appendChild(df);
});
});
</script>
</head>
<body>
<div id="antena"></div>
</body>
</html>
@saruz999

Copy link
Copy Markdown

cherenkovさん

理想のRSSリーダーに出会い本当に感謝感激です!

もう一点だけお聞きしたい事が・・・
タイトルの最後(2012年12月30日タイトル blog名)と「blog名」か追記されると思いますが、
これを表示しない方法はございますでしょうか?
何度も何度も本当に申し訳ございません。。。

はてなポイントはどのようにお渡しすれば良いでしょうか・・・。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment