Experimenting with Pelican

I’m tired of WordPress.

Nothing against LAMP-stack stuff, but it’s overkill for my needs (a personal blog that, sadly, does not have much traffic or discussion activity). Additionally, while this statement will sound silly, the GUI-based post creation and management is more than I want to deal with: Go to admin site, log in, create post, preview, publish, log out. Doesn’t seem like much when I type it here, but I find that it introduces enough friction when I have an idea that I never make it all the way through the process.

So, I have been looking into alternatives, mostly flat file-based blogging engines. My requirements are pretty straightforward:

  • Utilize only plain-text/Markdown
  • Minimize management overhead
  • Post creation and publishing possible should be as low-effort as possible
  • I can host it myself

I checked out Obtvse and Nerve, but for a variety of reasons (both feature-related and technical) neither fit the bill. Then I ran across Pelican. It’s basically some Python scripting + templates that take a directory of text files (it supports both Markdown and reStructuredText) and converts them to static HTML.

So, the toolchain I’m using is:

  • Text editor that supports Markdown (I use SublimeText, but any will do)
  • Dropbox
  • incron
  • Pelican

The publishing process is:

  1. I write a Markdown-formatted post in the text editor on my local machine.
  2. I save the post to a “posts” folder in my local Dropbox directory.
  3. Dropbox picks up that file and syncs it to a server on EC2.
  4. An incron job on the server watches the posts folder there. Whenever there is a change to anything in that folder, incron kicks off the Pelican script to regenerate the site.

So, once the initial setup is done, all I have to do is write the post and save it. That’s it–done.

You can see the results here. I’m still tinkering with the templates and CSS, so it’s not the prettiest thing in the world. That said, assuming I get the various design issues work out (and figure out Pelican’s import process, which on first pass seems… glitchy), I’ll probably look at moving my blogging activities, such as they are, out of WordPress.

Show Comments