I've migrated _ariejan.net_ from a custom Ruby on Rails application to a statically generated site with Nanoc.
Publishing my site now goes like this:
1. Write stuff in Markdown
2. Commit and push
3. Watch how jenkins builds and publishes the site with nanoc and rsync.
## Using nanoc
Nanoc is a very powerful static site generator. You can use ruby to create helpers, filters and what not. Fancy using Sass, Compass and Haml? No problem!
Simply write pages in Haml or Markdown and Nanoc will generate a complete site, including sitemap, robots.txt and RSS feed.
Once you've set everything up to your liking, simply run `nanoc compile` and your site is ready.
Nanoc also has some nice features to deploy your website through rsync, which will upload (or remove) files on a remote server as necessary.
## Automate the crap out of it!
I'm a programmer. I like to automate repetitive tasks. So I did.
I've setup Jenkins with the RVM plugin and that's all I need to have Jenkins generate and deploy my Nanoc site.
For now, this setup suffices for me. I keep all my posts in version control, and backupped to S3 (by backing up my gitlab repositories). Adding a new story to git is sufficient for it to be published automatically on _ariejan.net_ and in the event something goes wrong with compilation, Jenkins will notify me of the build failure.