About this website

Last updated:

What does it say at the top of your screen? It says "jamiedumont.com".

I'll never meet the totally overwhelming majority of people who visit this site; so in their eyes this website is me. This website represents my work, my lived-experience, my skills, my voice and ultimately my reputation. This realisation motivated me to make my small corner of the web embody everything I believe a website should be.

I've had a website under different domain names since 2012. It's taken pretty much every form possible from technical blog, to photography portfolio, to newsletter and back again. It's been built upon the vast majority of platforms available; but all with their own unique set of compromises that gnawed at me. Having done my time as a software developer it felt only right to roll up my sleeves and build something that adhered to my ethos and that I could be proud of.

How is the site built?

HTML & CSS. At present it doesn't use any Javascript.

I could probably leave at that. The source code for the site is exactly the same as what is sent to your computer and viewable in your browsers developer tools. There's no partials, no includes, no build system of any kind.

The HTML is written by hand. I may write a small program to help generate markup for images as they can get very verbose when a proper number of size and format variants are supplied; but at the moment everything you see has been written the long, slow way. The design and layout has come courtesy of past versions of the site built with more featureful tools — the layout of most pages are a hangover from Ghost — but will slowly be rewritten to adopt the site's new identity.

The CSS is a work-in-progress, and also suffers a hangover from previous versions of the site. CSS was always my thing.

No Static Site Generator?!

Before I dive into my logic behind the HTML & CSS I feel I need to discuss why I'm not using a static site generator (SSG from now on). SSGs are undoubtedly valuable, and perhaps the best way to build a website unless you have technical demands an SSG can't meet. Two websites that I take heavy inspiration from are those of Paul Stamatiou and Craig Mod who use Jekyll and Hugo respectively. My preference has always been Zola, which is best described as a more ergonomic Hugo with a slight speed bump. Many versions of my site have been built with Zola because it offers a nice blend of features useful to my style of publication such as image processing which mixed with macros and shortcodes make writing markup with a component-like syntax straight forward.

So why aren't I using Zola now? It's hard to articulate because I certainly could achieve the same end as vanilla HTML; but it comes down to:

  1. The extra layer of abstraction, where markdown with shortcodes gets mixed with templates and partials always left me chasing obscure bugs. "Where did that whitespace come from?", "Why hasn't this section rendered?", "Does this element go in the template with front-matter or in the content as HTML?". Whilst undoubtedly slower initially, it's easier and perhaps even faster over the course of years to just write exactly what you mean. That leads me to...
  2. The use of templates and shortcodes runs counter to the freeform and standalone nature of the site. I want each page to feel unique and stand on its own merit. Even a simple design system comprising a few shortcodes to speed up image generation is a system that needs to be maintained, and will add an extra step in experimenting with new layouts. When I migrated from Ghost to Zola, I mimicked the text-width/wide/wider convention for images and galleries, and because I created them as shortcodes the design persisted because it was easy.
Fast learns, slow remembers. Fast proposes, slow disposes. Fast is discontinuous, slow is continuous. Fast and small instructs slow and big by accrued innovation and by occasional revolution. Slow and big controls small and fast by constraint and constancy. Fast gets all our attention, slow has all the power. —Stewart Brand Pace Layering: How Complex Systems Learn and Keep Learning

This may change as patterns and common elements emerge. I may start to encode those patterns in shortcodes to speed up page authoring.

More to come... Send me an email telling me to stop messing about and get this page finished!