Sometimes it's worth it if what you are doing with JS is highly interactive & there's a payoff. But in this case, each thing of content could be its own page, and that plus a little more semantic HTML would do wonders.
https://git.sr.ht/~evan-hoose/SSSSS
Feed it a directory structure with a couple of template files/markdown and it will spit out a website. It should be pretty simple to hack on. I've got a demo site [0], the source code for which is [1].
Feel free to shoot me an email if you've got questions, or if you want to tell me this is stupid, or if this looks like spam, or for whatever.
[0] a-shared-404.com
Do I need any background in mechanics to build something like this?