/* * FeedEk jQuery RSS/ATOM Feed Plugin v3.0 with YQL API * http://jquery-plugins.net/FeedEk/FeedEk.html https://github.com/enginkizil/FeedEk * Author : Engin KIZIL http://www.enginkizil.com */ (function ($) { $.fn.FeedEk = function (opt) { var def = $.extend({ MaxCount: 5, ShowDesc: true, ShowPubDate: true, DescCharacterLimit: 0, TitleLinkTarget: "_blank", DateFormat: "", DateFormatLang:"en" }, opt); var id = $(this).attr("id"), i, s = "", dt; $("#" + id).empty(); if (def.FeedUrl == undefined) return; var YQLstr = 'SELECT channel.item FROM feednormalizer WHERE output="rss_2.0" AND url ="' + def.FeedUrl + '" LIMIT ' + def.MaxCount; $.ajax({ url: "https://query.yahooapis.com/v1/public/yql?q=" + encodeURIComponent(YQLstr) + "&format=json&diagnostics=false&callback=?", dataType: "json", success: function (data) { $("#" + id).empty(); if (!(data.query.results.rss instanceof Array)) { data.query.results.rss = [data.query.results.rss]; } $.each(data.query.results.rss, function (e, itm) { s += '
  • ' + itm.channel.item.title + '
    '; if (def.ShowPubDate){ dt = new Date(itm.channel.item.pubDate); s += '
    '; if ($.trim(def.DateFormat).length > 0) { try { moment.lang(def.DateFormatLang); s += moment(dt).format(def.DateFormat); } catch (e){s += dt.toLocaleDateString();} } else { s += dt.toLocaleDateString(); } s += '
    '; } if (def.ShowDesc) { s += '
    '; if (def.DescCharacterLimit > 0 && itm.channel.item.description.length > def.DescCharacterLimit) { s += itm.channel.item.description.substring(0, def.DescCharacterLimit) + '...'; } else { s += itm.channel.item.description; } s += '
    '; } }); $("#" + id).append(''); } }); }; })(jQuery);