octopress

前書いてた書きかけのメモを公開

インストール方法

Octopress Setup - Octopress の通りにやる。git clone して bundle install して rake install で theme をインストールするだけ。

デプロイ準備

heroku にもデプロイ出来るらしいけど、github pages がよさげだなと思うので github pages でのデプロイ方法について書く。

Deploying to Github Pages - Octopress

  • username.github.com という名前(github.com も含める!)の github リポジトリを作る。
  • rake setup_github_pages とすると remote branch の設定などもろもろ設定してくれる

これで下準備は完了。octopress は元記事(markdownとか)を source ブランチで管理して、デプロイ用のファイルを master ブランチで扱う形式らしい。基本的には source ブランチだけ触る感じ。

設定方法

設定ファイルは下記の四つ。設定内容はコメントが付いているので中見ればだいたいわかりそう。

  • _config.yml
    • Jekyll の設定。メイン。
  • Rakefile
    • デプロイの設定
  • config.rb
    • Compass の設定
  • config.ru
    • rack の設定

エントリ書く方法

source/_posts/YYYY-MM-DD-post-title.markdown みたいなファイルを作る。YYYY-MM-DD-post-titleはそのままエントリの slug になるみたい。これ手動で書くのめんどくさいなあ…と思ったら、ちゃんとそれ用の rake タスクが用意されていた。

rake new_post["title"]

ただ zsh でやると上記の書き方ではうまくいかず、下記のようにしないとダメみたい。

rake new_post\["title"\]

ちょっとめんどくさい。で、生成されたファイルの中身はこんな感じ。YAML形式でメタデータが書かれている。この下にエントリを書いていく。

---
layout: post
title: "title"
date: 2013-01-07 22:14
comments: true
categories: 
---

エントリメタデータの tips

  • 複数ユーザで書いているときは author: "hoge"みたいにすると著者を設定できるそうな
  • 下書きを published: false とすることで指定できるらしい。
  • categories は複数形だけあって複数指定できる。 YAML の配列形式で指定。

プレビュー

まず markdown などから HTML を生成するには、rake generateとする。そうすると public ディレクトリにエントリを作成してくれる。毎回rake generateとするのが面倒な場合は、rake watch とすると、source ディレクトリと sass ディレクトリを監視して変更があったら HTML を自動生成してくれる。

できあがった HTML をプレビューするにはrake previewとする。これはrake watchかつ http://localhost:4000 でエントリをプレビューできるサーバを立ち上げるコマンド。

また、pow を使ってるなら、他の Rails アプリと同じように ~/.pow/ 配下にシンボリックリンクはるだけでプレビューできる。これ便利。

デプロイ

rake generate でデプロイ用のファイルを作ったあとに rake deploy でデプロイ。master ブランチを push してくれる。source ブランチは自動で push されないので手動で忘れずに push しておく。