Choosing a blogging platform for nonLinear was not a simple task. There are some great options available. Wordpress, Ghost, etc are really impressive and fine choices for most people, but they don’t fit me.1 Being an avid listener of ATP I was inspired by Marco’s Second Crack, as well as Casey’s Camel. I briefly considered writing my own blog engine.2
So, I was intrigued when I came across Jekyll. Basically, a website compiler: you put in source code and you get out a website. Cool. It was simple, easily extensible, and provided an appealing, minimalistic approach.3
One of the benefits of a web-based blog engine is it can accessed from any web-browser. The downside with Jekyll was that posting while away from my main computer would be cumbersome. A cloud based deployment of Jekyll would be the way to go. The ideal workflow would be:
Editor (iOS, OS X) -> Dropbox -> Jekyll (in the cloud) -> Web-server
Initially, I setup a Linux VPS to host the Jekyll engine and serve the website. When a post was added to Dropbox the Jekyll engine would automatically rebuild and deploy the website.
Overall, I was happy with this approach. But, some rough spots remained:
- Previewing posts was problematic.
- Maintaining a VPS is a hassle, and seemed wasteful for my needs.4
These points will be addressed in a subsequent post. I am excited about where this is going!
- I have used and deployed Wordpress sites. I tried Ghost, and while I liked it, a lot, it just didn’t feel right. I am picky and I like to get “under the hood.” I just don’t want to spend my time digging deeply into these platforms. ↩
- This would have been a fun exercise and an opportunity to learn a new language. Had I done this, I was tempted to recode Second Crack in Python or Node.js and call it K-Cup to troll Marco. ↩
- Wordpress with all its plugins would be a time sink for me. Even with Ghost I kept choosing different themes, images, etc. A minimalistic approach helps me focus on my goals. ↩
- Initially I deployed with a Digital Ocean Droplet. I also tried a RaspberryPI (too slow) and considered Heroku. The latter, for my purposes would likely have been free, and other considerations aside, would probably have been the best approach. ↩