From ca97c78ee0e069c70b8fa051012ea02c911dbf2d Mon Sep 17 00:00:00 2001 From: Angelo Compagnucci Date: Sun, 25 Sep 2022 18:03:20 +0200 Subject: [PATCH] docs/website: fixing js for the new feed source Feed source is moved to a local atom file available on the web server to remove further problems with unreliable feed sources. Moving the feed required a bit of refactor of the load_activity function so it won't download two times te same url. This change requires a cron job like this enabled on the website: * * * * * wget -O new.atom https://lore.kernel.org/buildroot/new.atom Signed-off-by: Angelo Compagnucci Signed-off-by: Thomas Petazzoni --- docs/website/js/buildroot.js | 70 ++++++++++++++++++++---------------- 1 file changed, 40 insertions(+), 30 deletions(-) diff --git a/docs/website/js/buildroot.js b/docs/website/js/buildroot.js index bf80f11d7a..288e3e745c 100644 --- a/docs/website/js/buildroot.js +++ b/docs/website/js/buildroot.js @@ -1,39 +1,50 @@ -function load_activity(feedurl, divid) { - let container = document.getElementById(divid); +function display_activity(result, activity) { + let loaded = 0; + let nb_display = 8; + let container; + if (result==null) return; + for (let i = 0; i < result.feed.entry.length; i++) { + let entry = result.feed.entry[i]; + if (activity==="commit" && entry.title.toString().indexOf("git commit") !== -1) { + container = document.getElementById("commit-activity"); + } else if (activity==="mailing-list" && entry.title.toString().indexOf("git commit") === -1) { + container = document.getElementById("mailing-list-activity"); + } else { + continue; + } + loaded += 1 + if (loaded > nb_display) + break; + let div = document.createElement("p"); + let link = document.createElement("a"); + let d = new Date(entry.updated); + let data = '[' + d.toLocaleDateString() + '] ' + entry.title; + let text = document.createTextNode(data); + link.appendChild(text); + link.title = entry.title; + link.href = entry.link._href; + div.appendChild(link); + container.appendChild(div); + } + for (let i = 0; i < (nb_display - loaded); i++) { + container.appendChild(document.createElement("p")); + } +} + +function load_activity(feedurl) { $.ajax({ - url: "https://cors-anywhere.herokuapp.com/" + feedurl + url: feedurl }) .done(function(data){ let x2js = new X2JS(); let result = x2js.xml_str2json(data.documentElement.outerHTML); - let loaded = 0; - let nb_display = 8; - if (result==null) return; - for (let i = 0; i < result.feed.entry.length; i++) { - let entry = result.feed.entry[i]; - if (entry.title.indexOf("git commit") !== -1) - continue; - loaded += 1; - if (loaded > nb_display) - break; - let div = document.createElement("p"); - let link = document.createElement("a"); - let d = new Date(entry.published); - let data = '[' + d.toLocaleDateString() + '] ' + entry.title; - let text = document.createTextNode(data); - link.appendChild(text); - link.title = entry.title; - link.href = entry.link._href; - div.appendChild(link); - container.appendChild(div); - } - let empty = nb_display - loaded; - for (let i = 0; i < empty; i++) { - container.appendChild(document.createElement("p")); - } + display_activity(result, "commit"); + display_activity(result, "mailing-list"); }); } + + function google_analytics() { let _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-21761074-1']); @@ -86,8 +97,7 @@ jQuery(document).ready(function($) { url = url.split(/[\\/]/).pop(); $('.nav a[href="/' + url + '"]').parent().addClass('active'); - load_activity("http://buildroot-busybox.2317881.n4.nabble.com/Buildroot-busybox-ft2.xml", "mailing-list-activity"); - load_activity("http://git.buildroot.org/buildroot/atom/?h=master", "commit-activity"); + load_activity("/new.atom"); $('#slides').html('') });