mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-04-25 15:10:30 -04:00
32 lines
No EOL
1.2 KiB
JavaScript
Executable file
32 lines
No EOL
1.2 KiB
JavaScript
Executable file
//jQuery extension to fetch an rss feed and return it as json via YQL
|
|
//created by dboz@airshp.com
|
|
(function($) {
|
|
|
|
$.extend({
|
|
feedToJson: function(options, callback) {
|
|
if ($.isFunction(options)) {
|
|
callback = options;
|
|
options = null;
|
|
}
|
|
options = $.extend($.feedToJson.defaults,options);
|
|
var url = options.yqlURL + options.yqlQS + "'" + encodeURIComponent(options.feed) + "'" + "&_nocache=" + options.cacheBuster;
|
|
return $.getJSON(url, function(data){
|
|
//console.log(data.query.results);
|
|
data = data.query.results;
|
|
$.isFunction(callback) && callback(data); //allows the callback function to be the only option
|
|
$.isFunction(options.success) && options.success(data);
|
|
});
|
|
}
|
|
});
|
|
|
|
//defaults
|
|
$.feedToJson.defaults = {
|
|
yqlURL : 'https://query.yahooapis.com/v1/public/yql', //yql
|
|
yqlQS : '?format=json&callback=?&q=select%20*%20from%20rss%20where%20url%3D', //yql query string
|
|
feed:'http://instagr.am/tags/tacos/feed/recent.rss', //instagram recent posts tagged 'tacos'
|
|
cachebuster: Math.floor((new Date().getTime()) / 1200 / 1000), //yql caches feeds, so we change the feed url every 20min
|
|
success:null //success callback
|
|
};
|
|
|
|
})(jQuery);
|
|
// eo feedToJson
|