Edited at

Windowsやリモート環境でMiddlemanのLiveReloadをする

More than 3 years have passed since last update.

最近Middlemanを使おうと四苦八苦しています。日本語化されたマニュアルが神。

[ Middleman で超速プロトタイピング ] #02 Middleman の便利機能 7 選 | Developers.IO

このページに、LiveReloadはMacのみ?って書いてあったので絶望的な気分だったのだけれど、ちゃんと設定すれば動きました。

公式サイトの説明には、「config.rbにこの一行を追記しろ」と書いてあるのだけれど、これが駄目っぽい。


config.rb

activate :livereload


livereloadをonにすると、必要なJavaScript類が読み込まれるのですが、よくよく見ると「host」なるパラメータがついています。これが0.0.0.0になっていて、LiveReloadの接続先がよくわからなくなっていたみたいです。

<script type="text/javascript" src="/__rack/livereload.js?host=0.0.0.0&amp;port=35729"></script>

リモートのLinux環境でMiddlemanを動かしている場合もLiveReloadが動かなかったりするのですが、同じ理由っぽいです。なので接続先をちゃんと教えてあげれば動作するはず。


config.rb

activate :livereload, :host => `hostname`.chomp


これでいい感じに動きました。

ちなみにブラウザにエクステンションをインストールする必要はないみたいです。


参考