Don’t be fooled. I still love Drupal.
However, a perfect storm hit me:
- some recent discussions with folks about how the Drupal community can be rather insulated and myopic
- my need for a new blog
- a my desire to use Markdown and some iOS tools
- was curious about static site generators
- vacation time!
So I decided to branch out a bit and just play. What I’ve come up with so far is a combination of Byword, Dropbox, Hazel, Octopress, and rsync with SSH keys. It may be easiest to see the overview first …
*Update 2013-12-25: Of course this is already outdated, as I’ve switched to using Jekyll directly instead of the Octopress wrapper around it. It’s largely the same, though. I’m going to play a bit, come up with some more automations, and then post a followup at some point the future after the dust from my playing settles down.*
The basic workflow goes like this:
- I write a post in Markdown using Byword. I love the consistency of being able to use the same app on my iPhone, iPad, and Macbook Air.
- When I’m ready to publish I move the file from any of my devices into a specific folder on Dropbox.
- Dropbox syncs this file across all my machines and devices, which includes an old Mac mini I have running in my basement.
- The Mac mini has Hazel monitoring this specific folder that has been synced. When Hazel sees a new file (or change to an existing file), it runs the Octopress scripts to regenerate the site and rsync it to my server.
Now, in order for this to all be seamless I also needed a way to host and reference images (like the diagram in this post) easily. My solution follows a similar, albeit simpler, approach:
- I set up a subdomain just for images (images.nateofnine.com)
- I set up another Dropbox folder for images and another Hazel rule to watch it
- When Hazel notices a new file it files the image away into a date-based subfolder then runs rsync with the server to sync the image up.
Because I know the file path is predictable i also set up a TextExpander snippet to create the URL to the image so i could more easily put it in my markdown
There you have it; a flexible, lightweight, fast, secure blogging platform that lets me edit in whatever app I’d like. Of course, as soon as I finished it I thought of 15 more things I can do to enhance it!