It will not be executed when the page is loaded locally. It needs planet.virt-tools.org to supply the right headers (which it does now). Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> --- docs/index.html.in | 15 ++--------- docs/js/main.js | 62 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 13 deletions(-) diff --git a/docs/index.html.in b/docs/index.html.in index f593445d061d..1e16f299c8fd 100644 --- a/docs/index.html.in +++ b/docs/index.html.in @@ -2,21 +2,10 @@ <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> - <script type="text/javascript" src="js/jquery-3.1.1.min.js"> </script> - <script type="text/javascript" src="js/moment.min.js"> </script> - <script type="text/javascript" src="js/jquery.rss.min.js"> </script> - <script type="text/javascript"> <!-- - jQuery(function($) { - $("#planet").rss("http://planet.virt-tools.org/atom.xml", { - ssl: true, - layoutTemplate: '<dl>{entries}</dl>', - entryTemplate: '<dt><a href="{url}">{title}</a></dt><dd>by {author} on {date}</li>', - dateFormat: 'DD MMM YYYY' - }) - }) - // --> + window.addEventListener("load", function() { fetchRSS() }); + // --> </script> </head> <body class="index"> diff --git a/docs/js/main.js b/docs/js/main.js index cb424dd72fb3..d1c20742a331 100644 --- a/docs/js/main.js +++ b/docs/js/main.js @@ -77,3 +77,65 @@ function advancedsearch(e) { return false; } + +function fetchRSS() { + if (document.location.protocol == "file:") + return; + + var planet = document.getElementById("planet"); + if (planet === null) + return; + + var req = new XMLHttpRequest(); + req.open("GET", "https://planet.virt-tools.org/atom.xml"); + req.setRequestHeader("Accept", "application/atom+xml, text/xml"); + req.onerror = function(e) { + if (this.statusText != "") + console.error(this); + }; + req.onload = function(e) { + if (this.readyState !== 4) + return; + + if (this.status != 200) { + console.error(this.statusText) + return; + } + + if (this.responseXML === null) { + console.error("Atom response is not an XML"); + return; + } + + var dl = document.createElement("dl"); + var dateOpts = { day: "numeric", month: "short", year: "numeric"}; + + var entries = this.responseXML.querySelectorAll("feed > entry:not(:nth-of-type(1n+5))"); + + entries.forEach(function(e) { + var name = e.querySelector("author > name").textContent; + var title = e.querySelector("title").textContent; + var updated = e.querySelector("updated").textContent; + var uri = e.querySelector("author > uri").textContent; + + var a = document.createElement("a"); + a.href = uri; + a.innerText = title; + + var dt = document.createElement("dt"); + dt.appendChild(a); + dl.appendChild(dt); + + var date = new Date(updated); + date = date.toLocaleDateString("default", dateOpts); + + var dd = document.createElement("dd"); + dd.innerText = ` by ${name} on ${date}`; + + dl.appendChild(dd); + }); + + planet.appendChild(dl); + }; + req.send(); +} -- 2.22.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list