Created
May 12, 2012 02:32
-
-
Save cherenkov/2663761 to your computer and use it in GitHub Desktop.
pipes / simplexmlで複数サイトのRSSを読みこみ、新着順で表示させる方法.. - 人力検索はてな http://q.hatena.ne.jp/1336407726
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!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> |
cherenkovさん
お返事おくれて申し訳ありません。
完璧です・・・。
はてなポイントでお礼したいのですが、どうすれば良いでしょうか?
すみません、いまいち仕組みをわかっておらずで。。。
取り急ぎお礼まで。
ありがとうございました。
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
お礼ははてなポイントで受け付けていますよ。なんつって。
一定の日付フォーマットは、以下のようにnew Dateしてみるとそのまま扱えるか簡単に確認できます。
new Date("2012-06-22T18:30:43+09:00");
↓
こんな感じ。
あとはここをにらめっこすればわかるかと。
Date - MDN
https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/Date