In the future, don’t modify a third-party theme. Instead, override the files as needed by copying the desired file to the same path relative to the layouts directory in the root of your project.
Don’t put the public directory under source control. I recommend:
touch .gitignore
Then add the following to the file you just created:
.hugo_build.lock
node_modules/
public/
resources/
Then cleanup your repository:
git rm -rf public
git rm -rf resources
git rm .hugo_build.lock
git add -A
git commit -m "Cleanup repository"
Fix all of the URLs in your content files. The src attributes for your HTML img elements ignore the fact that you are serving your site from a subdirectory.
But you might want to fix the font references to use ../fonts/FiraSans-Regular (i.e. one directory up, then down to fonts)
These references are always relative to the location of your CSS file, which is
loaded with <link rel="stylesheet" href="/hugo-hacker-testbed-template/css/style.css">
The only JS file that doesn’t get loaded is js/lazy-load.js, and I doubt that you even need that. Why not set the lazy attributes on your images instead? The JS code fiddles around with class names that are never used in your style.css, so the whole thing is not doing anything at all anyway.
And that’s not the only thing that doesn’t do anything: You’re somehow configuring/installing dartsass, but there’s no SASS file in your repo. You have jquery in your repo (why?) but don’t load it.
is one of these lazy loaded blocks. In your JS code, you then do that
let img = entry.target;
img.src = img.dataset.src;
where entry.target is that div. And then you set a src attribute on that div, which is non-sensical, because a div doesn’t have that attribute. But neither does thisdiv have a data-src attribute, from which you could set this img.src value.
I guess you grabbed this “lazy loading block” stuff somewhere (or was it ChatGPT?). It runs on over 60 DOM elements, of which only very few have a src attribute to set. And there’s load="lazy" anyway for these cases.
And interestingly, all your images get loaded with the rest of the HTML anyway (take a look at your browser developer tool’s network tab). Not astonishing, given that no single img has class lazy.
Using properly scaled (responsive!) WebP images would probably result in more performance gains.