Lei Wu, Web Developer

Keeping simple things simple.

Blogging With GitHub, Octopress and Cloud 9

This blog is hosted by GitHub Pages and built with Octopress.

I’m using Cloud 9 as a web-based IDE.

As a Ubuntu user and a Ruby enthusiast who prefers simple solutions, they’re a perfect combo.

I was just about to blog on how to set them up, when I found out this guy’s post beat me by a year. :-) It’s a great post with step by step instructions.

I have just the following to add:

  1. To set up your SSH key authentication, you can locate you Cloud 9 SSH key by going to “Your Account”, and then “Show SSH Key” under “Account Settings” on the right hand side. Copy that key, click the Settings icon on the top right corner of your GitHub page, and then “SSH Keys” on the left side. Click “Add SSH Key” on the right to add your Cloud 9 SSH Key.

  2. In case you use non-ASCII characters, for example, if you’re writing in German, you may get the followoing error when you run rake generate:

YAML Exception reading 2014-06-11-learn-german.markdown: invalid byte sequence in US-ASCII
/home/ubuntu/workspace/octopress/plugins/backtick_code_block.rb:13:in `gsub': invalid byte sequence in US-ASCII (ArgumentError)
        from /home/ubuntu/workspace/octopress/plugins/backtick_code_block.rb:13:in `render_code_block'
        from /home/ubuntu/workspace/octopress/plugins/octopress_filters.rb:12:in `pre_filter'
        from /home/ubuntu/workspace/octopress/plugins/octopress_filters.rb:28:in `pre_render'
        from /home/ubuntu/workspace/octopress/plugins/post_filters.rb:112:in `block in pre_render'
        from /home/ubuntu/workspace/octopress/plugins/post_filters.rb:111:in `each'
        from /home/ubuntu/workspace/octopress/plugins/post_filters.rb:111:in `pre_render'
        from /home/ubuntu/workspace/octopress/plugins/post_filters.rb:166:in `do_layout'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-0.12.0/lib/jekyll/post.rb:195:in `render'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-0.12.0/lib/jekyll/site.rb:200:in `block in render'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-0.12.0/lib/jekyll/site.rb:199:in `each'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-0.12.0/lib/jekyll/site.rb:199:in `render'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-0.12.0/lib/jekyll/site.rb:41:in `process'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-0.12.0/bin/jekyll:264:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/bin/jekyll:23:in `load'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/bin/jekyll:23:in `<main>'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/bin/ruby_executable_hooks:15:in `eval'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/bin/ruby_executable_hooks:15:in `<main>'

The solution is run export LC_ALL=C.UTF-8 first. To save time, I would join the commands as export LC_ALL=C.UTF-8 && rake generate.

(Some posts on the web suggest expoort LC_ALL=en_US.UTF-8, but that won’t work for the current version Cloud 9 at the time of writing. To be sure, you can run locale -a to get a list of available locales.)