Micropub runs this log

I’m a programmer by trade, worked for a lot of people and companies consulting and developing their websites and various apps. When it came time to build this place I’d learned long ago that the simpler, more bare bones you can make a site, the easier it is to maintain and the more flexible it is to build on its foundation.

For instance, you can stand up a Wordpress site with a template and a bunch of plugins and you can get up and running quickly but at the cost of having a site with no character or personality. Worse, you’ll be spending a lot of time customizing things and troubleshooting plugins. That adds up to little time up front to get something running but a lot of time spent on the back end of things. So much time that you could build a custom solution in the same time that it takes to customize an off the shelf solution (with some exceptions).

Meanwhile, you can set up a relatively simple HTML based site with no CMS and a basic build system like Webpack and you’ll be up and running in half the time. The benefits here are that you get more control over every aspect of the site and faster than a lot of off the shelf solutions. Your publishing system can be 10 lines of bash scripting that checks out your latest code in a public folder on the server then runs the build script that you already run locally.

For me, that means most of this site is based on the same template for headers and footers and then I get full control over each page. Content is updated by simply editing text in a text editor and I can even do it on a phone with apps like Working Copy that let me check out, edit, and push code to my repositories.

For this log, I chose Micropub. I chose it because I could more easily control how publishing works. I don’t need a clunky CMS, I can use my favorite plain text editor to write these posts in Markdown, and the backend doesn’t have any log in pages that can be exploited. It’s a very basic API written in ExpressJS that authenticates me using keys I entered into iA Writer (on my phone and Mac), transforms my markdown to HTML, then puts that into a template file that gets copied to a folder. Everything is stored as plain text. It’s a great system. My favorite text editor, iA Writer supports Micropub and I just enter the API URL and key then I’m presented with an option to publish when I go to share a document.

Having this separate API (which is only used to create flat files), gives me more flexibility too. I’m not locked into one way of doing things like I would be with any other CMS. I can have an endpoint that updates this log along with others like the one that stores my discography (in a JSON file for simplicity) that can be used for the discography page and anywhere else I need to get a list of albums and their details. The discography page was another that took a bit of up front work but paid off by letting me avoid having to write tedious HTML for the discography and let a JavaScript script take care of grabbing the data and building out the page. Do you see the flexibility there? In one case I’m preferring to write plain HTML because the edits are only about replacing text in some copied HTML while in the other case doing the same for the discography is tedious so I’m able to automate it. Whether or not that makes sense to you the point is that you get to do things your way, the way that’s most convenient for you which is helpful if you want to keep your site up to date. No one wants to touch a buggy site for fear of breaking it nor do they want to make changes if the method of doing so isn’t comfortable.


What did we learn today? My preferences I guess. And that Micropub is an option that’s flexible and useful for more than just publishing blog-style content. Maybe it gave you an idea of how you want to manage your own site (use your imagination and build it how you imagine, thinking also about how you’ll maintain and add to it). Go wild. Stop making websites that look like everyone else’s. Let’s go back to the wacky days of the 90s when people really expressed themselves online. Fuck templates.

← Back