githubでブログを作ってみる - octopress編

githubでブログをはじめるにはGithub Pagesというのを使います。ユーザー名.github.ioというリポジトリを作っておくと http://ユーザー名.github.ioで見られるというものです。しかしこれは静的なページしか表示できません。

そこで静的サイトジェネレータと呼ばれるツールを使います。 これでできた生成物をアップすればちゃんとしたブログなどが作れてしまうのです。Github Pagesなら生成物をリポジトリに流しこめばおkということです。

今回は静的サイトジェネレータでも最も有名?なoctopressを使って見ました。 結局は別のツールを使うことにしたのですが、せっかく導入まではやったので、何番煎じかわかりませんが、そのメモを残しておこうと思います。

octopressの導入

環境

  • debian wheezy
  • ruby 1.9.3p194

まずはoctopressをgitしてきましょう。適当なディレクトリに移動して

git clone https://github.com/imathis/octopress
cd octopress/

でrubyわからない勢は言われたまま

gem install bundler
bundle install

gemっていうのはpipと同じ認識でよいのでしょうか?そうすると

(省略)
An error occurred while installing RedCloth (4.2.9), and Bundler cannot
continue.
Make sure that `gem install RedCloth -v '4.2.9'` succeeds before bundling.

怒られたので言われるままに

gem install RedCloth -v '4.2.9'

また怒られた

Building native extensions.  This could take a while...
ERROR:  Error installing RedCloth:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:1:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/RedCloth-4.2.9 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/RedCloth-4.2.9/ext/redcloth_scan/gem_make.out

悩んだ挙句ruby-dev入れたらなんとかなった。"*-dev"はよくハマる。

sudo apt-get install ruby-dev
bundle install
rake install

Githubを使う人はさらに

rake setup_github_pages

で自分のリポジトリのURLを設定して

これで記事を書き始められます。ruby界はよくわからんので疲れた。

記事を書く

記事は

rake new_post["title"]

で"title"がURLになるようです。 あとは_posts/yyyy-mm-dd-title.markdownみたいなファイルができるので Markdown形式でゴリゴリ書いていけばおk。そして最後に

rake generate

をすればファイルが生成されます...がここでさらにハマってしまいました。 ファイルが生成されてません。 エラーを見てるどうやらnodeを要求してる模様。 nodeってあのnodejsですよね でインストールしようとしたのですが、debianにはまだパッケージがない模様 こちら によるとbackportsにはある模様なのでそこから取り込むことにして

deb http://ftp.jp.debian.org/debian/ wheezy-backports main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ wheezy-backports main contrib non-free
sudo apt-get update
sudo apt-get install nodejs nodejs-legacy

で入りました。nodejs-legacyってのはnodeという名前がどっかで衝突しているのを回避するためのようです。nodeなんて超普通の名前をつけるから悪いんですよね全く。

悪口はともかくちゃんとファイルもできたようなので 記事ができたらアップする前に確認したいです。

rake preview

でローカルサーバを立てて確認できます。ポートはデフォルトで4000なので http://localhost:4000 で見れます。

と確認まではできたのですが、いまいちしっくり来ません。 他にも静的サイトジェネレータはないかと探したのですが、 ありました、それも我らがPythonで書かれたやつがね。 ってことで次回はPelicanを紹介したいと思います。

参考ページ

Comments