Octopress is an intuitive and simple blogging platform. The official documentation includes numerous examples and tutorials: http://octopress.org/docs. The purpose of this article is to give a quick reference to commands which cover some basic workflows.
The setup of Octopress is described here: http://octopress.org/docs/setup/ and will not be covered in this article.
With a basic setup of Octopress, GitHub repo will have branches:
sourcebranch for source code.
masterbranch for generated HTML code.
Basic steps (including responsible participants):
- Create a new blog post with Octopress (content producer)
- Submit a pull request to
- Review and merge pull request (content reviewer)
- Generate HTML code from merged code and deploy to
masterwith Octopress (automated by Continuous Integration server)
Create a new blog post
Now let’s dig into the details of Octopress and start by creating a blog post stub including title, date, categories and others:
1 2 3
The next step is to edit generated markdown file:
More details on editing a post can be found here: http://octopress.org/docs/blogging/.
After any update you can check what your freshly-baked post looks like:
As soon as a new post is ready, you just commit your code and submit a pull request:
Publish updated site
Let’s assume you have a Continuous Integration server, which generates a new HTML code for your blog on update of the
source branch and deploys it to the
As soon as the source code is checked out by CI, you need to setup GitHub as a deployment option, generate the HTML code and deploy:
1 2 3
Unable to deploy updated content to master
You may experience issues with doing
1 2 3 4 5 6 7 8 9
This may be related to the fact that the root directory of the source code and
_deploy directory for generated HTML have different git repository branches set to
master respectively. Thanks to StackOverflow a workaround was found:
1 2 3 4
However, if you know a cleaner way to resolve this issue, please share in the comments.