Related feeds widget
2007-08-09
This a widget example, using the jQuery jFeed and wordStats plugins, to display a list of articles related to the current document.
- wordStats computes the top keywords
- jFeed asks WordPress.com search engine for related articles (matching the top keywords), using a server side proxy
jQuery displays the results
- The PHP proxy
JavaScript code:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.wordstats.js"></script>
<script type="text/javascript" src="jquery.wordstats.en.js"></script>
<script type="text/javascript" src="jquery.jfeed.pack.js"></script>
<script type="text/javascript">
$(function() {
var count = 3;
$.wordStats.computeTopWords(count); //compute the 3 first top words
//create the query
var query = '';
for(var i = 0; i < count && i < $.wordStats.topWords.length; i++) {
query += $.wordStats.topWords[i].substring(1) + ' ';
}
query = query.substring(0, query.length - 1);
$('#related').html('Querying blogs for: "' + query + '" ...');
//load and parse the feed
jQuery.getFeed({
url: 'proxy.php?query=' + query,
success: function(feed) {
var html = "<h2>Related articles</h2><ul>";
for(var i = 0; i < feed.items.length; i++) {
html += '<li><h3 class="feeditemtitle">'
+ '<a href="' + feed.items[i].link + '">'
+ feed.items[i].title + '</a></h3>'
+ '<p class="feeditemdescription">'
+ feed.items[i].description + '</p>';
}
html += '</ul>';
$('#related').html(html);
}
});
});
</script>