From ecc6c218af8ef864fe8d03badfed0e6e7c730fd0 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Tue, 28 Jun 2022 18:17:14 +0200 Subject: put each fix in a separate directory with its own index.json This commit also updates the repository to use version 2 of package source schema. --- src/opencores-org-fix-projectslist/opencores.js | 46 +++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/opencores-org-fix-projectslist/opencores.js (limited to 'src/opencores-org-fix-projectslist/opencores.js') diff --git a/src/opencores-org-fix-projectslist/opencores.js b/src/opencores-org-fix-projectslist/opencores.js new file mode 100644 index 0000000..d5b6376 --- /dev/null +++ b/src/opencores-org-fix-projectslist/opencores.js @@ -0,0 +1,46 @@ +/** + * SPDX-License-Identifier: CC0-1.0 + * + * View OpenCores projects list without nonfree js + * + * Copyright (C) 2021 Wojtek Kosior + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the CC0 1.0 Universal License as published by + * the Creative Commons Corporation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * CC0 1.0 Universal License for more details. + */ + +/* use with https://opencores.org/projects */ + +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); +} -- cgit v1.2.3