⚠️ ⚠️ ⚠️ Security Vulnerability: please upgrade to v2.5.2 - details here . (Credits: Michael Coyne)
Guard::LiveReload
LiveReload guard allows to automatically reload your browser when 'view' files are modified.
Support
⚠️ Guard::LiveReload is looking for a new maintainer. Please contact me if you're interested.
For any support question/issue related to livereload
please ask on support@livereload.com.
Install
Please be sure to have Guard installed before continuing.
Install the gem:
$ gem install guard-livereload
Add it to your Gemfile (inside development group):
group :development do
gem 'guard-livereload', '~> 2.5', require: false
end
Add guard definition to your Guardfile by running this command:
$ guard init livereload
And to get everything running in the browser, use rack-livereload or install the LiveReload Safari/Chrome/Firefox extension.
Usage
For a quick start, check out the wiki.
If you're using Rails or Rack based apps, check out rack-livereload how it works readme section.
For info about Guard and it's plugins, see Guard usage doc
For more info about LiveReload extensions, see LiveReload extension usage doc from version 1.x
Guardfile
You can adapt your 'view' files like you want. Please read Guard doc for more info about Guardfile DSL.
guard 'livereload' do
watch(%r{app/views/.+\.(erb|haml|slim)})
watch(%r{app/helpers/.+\.rb})
watch(%r{public/.+\.(css|js|html)})
watch(%r{config/locales/.+\.yml})
# Rails Assets Pipeline
watch(%r{(app|vendor)(/assets/\w+/(.+\.(css|js|html))).*}) { |m| "/assets/#{m[3]}" }
end
Options
LiveReload guard has 6 options that you can set like this:
guard 'livereload', grace_period: 0.5, override_url: true do
# ...
end
Available options:
notify: true # default false
host: '127.3.3.1' # default '0.0.0.0'
port: '12345' # default '35729'
apply_css_live: false # default true
override_url: false # default false
grace_period: 0.5 # default 0 (seconds)
js_template: './my_livereload.js.erb' # default is livereload.js.erb from gem
Additional custom JS template options (see livereload.js.erb for details):
js_apple_webkit_extra_wait_time: 50 # default is 5 (see issue #123)
js_default_extra_wait_time: 100 # default is 200
notify
uses Guard's system notifications.
See LiveReload configuration doc from version 1.x for more info about other options.
Troubleshooting
To work out what's wrong and where, just follow this easy guide: https://github.com/guard/guard-livereload/wiki/Troubleshooting
Other issues:
1. "hw.ncpu" is an unknown key.
Solution: just upgrade the listen
gem to '3.x' (Listen is used by Guard).
(Details: #134)
Development
- Source hosted at GitHub.
- Report issues and feature requests to GitHub Issues.
Pull requests are very welcome! Please try to follow these simple "rules", though:
- Please create a topic branch for every separate change you make.
- Make sure your patches are well tested.
- Update the README (if applicable).
- Please do not change the version number.
For questions please join us on our Google group or on #guard
(irc.freenode.net).