For the last few years, my web development process has been delightfully simple.
I write content in markdown, and template with mostly HTML and a touch of Go (which is a bit like nunchuks or liquid but weirder). I author mostly vanilla CSS. I use Sass, but mostly just to combine files and use variables for breakpoints.
npm install anything. I download the files and include them.
I use so few tools in my NPM chain that I almost never need to run an update before working on code. That’s one of the big reasons I ditched Gulp for plain old NPM tasks.
My site itself (well, all of them, really) are built using Hugo.
Whenever I have an update, I commit my code to GitHub, which pings a PHP file on my server. That file does a
git pull to get the updated code, runs my
hugo build step, and moves the new files to my public directory.
I run literally two dozen websites on a single $5/month server from DigitalOcean.
They’re fast, lightweight, and pretty much never break. I haven’t had to install an update to a CMS in ages. Adding new content or updating code is as simple as opening an HTML file in a text editor.
When I preach about the Lean Web, I often focus on the end user experience. But simplicity is a much, much better developer experience, too.
Waiting for NPM updates to install, then trying to figure out why 12 critical errors can’t be automatically fixed with
npm audit fix sucks. Managing complex dependency chains sucks. Spending 20 minutes fixing tooling to write a 5 minute patch for some code sucks.
There’s a simpler, better, and honestly just more fun way to write code. Head over to the Lean Web Club to transform how you write code.
Now, you may be thinking…
Hey Chris, that’s great and all, but I build more than just simple blogs and brochure sites.
There’s a simpler way to do that, too!
The Lean Web Club web app is also built with Hugo. Is uses a super tiny PHP file to check if you’re logged in or not, and then sends you a pre-rendered HTML file. Logging in is handling with a small JS file and a
fetch() request, and the backend is powered with flat JSON files and some simple read/write functions.
Seriously, come learn what it’s all about.