JSFiddle - React, Tailwind, and code Playground

by peterbenoit

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.7.0/moment.min.js"></script>
<div class="cdc-podcast" 
    data-href="http://www2c.cdc.gov/podcasts/createrss.asp?t=r&c=442" 
    data-maxcount="2"
    data-showpubdate="false"
>CDC RSS Feed</div>
<hr />
<div class="cdc-podcast" 
    data-href="http://www2c.cdc.gov/podcasts/createrss.asp?c=4" 
    data-maxcount="5"
    data-showpubdate="true"
>CDC RSS Feed</div>
<hr />
<div class="cdc-podcast" 
    data-href="http://www2c.cdc.gov/podcasts/feed.asp?feedid=279&format=json&callback=?" 
    data-maxcount="5"
    data-showpubdate="true"
>CDC RSS Feed</div>

JavaScript

(function ($) {
    var podcasts = $('.cdc-podcast');
    
    $.fn.CDCRSS = function (obj, opt) {
        console.log(opt);
        
        var def = $.extend({
            href: "http://www2c.cdc.gov/podcasts/createrss.asp?t=r&c=1",
            maxcount: 5,
            showdesc: true,
            showpubdate: true,
        	characterlimit: 0,
            titlelinktarget: "_blank",
            dateformat: "",
            dateformatlang:"en"
        }, opt);
        
        var id = obj,
            i, 
            s = "",
            dt,
            crossdomain = def.href.indexOf('createrss.asp') > -1 ? true : false, // hack to allow for XML only (podcast) feeds cross domain
            url = crossdomain ? "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=" + def.maxcount + "&output=json&q=" + encodeURIComponent(def.href) + "&hl=en&callback=?" : def.href;
                
        console.log(url);
        
        obj.empty().append('<img src="http://preloaders.net/preloaders/45/4%20Segments.gif" />');

        $.ajax({
            url: url,
            dataType: "jsonp",
            success: function (data) {
                console.log(data.responseData.feed.entries);
                
                obj.empty();
                
                $.each(data.responseData.feed.entries, function (e, item) {
                    s += '<li><div class="title"><a href="' + item.link + '" target="' + def.titlelinktarget + '" >' + item.title + "</a></div>";
                    
                    if (def.showpubdate){
                        dt= new Date(item.publishedDate);
                        if ($.trim(def.dateformat).length > 0) {
                            try {
                                moment.lang(def.dateformatlang);
                                s += '<div class="date">' + moment(dt).format(def.dateformat) + "</div>";
                            }
                            catch (e){s += '<div class="date">' +...