This Website exists as a private mono repository on GitHub containing all the configuration, content and various assets such as images in order to build this site. I decided on a mono-repo because it’s not a particularly big website and having everything in once place keeps things simple and removes the need to use syncing tool to upload images to a separate CDN. Everything is hosted under https://tomcope.com. It does mean however, will all the images the repo is over 1/2 GB.
[tom@Awesome420 tomcope-website]$ du -hs . 683M . [tom@Awesome420 tomcope-website]$
Back in the day this website used to be handcrafted HTML and CSS but after my mate Tim looked at it and I quote “cringed at the whole thing”, he offered to migrate it to something a bit more modern which at the time was Jekyll. Jekyll has fallen out of favour more recently and many people are migrating to Hugo, but for me, Jekyll has everything I need and is still widely supported on most cloud platforms.
Some helpful Jekyll Plugins I use:
[tom@Awesome420 tomcope-website]$ bundle exec jekyll build Configuration file: /home/tom/Documents/Projects/tomcope-website/_config.yml Source: /home/tom/Documents/Projects/tomcope-website Destination: /home/tom/Documents/Projects/tomcope-website/_site Incremental build: disabled. Enable with --incremental Generating... Jekyll Feed: Generating feed for posts done in 1.292 seconds. Auto-regeneration: disabled. Use --watch to enable. [tom@Awesome420 tomcope-website]$
In College I wrote my own Analytics system called “Anonae”, which (poorly) stood for “Anonymous Analytics Engine”. It was a fun project which I maintained for many years and introduced new features such as fuzzy fingerprinting and Web Beacons. However, over time I realised that maintaining all the quirks of the web was a full time job and there were many weird quirks with the systen which meant I knew that I was dropping views all the time. So I migrated to Goatcounter!
Goatcounter, is a free and opensource, privacy-friendly Analytics system which had everything I was looking for:
I would highly recommend it. I also wrote a script to integrate with PuahOver so that every evening I get a push notification of how many views I’ve had today and the week.
I’m using DigitalOcean to host this site through their “App Platform” which provides a wrapper around Jeykll and connects to GitHub to automatically build and deploy my website to their own infrastructure. It’s very much set and forget, doesn’t cost me as penny and works very well.
I’ve also integrated it with PushOver to receive a push notification when my website goes live and if they are any errors in the build.