Skip to content

Instantly share code, notes, and snippets.

@galexite
Created September 11, 2020 19:18
Show Gist options
  • Select an option

  • Save galexite/0bf6eb75d12ed0c5fa7bb22c0de884af to your computer and use it in GitHub Desktop.

Select an option

Save galexite/0bf6eb75d12ed0c5fa7bb22c0de884af to your computer and use it in GitHub Desktop.
MWyGKNy
<div class="container">
<div class="row my-5">
<div class="col-md-6 mx-auto">
<div class="list-group" id="events">
<div class="list-group-item list-group-item-info">Podcast Society events</div>
</div>
</div>
</div>
</div>
// https://stackoverflow.com/a/7394787/1738462
function decodeHtml(html) {
var txt = document.createElement("textarea");
txt.innerHTML = html;
return txt.value;
}
$.ajax("https://cors-anywhere.herokuapp.com/https://www.exeterguild.org/ents/rss/43904/", {
success: function (data, _status, _xhr) {
var $el = $("#events"),
$items = $(data).find("item");
$items.each(function (_i) {
var title = decodeHtml($(this).find("title").text()),
description = decodeHtml($(this).find("description").text()),
link = $(this).find("link").text(),
flatTitle = $("<div>" + title + "</div>").text(),
flatDescription = $("<div>" + description + "</div>").text(),
splitTitle = flatTitle.match(/(.*) \(([0-9/]*), ([0-9:]*)\)$/),
actualTitle = splitTitle[1],
date = splitTitle[2],
time = splitTitle[3],
$a = $("<a></a>"),
$h4 = $("<h4></h4>"),
$h6 = $("<h6></h6>"),
$p = $("<p></p>");
$h4.text(actualTitle);
$a.append($h4);
$h6.text(date + ", " + time);
$a.append($h6);
$p.text(flatDescription);
$a.append($p);
$a.addClass("list-group-item list-group-item-action");
$a.attr("href", link);
$el.append($a);
});
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
div#events .list-group-item p {
margin: 0;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet" />
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment