﻿/*
エキサイトブログ用 RSSFeed リーダー

エキサイトブログのRSSFeed（atom形式）をAjaxで読み込んで、広告を削除して整形して表示するためのJQueryプラグインです。
Google Feed API使用していますので以下のような感じで使ってください。
    <script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAAxuYD9RrfdPNXs10NS8bokxQBsjtf3y_bQa-P1blcNwPQrUzEsBQcyO0kEtLghF-LtG_xGE6aVMP-_A"></script>
    <script type="text/javascript">
		google.load("feeds", "1");
		google.load("jquery", "1.3.2");
    </script>
	<script type="text/javascript" src="rssfeeds.js"></script>
    <script type="text/javascript">
		$(document).ready(function(){
			$("#feedp").rssfeed("http://silkyproqa.exblog.jp/index.xml");
			$("#feed4").rssfeed("http://silkypixqa.exblog.jp/index.xml");
			$("#feedb").rssfeed("http://silkypix.exblog.jp/index.xml");
		});
    </script>
*/


(function(){
	/* プラグイン名（myplugin）を指定 */
	/* 関数にオプション変数を渡す */
	jQuery.fn.rssfeed=function(url){
	 	this.each(function(i){
			var tgt=jQuery(this);
			var feed = new google.feeds.Feed(url);
			feed.setNumEntries(3);
			feed.load(function(result) {
				if (!result.error) {//エラーが出ていなければ、整形を行う。
					tgt.append("<a class='right' href='http://silkypixworld.blog138.fc2.com/?xml'><img src='image02/rss.gif' alt='RSS' align='baseline'></a><h3><span style='font-size:12px;'>New entries</span></h3><dl class='rssfeed' style='margin:0;'></dl>");
					for (var i = 0; i < result.feed.entries.length; i++) {//エントリー毎に処理
						var entry = result.feed.entries[i];
						var content = entry.contentSnippet.replace(/<\/?p>/,"").replace(/\..*$/,". <!--a href='"+entry.link+"' target='_blank'>Read more...</a-->");
						var c = jQuery(entry.content);
						var img=jQuery("img:first",c);
						
						if(!entry.title.match(/^PR: .*/)){//広告は無視する
							jQuery("dl",tgt).append("<dt><a href='"+entry.link+"' target='_blank'> "+entry.title+"</a>&nbsp;<small class='category'>("+entry.categories.join(',')+")</small></dt>");
							jQuery("dl",tgt).append("<dd>"+content+"<br><small class='category'>"+entry.publishedDate+"</small></dd>");
						}
					}
				}

			});
		});
		return this;
	}
})(jQuery);


