About this blog
Keeping it simple
My goal for this blog is to keep everything really simple, so it's:
- Easy to write posts (in Markdown)
- Easy to maintain (no WordPress updates to install)
- Fast loading (without requiring a cache)
Therefore there is:
No PHP framework
This site is written in plain PHP, with no CMS or framework (e.g. WordPress or Laravel).
No CSS framework
No CSS build tool
For the same reasons, I'm not using any build tools such as webpack or Gulp. Size isn't an issue - even without minifying it, the CSS is under 4 KB gzipped (12 KB raw). I use a simple PHP method to add a hash to the URL so I can set long cache times.
No static site generator
While a static site is simple, cheap/free to host (e.g. with Netlify), and fast loading, it means I have to run a script (or development server) to build it, instead of just making changes and refreshing the page.
I just don't need it for a site that's mostly text.
There's no tracking - not even Google Analytics - because:
- It keeps the site lean, loading as quick as possible and using as little bandwidth as possible
- I don't like sites tracking me - I block them wherever possible
- I mainly write for my own benefit, so I have no need for tracking visitors
Since everything is in static Markdown files, I don't need a database. There's no admin area - I either work on my development site with PhpStorm and deploy with Git, or use SSH + Vim, or WinSCP + Sublime Text or Typora, to edit files directly on the live server.
Originally I used CloudFront as a CDN, but it got annoying having to wait for changes to propagate (even with a 60 second TTL).
Packages I am using
Despite not wanting to use a full framework, I am using a handful of packages: