ACBob's ZimZam - Blog

New Site!

ACBob ◦ 2020-06-27 ◦ 3 Minute read

In the beginning, there was darkness. A simple 404 on 'freewebhostingarea.com'.
And I'd said "Let there be content!" and i made a site that would've fit in the 90s.
And it was fine, but could've done with a bit of work. And work it got.

Months later, I'd found GitHub Pages, and decided that the TLD 'eu5.org' was a bit shady. With this, I'd remade the site's styling and moved it to https://acbob.github.io - Now you could actually look at it without your eyes burning. After this, i changed the theming to something more sensible - a modern-style dark-theme fitting for any page.

Naturally, a GitHub page wasn't the best place for a personal site, so a while later I had found NeoCities. Making the move there, i rebuilt the site from the ground up. Theming being "original", in a Windows 95-esq style, with grey everywhere. With the styling being the main goal, and designed to be functional while somehow vaguely windows-like, it's understandable the site became bloated and undesirable. With a JavaScript mess of user-selectable theme, holiday banners and a Blog, it quickly began to make even the most liberal web designers cry.

The site quickly became a real tricky task to update/upgrade. Wanted a new page? Make sure to copy all the JavaScript links! Want a new blog post? Add a numerical Json file and then update the manifest! What's that? The page is getting slower to load because the browser needs to download a manifest file? Tough luck!

A lot of these issues were due to my principle of 'If it's not automatic, what am i doing?!' in that - Every page needed an automatically updating navigation bar and the likes. This stems from the frustration i had during the GitHub Phase, where every single page i needed to add, required a new line in the Navigation, and every page needed to be modified to contain this new navigation bar. If the HTML specification had a client-side include ability, I'd probably still be on the old NeoCities website, as it's fine without all the JavaScript.

Of-course, there are a few solutions that are rather obvious. First of all, i could've just simply linked a navigation page instead of having it there. While that would work, all the other cool sites have their own navigation bar, and not a page. Another is to make the site dynamic, where all the handling of templating could be done server-side. I did go about doing this, but found that i couldn't be bothered. Web.py is great, but i found that my way of using it violated my principle of 'Don't define behavior twice, make it a function!'.

So, to state the obvious, i went with the third version. A static site generator. That is, a program that takes in content and templates, mashes them together auto-magically, and outputs HTML files. Sort-of like a dynamic site, but it doesn't need access to a Server. This is crucial to my decision making process, as while i may be able to express my freedom with a dynamic site, i actually need that freedom to begin with (I.e Domain, VPS). And i simply either can't afford that freedom, or don't feel the need for it. What i have already is quite swanky, a service willing to give away a subdomain and a web server that will deliver contents. To ask for more is just rude.

And along with changing my setup, I again remade the website from the ground up. This time, it has SCSS! Ah, the power of Static Site Generators is amazing.