ゼロからはじめるGollum Wiki
全く開発環境を整備したことがないマシンで、最終的にはGollum Wikiを設立し、自動git pushすることでGitHubへのバックアップもできる、という環境を構築します。Mac OS Mavericksを想定しています。
おしながき
- iTerm2 導入
- Sublime Text導入
- Xcode導入
- Homebrew導入
- rbenv導入・設定
- GitHubアカウント取得・ローカル設定
- Gollum導入
- Launchdで自動git push設定
iTerm2導入
Mac標準付属のTerminalは見にくい&醜いので、iTermに変えましょう。 こちらから本体をダウンロードしてアプリケーションフォルダに入れましょう。
iTerm2 - macOS Terminal Replacement
とりあえずインストールしたらPreferences→KeysタブでHotkeyを設定しましょう。僕はF1キーを設定して、簡単にiTermウィンドウを呼び出したり隠したりができるようにしています。
Sublime Text導入
コマンドラインからスクリプト書くのに重宝するテキストエディタです。もちろんVimやEmacsに愛着があるかたはそちらでも良いのですが、特にこだわりがない方はSublime Textがモダンで良いのではないかと思います。
Sublime Text - Text Editing, Done Right
細かいテーマ設定などはお好みでどうぞ(僕はSolarizedを使っています)。
コマンドラインから呼び出すためにシンボリックリンクを設定しましょう。
sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/bin/subl
これで、ターミナルにsubl
と打ち込めばSublime Textが立ち上がるはずです。
Xcode導入
Mac用ディベロッパーツールのXCodeをインストールしましょう。
結構巨大なファイルなので、GUIが不要な方はCommand line Tools for XCodeをオススメします。
【追記】 Mavericksの場合はCommand line Toolsが以下の処理にあたって必須のようなので、以下のコマンドでインストールしてください。
xcode-select --install
Homebrew導入
次はパッケージマネージャーのHomebrewを導入します。最近はMac Portsより優勢らしいと聞きますが、正直その辺の機微はわかりません。両方一緒に入れちゃダメです。
macOS(またはLinux)用パッケージマネージャー — Homebrew
以下のコマンドをターミナルに貼り付けて実行してください。
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
これでbrew doctor
と打ち込んで動いたらインストール成功。
もし"Command not found"とエラーが出てしまったら、まずは
echo $PATH
と打ち込んでPathが通っているディレクトリを確認しましょう。もし/usr/local/binが見当たらなかったら、subl .bash_profile
して.bashrcファイルを開き、
export PATH=/usr/local/bin:/usr/local/sbin:$PATH # for Homebrew
と記入してから保存(⌘S)して、
source ~/.bash_profile
とターミナルに打ち込んで変更を反映させましょう。もういちどbrew doctor
してOKならbrew update
して次へ。
rbenv導入・設定
GollumはRubyで書かれたソフトウェアなので、Ruby周りの環境を整備しましょう。
インストール
brew install rbenv echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile brew install ruby-build brew install rbenv-gemset brew install rbenv-gem-rehash
更新
rm -rf ~/.rbenv/plugins/ruby-build git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
確認・使用
rbenv --version #Versionかくにん! rbenv install 1.9.3-p547 #Gollumは1.9.3推奨です rbenv rehash rbenv global 1.9.3-p547 #デフォルトに設定します
GitHub設定
GollumはGitHubと連携して動作するので、もしアカウントを持っていない方は登録してください。 GitHub: Where the world builds software · GitHub
初期設定
アカウント登録が済んだら、まずはgitをダウンロードしていれます。
brew install git
つぎにターミナル上でhogehogeを自分のGitHubユーザー名に変えて実行。
git config --global user.name "hogehoge"
Emailも設定します(自分のアドレスに変更してください)
git config --global user.email "example@example.com"
キーチェーンを設定します
git config --global credential.helper osxkeychain
レポジトリ設定
まずはGitHub上でNew Repositoryを選び、適当な名前をつけたレポジトリを作成しましょう。
ここで、もし実験ノートなどの一般公開すべきでない情報を書き込む場合はレポジトリを非公開(Private)に設定しましょう。アカデミックユーザーなら無料で4つまで設定できます(前に書いたこちらの記事を参照してください)。
とりあえずwiki
という名前にしましょう。
GitHubの操作が終わったら、iTerm上でwikiフォルダを収めたいディレクトリに行って、
mkdir wiki && cd wiki git init git remote add origin https://github.com/username/wiki.git
でgithubの設定を済ませましょう。
Gollum
インストール
brew install icu4c sudo gem install nokogiri
sudo gem install gollum
でしばらく待ったら入るはずです。
Nokogiriを入れる際にnokogiri requires Ruby version >=1.9.2
とエラーが出る場合は、rbenvのPATHが通っていない可能性が高いです。
HOMEに戻って(cd $HOME
)、subl .bash_profile
してそこに
export PATH="$HOME/.rbenv/bin:$PATH"
と追記してからsource ~/.bash_profile
して、echo $PATH
してみてrbenvが追加されてるか確認して下さい。
それからもう一度sudo gem install nokogiri
するといける気がします。
起動
wikiフォルダ内で
gollum
を実行することでgollumが立ち上がります。
ブラウザのアドレスバーにhttp://localhost:4567
と入力することでアクセスできます。
Gollumの使い方
Gitの基本
Gollumはwikiフォルダ内にあるファイルを読み込んでwikiに整形してくれるエンジンなのですが、gollumにファイルを認識してもらうためには変更がcommitされている必要があります。 このへんはGitの話になるので詳細は省きますが、とりあえず必要な操作は
git add . #変更点をadd git commit -m "commit message" #変更をcommit。commit messageはわかりやすく書こう
です。これでhttp://localhost:4567
に行けば変更点がみえるはずです。
せっかくなので
git push
すればcommit内容がGitHub側に反映されます(バックアップが出来ます)。
ワークフロー
とりあえずwikiフォルダに行って、
subl Home.md
でホームになるページを作成しましょう。内容はMarkdownで好きに書けばOKです。 保存できたら
git add . git commit -m "add Home.md" git push
とやればOKなはずです。
さらに、ブラウザ上でページを作ったり変更した場合は勝手にaddとcommitをしてくれるので、一日の終わりなどに最後のgit push
だけターミナルに戻ってやればよいことになります。
Git push自動化
そうはいってもいちいちgit push
するのめんどくさいし、忘れそうで不安だというのが人情でしょう。
そんな要望にも対応するスクリプトを書かれている方がいたのでご紹介します。
シェルスクリプト作成
まずはwikiフォルダ内にsync.shというファイルを作り(subl sync.sh
)以下の内容を貼り付けます。
#!/bin/bash DIR="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" (cd $DIR && git pull && git push)
書けたら
chmod a+x sync.sh
を実行してアクセス権限を変更するのを忘れないこと。
Launchd設定
次に~/Library/LaunchAgents
に移動して、
com.github.gollum-sync.plist
というファイルを作成しましょう。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.github.gollum-sync</string> <key>RunAtLoad</key> <true/> <key>ProgramArguments</key> <array> <string>/Users/user-name/path/to/sync.sh</string> </array> <key>StartInterval</key> <integer>60</integer> </dict> </plist>
/Users/user-name/path/to/sync.sh
はsync.shが置いてあるフォルダのパスに変えてください(wikiフォルダ内でpwd
と入力すると表示されます)。
これで
launchctl load -w ~/Library/LaunchAgents/com.github.gollum-sync.plist
とすれば60秒間隔でpushを行ってくれます。
うまくいかない時は
うまく行ってなさそうなときはSpotlightからコンソールを呼び出し、右上の検索ボックスにGollumと入力してエラーが起こっていないか確認して下さい。
job failed to exec(3) for weird reason 2
はファイルが見つからないエラーなのでcom.github.gollum-sync.plist
のパスがあってるか確認、job failed to exec(3) for weird reason 13
はファイルの権限が通っていないので上記のchmod
をしているか確認してください。
まとめ
これでまっさらな状態からGollumでWikiを立ち上げ、さらに自動git push
でGitHubにオート同期ができる状態になったのではないかと思います。もし間違っているところ、うまくいかないところがあった場合はコメントで教えてください!
参考にしたサイト
[Mac] ターミナルから Sublime Text 2 を開く subl コマンドを設定してみた(ついでにST2→ターミナルも) | memobits
Mac OS Xで環境変数にPATHを追加する方法 at HouseTect, JavaScriptな情報をあなたに
Homebrewのインストールとrbenvのインストールまで Mac編 - Qiita