sinatra + guard + foreman + chrome で LiveReload 環境を整える
sinatra + guard + foreman + chrome で LiveReload するための環境を簡単にまとめてみました。
1.適当なディレクトリに以下の4つのファイルを作成します。
[app.rb]
require 'sinatra' require 'sinatra/reloader' if development? get '/' do "Hello, World" end
[Gemfile]
source :rubygems gem 'sinatra' gem 'haml' group :development do gem 'sinatra-contrib' gem 'guard' gem 'guard-livereload', require: false end
[Guardfile]
guard 'livereload' do # sinatra watch(%r{.+\.rb}) watch(%r{views/.+\.(haml|sass|css)}) end
[Procfile]
guard: bundle exec guard -i web: bundle exec ruby app.rb -p 5000
2.bundle install
ファイルを作成し終わったら bundle で gem のインストールします。
$ bundle intall
3.foreman で guard と sinatra の起動
今回は foreman で guard と sinatra を一緒に起動します。
$ foreman start
実行するコマンドなどは Procfile ファイルで設定します。
コマンドオプションなどを指定したい場合はこのファイルを編集します。
4.Chrome で LiveReload ボタンを押す
http://localhost:5000/ にアクセスしてページを開きます。
ページを開いたあとに LiveReload のアイコンをクリックします。
Chrome に LiveReload の拡張をインストールしたら以下のようなアイコンが URL バーの右側に追加されています。
クリックしたら foreman を起動しているコンソールに
23:00:30 guard.1 | 23:00:30 - INFO - Browser connected.
とログが追加されているのを確認してください。
5.LiveReload する
あとは app.rb などを編集して保存すれば自動的にブラウザが更新されます。
これで最低限の LiveReload 環境を実現することができます。