Back in September I decided to begin sharing some of my thoughts on science, software, and education by blogging regularly on my exploits. I’d previously built a website on top of Wordpress for Sundial, so I decided to go with that CMS. I purchased a domain name through GoDaddy, and out of convenience purchased Wordpress hosting through them as well.
Wordpress is a fine CMS, but I despised writing in the built-in editor. I’m a vim nerd, and really wanted to write in plaintext in my editor of choice. Also, I wanted to start sharing code snippets and iPython notebooks, and Wordpress was appearing an awkward choice at best for this.
Enter pelican, a static site generator written in Python that uses ReStructuredText as the markup of choice for articles. It took a little time to set up, but most of this was spent trying to approximate my old blog’s look by way of a custom theme.
If you’re interested in blogging with a statically-generated site through pelican, start by installing the python module locally with pip:
pip install --user pelican
Then build a skeleton that includes everything you need to get started with:
The pelican docs have up-to-date information on how to proceed.
Since pelican generates static html files, they can be cheaply hosted. In fact, GitHub provides free page hosting via GitHub Pages. I created a repository for my site and edited the Makefile included in my pelican project directory to point to it. This allows me to regenerate and publish my static site with:
It doesn’t get much easier. I’m very pleased.
EDIT: I have added my blog source to GitHub. Perhaps if you’re having trouble getting something working it will be of help.