aboutsummaryrefslogtreecommitdiff
path: root/content/sopencores/opencores.js
diff options
context:
space:
mode:
Diffstat (limited to 'content/sopencores/opencores.js')
-rw-r--r--content/sopencores/opencores.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/content/sopencores/opencores.js b/content/sopencores/opencores.js
new file mode 100644
index 0000000..085a613
--- /dev/null
+++ b/content/sopencores/opencores.js
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2021 Wojtek Kosior
+ *
+ * Available under the terms of Creative Commons Zero.
+ */
+
+let data = JSON.parse(document.getElementById("__NEXT_DATA__").textContent);
+let sections = {};
+for (let h1 of document.getElementsByClassName("cMJCrc")) {
+ let ul = document.createElement("ul");
+ if (h1.nextElementSibling !== null)
+ h1.parentNode.insertBefore(ul, h1.nextElementSibling);
+ else
+ h1.parentNode.appendChild(ul);
+
+ sections[h1.children[1].firstChild.textContent] = ul;
+}
+
+for (let prop of data.props.pageProps.list) {
+ let ul = sections[prop.category];
+ if (ul === undefined) {
+ console.log(`unknown category "${prop.category}" for project "${prop.title}"`);
+ continue;
+ }
+
+ let li = document.createElement("li");
+ let a = document.createElement("a");
+ a.setAttribute("href", "/projects/" + prop.slug);
+ a.textContent = prop.title;
+
+ li.appendChild(a);
+ ul.appendChild(li);
+}