Jekyll is a great tool for building static websites. And static websites can be hosted on a server with very minimal hardware specs meaning a cheap Linode does the trick nicely. But getting a workflow going that’s easy to put down and pick up seems to be my stumbling point.
What I’m Doing Now
Since I’m hosting this blog on a very minimal Linode, I want to make sure I’ve got a similar setup to test on. I’ve created a virtual machine on my home NAS (an old PC running Debian) using VirtualBox. I can run this in headless mode and remote into it.
Since I write all these posts in Markdown, I prefer using an editor like VS Code that highlights syntax and allows me to view files side by side. VS Code also allows me to remotely connect to this server and edit files locally on my desktop or laptop.
The one caveat to this setup is that I need to be on my home network to reach this virtual machine. If I’m at the office and have an idea I want to develop, there’s no way to write a draft.
Compared To Wordpress
With Wordpress, I can login anywhere I have access to the Internet. I can easily create new posts, update drafts I’m still working on, and schedule posts to go live at any time.
I think Jekyll is easier to customize than Wordpress, and a static site is less resource-hungry than a fully dynamic site.
Unfortunately, Jekyll will always have a project folder that needs to be built into the static site. So posts won’t go live until I’ve built the static site then copied the files into their destination.
There are likely ways I could use Linux administration tools to achieve a scheduled build and copy.
How I Would Like It To Work
I’d really like to be able to log in from anywhere, work on my posts a little, save my changes, maybe schedule them to go live later on. So that leaves me little choice: I’m going to have to move things off my virtual server and just get to them from my Linode.
This approach will still let me use VS Code to make changes, and since it’s a publicly accessible server, I can get to it from anywhere.
I’m still going to keep Wordpress for its other features (and I have an established blog there), but it’s nice to have another outlet where I can write anything and not think about who the audience might be.