gearsix.net

This website is mostly stuff I'm interested in and work I've produced that I'd like to share.
There are a few subdomains as well (like my source code repository).

There's not much to say, since it's all available to see here. If you're curious how I built it, see mwim - this is the tool I built to build the website, you can see the source for the site here

To see updates on the website, you can checkout the activity log.

If you're really in the site..

History

It started back on Google Sites, then resurfaced when as a project to teach myself some web development and now it's finally re-returned in it's current form.

version 0

As noted, this site originally started on Google Sites (which, surprisingly, as of writing hasn't joined the Google Graveyard yet). It was basically a basic CMS with a WSIWYG interface for building a website.

I knew a little HTML/CSS but not really enough to build a website from scratch, so I took a template and ended up with this:

gearsix.net v0 about gearsix.net v0 home

I can't remember the name the template but it didn't look very different from this, its where I found the background image that I use almost everywhere now though (see the background used in the byuu theme: low_contrast_linen.png).

I didn't really know what I wanted to do with the website, so I just started by adding "stuff i like". I had started to play with the HTML, just copy/pasting bits because it was quicker than doing via the Google Sites editor.

I lost interest before the site was finished.

version 1

This version of the website came about after my first year at university, during the summer holiday (first year finishes fairly early compared to second and third, so we all had a few weeks before we went home).

I made it after finding Neocities, which was really the inspiration for me to start learning how to build a website from scratch (I'm still using it as my host to this day! circa. 2020).

I already knew how to program in 2-3 languages and was familair with the syntax so it wasn't hard. Getting my head around how to build webpages in HTML/CSS from the bottom up was the main goal. Of course, using Neocities this didn't include running a web server but that came later.

Here's a live version

It's also unfinished. This time I had more of an idea about what to do with the site but (again) lost interest before finishing it. I never got around to doing the project pages. I didn't even end up finishing the "stuff i like" pages, mostly because filling them out was incredibly tedious. My idea was that the website would be a nice reference for me to use when picking a movie to watch or something.

Re-creating my own version of the template in version 0 was pretty fun though and the site's fairly resonsive (despite not knowing about @media queries). This design was later adapted to the "wrapped" theme you can use now.

The one thing it taught me is that doing a website with just HTML/CSS from scratch is pretty tedious when you want to using the same page layout for multiple pages. This though fed strongly into the next re-incarnation.

version 2

This version took a lot of work, mostly because I ended up making it as difficult as possible for myself (I got to learn a lot doing so).

After spending a few months creating other software, I realised that I had nowhere (aside from GitHub & co. to show these off). So I decided I wanted to create this site, somewhere that I can host all of my projects, write about them and other things, share whatever I thought would be worth sharing, etc.

Here's the prototype, the layout was very much adapted from version 1.

After creating this prototype I realised I was going to have a fairly big problem.

How do I create this site?

I was planning to have multiple articles and projects, so creating it by hand wasn't really an option since deciding to change any of the HTML after creating those pages would be an absolute nightmare (manually changing it for every page - even with sed or something it'd be painful).

There are several solutions to this:

  1. Make the website dynamic, with a custom backend server
    • The server would generate pages on the fly, using HTML templates and whatever plain-text files etc for the content
    • I'd need to host the server myself or configure a cloud service. While it's not too much effort, it would mean moving off of Neocities (which I'm a big fan of). I'd also need to find a good (& cheap) place to host it, which would be more work. Ontop of that I'd need to develop and maintain the backend server, which is more work.
  2. Use Javascript to dynamically fill in the content of the HTML pages.
    • Personally I really don't like this approach for websites (not requiring dyanmism/logic like web app).
    • It means anyone that doesn't enable JS in their browsers for whatever security/anonymity reasons wouldn't be able to view any of the content.
  3. A CMS.
    • Ideal for this usecase.
    • I've never found one I like.
  4. Use a static site generator.
    • A nice solution that provides seperation between the HTML layout and content within.
    • Results in a static website (that I can host on Neocities).

Okay, great. So why did it take me so long to do? I ended up being way too fussy and decided to make my own static site generator (mwim) in a language I didn't know. Most of my time went into building the tool and spending way too much time styling the site.

I ended up creating multiple CSS themes which you can swap between, this required the HTML in a way that would be able to easily adapt to multiple styles - making sure content wasn't wrapped win div soup (so I might have gone overboard).

Anyway, as you can see gearsix.net is finally here and I'm pretty happy with it.

External Links