はじめに
DiscoverMeteorがmiddlemanを使って作っているらしく
翻訳してプレビューを見たかったらそれを構築する必要がありました。
Macでのmiddleman構築で挫折しました。(当方yosemiteです。)
面倒なのでdockerで作ってみたらlinuxでも結構めんどくさかったので
公開します
手順
構築
本リポジトリは編集対象が私のリモートリポジトリになっています。
(github.com/m0a/DiscoverMeteor_Ja)
ですので、削除して自分用のリポジトリを設定することところから始めてください。
# 本環境をクローンします
git clone git@github.com:m0a/middleman4DM.git
cd middleman4DM
# 既存のサブモジュールを削除し自分のリポジトリに変更します
git submodule deinit -f DiscoverMeteor_Ja
git rm -rf DiscoverMeteor_Ja
git submodule add -f <あなたのforkしたDiscoverMeteor_Ja>
# 本家から取得するためにremote addする
cd DiscoverMeteor_Ja
git remote add dm git@github.com:DiscoverMeteor/DiscoverMeteor_Ja.git
#本家から取り込み
git pull dm master
# ポートフォワード設定(passはデフォルトならtcuser)
ssh -f -N -L 4567:localhost:4567 docker@$(boot2docker ip)
#起動 初回だけすごく時間がかかります。
./run_middleman.sh
http://localhost:4567 でアクセスできるはずです。
普段の手順
- 本家から最新版を取得
# 移動と更新
cd middleman4DM/DiscoverMeteor_Ja
# 本家から取り込み
git pull dm master
-
編集作業を行う
-
編集内容を自分のリポジトリへプッシュ
git add <対象ファイル>
git commit -m "編集内容概略"
git push
- 自分のリポジトリのページに飛んでプルリクエストを作成
参考
Dockerfile
FROM ruby:2.1.4
MAINTAINER m0a <abe00makoto@gmail.com>
RUN apt-get update && apt-get install -y nodejs
RUN gem install middleman
RUN apt-get install -y git
# middleman routine
WORKDIR work
RUN mkdir /root/.ssh
RUN chmod 700 /root/.ssh
ADD ssh_config /root/.ssh/config
# RUN touch /root/.ssh/known_hosts
RUN git clone https://github.com/DiscoverMeteor/DiscoverMeteorStatic.git
WORKDIR DiscoverMeteorStatic
# RUN git submodule init
# RUN git submodule update --remote
RUN bundle install
ENV DMLANG ja
ADD config.rb /work/DiscoverMeteorStatic/
run_middleman.sh
# !/bin/sh
if [[ $OSTYPE != "darwin"* ]]; then
echo "only support osx. now";
exit;
fi
docker build -t middleman4dm .
docker run -p 4567:4567 -p 35729:35729 -v "$(pwd)"/DiscoverMeteor_Ja:/work/DiscoverMeteorStatic/source/chapters/ja middleman4dm middleman server --force-polling