How This Site Is Built and Maintained
adminWhen I was planning Pilcrow Records, I knew I wanted a website because I intended to have various Logic Pro resources for public reference (all the weird stuff I've found and collected which I never see anywhere else), in addition to eventually marketing my music and the Scripter book I'm working on. My past go-to for a website has been WordPress, but I decided to not go that route. I understand the use cases for WordPress: easy to use, robust, has a vibrant plug-in community, but it's simply too over-powered for what I'm trying to do here, and the footprint is more than I want to manage with what limited time I have for website maintenance. So, I leveraged my computer science skills and developed the following...
Website Infrastructure: 11ty
I went with the static site generator 11ty. I picked it for the following reasons:
- The site is lean: plain HTML and CSS with a little bit of JS thrown in with the Google Analytics bug and the SoundCloud links. No PHP, no SQL, no JavaScript frameworks. If there is a vulnerability, then it's on the server which is wholly managed by my web host.
- It natively supports the file formats which I am already familiar with, namely HTML. I found many SSGs requiring learning some markup format, which is not HTML and recreates the Markdown wheel. I'm sure there was some cool templating feature which came with it, but 11ty allows me to ignore all that and just start writing in the formats with which I'm most familiar.
- All of the content is portable at any scale, be it whole site or just a single blog post or article. No site management dashboards, no WSYSIWYG editors. When I want to reorganize, I just sling text files around.
- Because it runs so easily on the command line, I was able to automate my site updates with a dead simple bash script.
Authoring and Editing: BBEdit by Bare Bones
All of the content is authored directly in HTML in BBEdit. BBEdit has been resoundingly praised by much better writers than myself, so I'll pass on that exercise. I rely on the Project feature, and have the entire site in a single window environment. The added benefit of using BBEdit is that the authoring is entirely decoupled from the website's infrastructure, so if I decide to change editors, I can. I'm not beholden to any particular option.
Pushing to Prod: Transmit by Panic
I've been a long time Transmit user, off and on but definitely since version 1. Their latest Sync Files feature is one of the single biggest helpers in the site's maintenance, because it means that the entire site doesn't need to be uploaded every single time. It's pretty much rsync without being able to SSH into the server (which I can't because of my hosting plan). I just double check the list of files to be uploaded, and then mash the "Sync" button.
Images: Keynote by Apple and Acorn by Flying Meat Software
My art needs are pretty basic. I don't foresee my needing much art for this site, but definitely for the book and that's really only limited to flowcharts and screenshots. Even if I had more robust needs, Adobe is too costly and way too powerful for what I do. I am not their target audience.
The Workflow
The workflow to post an update to the site is easy once it's all put together:- Open the Project in BBEdit which contains the site master.
- Run the bash script which does the following:
- Deletes the previous site cache
- Creates a new site cache folder
- Writes the htaccess file
- Runs 11ty to build and preview the site
- Authoring begins in BBEdit with 11ty providing live updates to changes.
- Once authoring is complete, I do a clan build of the site with the bash script, and double check everything.
- Transmit's Sync Files function is used to push only those files and folders which changed. If, for whatever reason, I don't feel confident about the changes, I can just upload the entire site, which is easy because it's so lean, at least for now.
That's it. No special tricks, nothing fancy. This has been my most favorite site to work on so far.
¶
P.S.: No stream this Thursday, due to a conflict. I'm not entirely sure when the next stream will be. Tonight or tomorrow, most likely.
- Next: The Scripter Book Update
- Previous: The Oct 15, 2021 Reddit Stream