I was invited to speak at the All Things Open 2013 conference in Raleigh, NC, and took the opportunity to talk about a project I've been researching and experimenting with a lot recently: Docker. For a first year conference, it was fantastic. My hearty thanks to the organizers for taking such great care of us and curating a solid, interesting lineup.
I got a lot of nice feedback about the presentation (in person as well) which was heartening, so I thought it would be worth sharing here. It's a reveal.js presentation, so click inside the box and use the arrow keys to nagivate.
If you prefer, you can view it fullscreen (recommended), there is a PDF Version, or you can view the source on github.. Finally, if you have an hour and really enjoy the sound of my voice, you can watch the talk on YouTube:
The author of Nikola liked this approach enough to integrate it into nikola core, so if you're running a recent version you can just run nikola auto. I'm keeping the post up in case the approach is useful for others.
I've blogged about using python-livereload before. It's a great little tool which
This is perfect for Nikola, the static blog and site generator that I use for this very site.
With livereload, you just:
Your changes show up live in the browser.
$ pip install livereload
If you'd installed it before, now is a good time to upgrade.
Put a file like this in your top level nikola directory. (The same one you usually run nikola build from.)
#!/usr/bin/env python from livereload.task import Task from livereload.compiler import shell for path in ['conf.py', 'files/', 'galleries/', 'plugins/', 'posts/', 'stories/', 'themes/']: Task.add(path, shell('nikola build'))
You may want to customize the list of files and directories here; these are the ones in my install that contain content I edit.
From the directory now containing the Guardfile,
$ livereload -b output
So navigate to the post you're working on, start writing, and the browser will always have the latest version. This is also great for working on themes, plugins, or anything at all that nikola build can detect.