There’s nothing like this moment, when you have a big smile on your face, because you’re just stunned how well things are working and how simple the set-up process was. Octopress is just amazing. Period. If you haven’t heard about it and you’re thinking to start a blog or migrate one, then you should definitely check it out. To put it simple:
Octopress is a framework designed by Brandon Mathis for Jekyll, the blog aware static site generator powering Github Pages. To start blogging with Jekyll, you have to write your own HTML templates, CSS, Javascripts and set up your configuration. But with Octopress All of that is already taken care of. Simply clone or fork Octopress, install dependencies and the theme, and you’re set. - Brandon Mathis http://octopress.org/blog/2011/07/23/octopress-20-surfaces/
It took me just few hours from having the idea: Today is the day to start my own blog to actually having it hosted on github. And the experience itself (checking out the octopress repo, configuring, building and deploying to github) was really simple. Thumbs up for the good documentation!
My setup
- octopress is publishing directly to my github user page. Therefore the access is fairly simple and I can use my blog to link to other stuff, I have on github or somewhere else like e.g. slides to my talks.
- I decided against using the default theme and went with a clean and responsive one called the whitespace. There are many, many others so everyone should be able to find something suiting own needs. A list with some of the themes available: 3rd-Party-Octopress-Themes
- During the set-up phase I had only one ubuntu-related (using the 13.04) hickup. When executing the bundle install I got an missing dependency error, so after googling for like a minute, I found a simple solution: just execute sudo apt-get install ruby1.9.1-full and everything will work as described in octopress docs.
- As I’m a zsh and oh-my-zsh user, I run also into the rake new_post[title] execution problem. A solution for it was also easily found: just add alias rake=“noglob rake” to your ~/.zshrc.
- To be able to see, if anybody actually reads this stuff, I activated the support for google analytics in the _config.yml file.
- I also activated disqus to support comments. Although I’ve never heard about it, it makes a very nice impression and as everything till now, was very easy to set-up (create an account, get unique id and put it into the _config.yml file). I deactivated all the discovery stuff from disqus though, as I’m not interested in monetizing anything here.
If you read it till now, you may be asking yourself
OK, yet another possibility to create a blog. So what. Why bother with all this stuff when one can just use blogger or wordpress.com.
My answer:
Killer features & the work-flow
- Everything is hosted on github within my repository and I have control over all the files etc.
- To create a new blog post you just type rake new_post[‘some title’] and open the created file to edit the content. Everything will be written in markdown (+1), so I’m using sublime as my editor and the distraction free mode when writing…
- When you work on a new post or a change then you can tweak and test everything on your local machine under localhost:4000 with each change made automatically visible thanks to rake watch and rake preview
- Everything is manged by git, so you can work on posts in branches etc.
- When you’re done, you just hit rake generate and rake deploy and the new stuff will be pushed to github.