{{groovy}}
import java.util.TreeMap;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;
def urls = [];
def entries = new TreeMap();
xcontext.macro.content.eachLine() { urls.add(it.trim()); }
urls.each() { rssUrl ->
def feed = new SyndFeedInput().build(new XmlReader(new URL(rssUrl)));
feed.entries.each() { entries.put(it.publishedDate, ["entry":it, "feed": feed]); }
}
println """|=Title|=Date|=Author|=Feed"""
(entries.keySet() as List).reverse()[0..10].each() {
def e = entries.get(it).entry, f = entries.get(it).feed;
println """|[[{{{${e.title}}}}>>${e.link}]]|{{{${xwiki.formatDate(e.publishedDate)}}}}|"""
print """{{{${e.author}}}}|{{{[[${f.title}}}}>>${f.link}]]"""
}
{{/groovy}}{{rssaggregator}}
http://feeds.feedburner.com/xwikicomblogen
http://feeds.feedburner.com/massol
http://feeds.feedburner.com/ludoblog
{{/rssaggregator}}Unknown macro: rssaggregator
Of course, the macro could be a lot improved - this is just a proof of concept. We could add parameters to chose the displayed columns, the maximum number of entries, etc.
Anyway, groovy is sweet, and so macros as wiki pages are :)