diff options
author | jahoti <jahoti@tilde.team> | 2021-08-15 00:00:00 +0000 |
---|---|---|
committer | jahoti <jahoti@tilde.team> | 2021-08-15 00:00:00 +0000 |
commit | d104aaf3ebcddfbda495bdfe3ba3a905f75b936f (patch) | |
tree | f617204baeb4919cd1bad2cf3e302acf3ef7116f /content/sopencores/opencores.js | |
parent | 428c474c4c71ef4c7961070d4246017d15aa0c0c (diff) | |
download | haketilo-fixes-demo-d104aaf3ebcddfbda495bdfe3ba3a905f75b936f.tar.gz haketilo-fixes-demo-d104aaf3ebcddfbda495bdfe3ba3a905f75b936f.zip |
Port existing fixes from hachette_fixes_tmp to Hydrilla format
Diffstat (limited to 'content/sopencores/opencores.js')
-rw-r--r-- | content/sopencores/opencores.js | 33 |
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); +} |