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.
The code is here, if you're curious.
Abstract URLs
The abstract URLs, e.g. /about
are simply HTML files without an extension containing the minified output. During the build, 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 SPA. No routing or anything. But the pages load 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 finally converted 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 content, which I hardly ever get around to doing. 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 fast. (And even that seems like an extravagance, when I could just as easily slap this mother onto GitHub pages and put Cloudflare in front of it.) I also use AWS for the SSL certificate and domain name, too. No database. No server-side junk. No container.