On Wed, Jun 19, 2019 at 05:22:57PM +0200, Martin Kletzander wrote:
This is just a small script I wrote. It works the same way as all
the libraries
together which we are bundling, but with just JS. The only difference is that
the day of the date is formatted as 2-digit, but this should be a bug in
Firefox (at least locally for me) as the documentation states that type
'numeric' should actually not have leading zeros.
It will not be executed when the page is loaded locally.
It also uses the same proxy that query-rss uses. We can get rid of that, but
we'd either need to have our own proxy, send a sss header to allow fetching the
atom.xml or providing JSONP access to the RSS feed on virt-planet.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
docs/index.html.in | 13 -------------
docs/js/main.js | 47 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+), 13 deletions(-)
diff --git a/docs/index.html.in b/docs/index.html.in
index f593445d061d..fa75289cad0f 100644
--- a/docs/index.html.in
+++ b/docs/index.html.in
@@ -5,19 +5,6 @@
<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'
- })
- })
- // -->
- </script>
This code only runs on the index.html page which makes sense as that's
where the RSS feed is displayed....
</head>
<body class="index">
<h1>The virtualization API</h1>
diff --git a/docs/js/main.js b/docs/js/main.js
index e57b9f47ac11..07f79c7ff903 100644
--- a/docs/js/main.js
+++ b/docs/js/main.js
@@ -29,6 +29,53 @@ function pageload() {
simpleSearch = document.getElementById("simplesearch")
simplesearch.addEventListener("submit", advancedsearch)
+
+ docLoc = document.location;
+ if (docLoc.protocol != "file:" ||
+ docLoc.origin != "null" ||
+ docLoc.host !== "" ||
+ docLoc.hostname !== "") {
+ fetchRSS()
+ }
+}
...but unless I'm mis-reading something, this code runs on every single
page on the site. I would have expected the fetcRSS() call to have
been made from the <script> block in the index.html page.
+
+function fetchRSS() {
+ cb = "jsonpRSSFeedCallback"
+ window["jsonpRSSFeedCallback"] = function (data) {
+ if (data.responseStatus != 200)
+ return
+ entries = data.responseData.feed.entries
+ nEntries = Math.min(entries.length, 4)
+
+ dl = document.createElement('dl')
+
+ dateOpts = { day: 'numeric', month: 'short', year:
'numeric'}
+
+ for (i = 0; i < nEntries; i++) {
+ entry = entries[i]
+ a = document.createElement('a')
+ a.href = entry.link
+ a.innerText = entry.title
+
+ dt = document.createElement('dt')
+ dt.appendChild(a)
+ dl.appendChild(dt)
+
+ date = new Date(entry.publishedDate)
+ datestr = date.toLocaleDateString('default', dateOpts)
+
+ dd = document.createElement('dd')
+ dd.innerText = ` by ${entry.author} on ${datestr}`
+
+ dl.appendChild(dd)
+ }
+
+ planet.appendChild(dl);
+ };
+ script = document.createElement("script")
+ script.src = "https://feedrapp.herokuapp.com/"
+ script.src += `?q=http%3A%2F%2Fplanet.virt-tools.org%2Fatom.xml&callback=${cb}`
+ document.body.appendChild(script);
}
function advancedsearch(e) {
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|