middleman-livereload 3.4.3 → 3.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +15 -1
- data/lib/middleman-livereload/extension_3_1.rb +17 -2
- data/lib/middleman-livereload/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17886dee2b4da416d13f35ac3347ca3fbb04354b
|
4
|
+
data.tar.gz: 6c80de20bd9283d6bc98e651b14098785400665d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d28b1acd59729a32d62dbe35f82caa9f70319e0d8e0317b273301701dee3552222ef1e3ad9d87110bb061e9bce66cfc74bafed1588703ce878169598843452c7
|
7
|
+
data.tar.gz: 4b510ae86724689d597e9b97cc96d337901ea574efe3bac705aef5294a1f85d1e2ee32f8db8bef1b6b53d6939b832c9b7e4bc7b07d49951fa47293490f36c562
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@ gem install middleman
|
|
11
11
|
middleman init MY_PROJECT
|
12
12
|
```
|
13
13
|
|
14
|
-
If you already have a Middleman project: Add `gem "middleman-livereload", "~> 3.3
|
14
|
+
If you already have a Middleman project: Add `gem "middleman-livereload", "~> 3.4.3"` to your `Gemfile` and run `bundle install`
|
15
15
|
|
16
16
|
## Configuration
|
17
17
|
|
@@ -29,6 +29,10 @@ activate :livereload, apply_js_live: false
|
|
29
29
|
|
30
30
|
Livereload's listener host/port, these options get passed to ::Rack::LiveReload middleware. Defaults:`'0.0.0.0'` and `'35729'`.
|
31
31
|
|
32
|
+
#### `:js_host` and `:js_port`
|
33
|
+
|
34
|
+
Similar to the `:host` and `:port` options, but allow you to specify a different host and port at the frontend Javascript level than at the backend EventMachine level. Useful when running behind a proxy or on a Docker VM. Defaults to `:host` and `:port`.
|
35
|
+
|
32
36
|
#### `:apply_js_live` and `:apply_css_live`
|
33
37
|
|
34
38
|
Whether live reload should attempt to reload javascript / css 'in-place', without complete reload of the page. Both default to `true`.
|
@@ -43,6 +47,16 @@ Disable Flash polyfil for browsers that support native WebSockets.
|
|
43
47
|
|
44
48
|
Array of patterns for paths that must be ignored. These files will not be injected with the LiveReload script.
|
45
49
|
|
50
|
+
#### `:livereload_css_target`
|
51
|
+
|
52
|
+
CSS file to reload when detecting @imported partial was modified. Default `stylesheets/all.css`).
|
53
|
+
To opt out set `livereload_css_target: nil`.
|
54
|
+
|
55
|
+
#### `:livereload_css_pattern`
|
56
|
+
|
57
|
+
Regexp matching filenames that should trigger reload of :livereload_css_target when changed. Default: `Regexp.new('_.*\.css')`.
|
58
|
+
|
59
|
+
|
46
60
|
## Build & Dependency Status
|
47
61
|
|
48
62
|
[][gem]
|
@@ -3,12 +3,16 @@ require 'middleman-livereload/reactor'
|
|
3
3
|
|
4
4
|
module Middleman
|
5
5
|
class LiveReloadExtension < Extension
|
6
|
-
option :port, '35729', 'Port to bind the LiveReload API server to'
|
6
|
+
option :port, '35729', 'Port to bind the LiveReload API server to listen to'
|
7
7
|
option :apply_js_live, true, 'Apply JS changes live, without reloading'
|
8
8
|
option :apply_css_live, true, 'Apply CSS changes live, without reloading'
|
9
9
|
option :no_swf, false, 'Disable Flash WebSocket polyfill for browsers that support native WebSockets'
|
10
10
|
option :host, Socket.ip_address_list.find(->{ Addrinfo.ip 'localhost' }, &:ipv4_private?).ip_address, 'Host to bind LiveReload API server to'
|
11
11
|
option :ignore, [], 'Array of patterns for paths that must be ignored'
|
12
|
+
option :js_port, nil, 'Port to connect the LiveReload Javascript to (if different than :port)'
|
13
|
+
option :js_host, nil, 'Host to connect LiveReload Javascript to (if different than :host)'
|
14
|
+
option :livereload_css_target, 'stylesheets/all.css', 'CSS file to load when a @imported CSS partials are modified'
|
15
|
+
option :livereload_css_pattern, Regexp.new('_.*\.css'), 'Regexp matching filenames that trigger live reloading target'
|
12
16
|
|
13
17
|
def initialize(app, options_hash={}, &block)
|
14
18
|
super
|
@@ -23,9 +27,13 @@ module Middleman
|
|
23
27
|
|
24
28
|
port = options.port.to_i
|
25
29
|
host = options.host
|
30
|
+
js_port = options.js_port || port
|
31
|
+
js_host = options.js_host || host
|
26
32
|
no_swf = options.no_swf
|
27
33
|
ignore = options.ignore
|
28
34
|
options_hash = options.to_h
|
35
|
+
livereload_css_target = options.livereload_css_target
|
36
|
+
livereload_css_pattern = options.livereload_css_pattern
|
29
37
|
|
30
38
|
app.ready do
|
31
39
|
if @reactor
|
@@ -49,6 +57,13 @@ module Middleman
|
|
49
57
|
end
|
50
58
|
end
|
51
59
|
|
60
|
+
# handle imported partials
|
61
|
+
# load target file instead of triggering full page refresh
|
62
|
+
if livereload_css_pattern.match(file) and not livereload_css_target.nil?
|
63
|
+
logger.info("LiveReload: CSS import changed, reloading target")
|
64
|
+
reload_path = livereload_css_target
|
65
|
+
end
|
66
|
+
|
52
67
|
@reactor.reload_browser(reload_path)
|
53
68
|
end
|
54
69
|
|
@@ -62,7 +77,7 @@ module Middleman
|
|
62
77
|
|
63
78
|
# Use the vendored livereload.js source rather than trying to get it from Middleman
|
64
79
|
# https://github.com/johnbintz/rack-livereload#which-livereload-script-does-it-use
|
65
|
-
use ::Rack::LiveReload, port:
|
80
|
+
use ::Rack::LiveReload, port: js_port, host: js_host, no_swf: no_swf, source: :vendored, ignore: ignore
|
66
81
|
end
|
67
82
|
end
|
68
83
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-livereload
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Reynolds
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-
|
13
|
+
date: 2015-12-10 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: middleman-core
|
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
99
|
version: '0'
|
100
100
|
requirements: []
|
101
101
|
rubyforge_project:
|
102
|
-
rubygems_version: 2.4.
|
102
|
+
rubygems_version: 2.4.8
|
103
103
|
signing_key:
|
104
104
|
specification_version: 4
|
105
105
|
summary: LiveReload support for Middleman
|