[Buildroot] [git commit] docs/website: fixing js for the new feed source

Thomas Petazzoni thomas.petazzoni at bootlin.com
Mon Feb 6 09:51:28 UTC 2023


commit: https://git.buildroot.net/buildroot/commit/?id=ca97c78ee0e069c70b8fa051012ea02c911dbf2d
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

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 <angelo at amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
 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('<iframe src="https://docs.google.com/gview?url=http://bootlin.com/doc/training/buildroot/buildroot-slides.pdf&embedded=true" style="position:absolute; width:100%; height:100%; top:0; left:0;" frameborder="0"></iframe>')
 });



More information about the buildroot mailing list