Skip to content

Colophon

for phillipharrington.com Updated: Dec, 2024, Smithfield, NC

My CMS is Just HTML... Kinda

This website is static HTML built with a handful of npm scripts I made for applying a global template, compiling the TailwindCSS, and minification. The "Kinda" part is I'm experimenting with little EJS "components" for frequently used bits of HTML. These get baked in during the build. Maybe I'll do a write-up on it one of these days.

I used to use Nuxt and Markdown and a bunch of stuff, but found that it was cool but sometimes led to annoying dependency issues.

Abstract URLs

The abstract URLs, e.g. /about are simply files without an extension containing the minified HTML output. I apply system metadata in the S3 bucket so they have Content-type: text/html applied to them and will render in the browser. No routing or anything. It's no SPA, but the pages load so blindingly fast, it's just as good.

Locally I develop with a Browsersync script that handles refreshing the browser and the abstract URLs, too, which is neat.

A TailwindCSS Convert, Finally

The site uses TailwindCSS, which I am only a recent convert to, but the notion of using it with a team and having a common framework for CSS is what sold me, so I'm using it here, too. It's honestly one less thing to worry about.

Other than that and the JS hamburger menu script, which I never update, all I have to do is write. No node-sass or any other junk just to slap together some HTML. It's refreshing.

Hosting is Just S3

The site is served from an AWS S3 bucket with a CloudFront distribution in front of it, which is why the pages load so blindingly fast. I use AWS for the SSL certificate and domain name, too. No server-side junk. No container.