middleman-livereload 3.2.1 → 3.3.0
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/CHANGELOG.md +33 -0
- data/README.md +2 -10
- data/lib/middleman-livereload/extension_3_1.rb +16 -17
- data/lib/middleman-livereload/reactor.rb +4 -4
- data/lib/middleman-livereload/version.rb +1 -1
- data/middleman-livereload.gemspec +2 -2
- metadata +4 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbd5aa0303f27dae24aae66a4265112a9966f7d9
|
4
|
+
data.tar.gz: 48e425f51c4689cbd8c261ed71374196fec5d16d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c4d9d0aec8d00cc9e8a1ae45449cfd234dabab32872bdefd416d96c3678542d2b6c2e407fd5403ecc3d6b6a7658720405568993cb14c663efcf98f4285854a4
|
7
|
+
data.tar.gz: 55c2201e8ae54496d9daa663d5fe74f1255d59e371fd47b48920bbbfb794c2a0618c1ddc8bb897212a8b649e33828003c7b8e8d6e4023a291bc411a71ad620ec
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
3.3.0
|
2
|
+
===
|
3
|
+
|
4
|
+
* Explicitly use the vendored livereload.js - otherwise it will attempt to load it from a location that doesn't exist.
|
5
|
+
* Remove `:grace_period` setting, which was unnecessary.
|
6
|
+
* Properly ignore changes to files that should not cause a reload, and pay attention to some files that used to be ignored but shouldn't have been.
|
7
|
+
* Send logging to the logger rather than STDOUT.
|
8
|
+
* No longer rely on MultiJson.
|
9
|
+
* Require Ruby 1.9.3 or greater.
|
10
|
+
|
11
|
+
3.2.1
|
12
|
+
===
|
13
|
+
|
14
|
+
* Loosen dependency on `middleman-core`.
|
15
|
+
|
16
|
+
3.2.0
|
17
|
+
===
|
18
|
+
|
19
|
+
* Only run in `:development` environment.
|
20
|
+
* No longer compatible with Middleman < 3.2
|
21
|
+
|
22
|
+
3.1.1
|
23
|
+
===
|
24
|
+
|
25
|
+
* Added `:no_swf` option to disable Flash websockets polyfill.
|
26
|
+
|
27
|
+
3.1.0
|
28
|
+
===
|
29
|
+
|
30
|
+
* Compatibility with Middleman 3.1+ style extension API.
|
31
|
+
* Ignore ignored sitemap files.
|
32
|
+
* Preserve the reactor thread across preview server reloads.
|
33
|
+
* Implement a `:grace_period` setting.
|
data/README.md
CHANGED
@@ -13,7 +13,7 @@ middleman init MY_PROJECT
|
|
13
13
|
|
14
14
|
If you already have a Middleman project: Add `gem "middleman-livereload", "~> 3.1.0"` to your `Gemfile` and run `bundle install`
|
15
15
|
|
16
|
-
####Windows users:
|
16
|
+
#### Windows users:
|
17
17
|
You currently need to add `gem "em-websocket", github: "igrigorik/em-websocket"` to your `Gemfile` and run `bundle install`
|
18
18
|
Also be sure to specify the correct hostname `activate :livereload, :host => 'localhost'`
|
19
19
|
|
@@ -26,13 +26,9 @@ activate :livereload
|
|
26
26
|
The extension supports a number of options that can be given to the `activate` statement. Eg:
|
27
27
|
|
28
28
|
```
|
29
|
-
activate :livereload, :apply_js_live => false
|
29
|
+
activate :livereload, :apply_js_live => false
|
30
30
|
```
|
31
31
|
|
32
|
-
#### `:api_version`
|
33
|
-
|
34
|
-
Livereload API version, default `'1.6'`.
|
35
|
-
|
36
32
|
#### `:host` and `:port`
|
37
33
|
|
38
34
|
Livereload's listener host/port, these options get passed to ::Rack::LiveReload middleware. Defaults:`'0.0.0.0'` and `'35729'`.
|
@@ -41,10 +37,6 @@ Livereload's listener host/port, these options get passed to ::Rack::LiveReload
|
|
41
37
|
|
42
38
|
Whether live reload should attempt to reload javascript / css 'in-place', without complete reload of the page. Both default to `true`.
|
43
39
|
|
44
|
-
#### `:grace_period`
|
45
|
-
|
46
|
-
A delay middleman-livereload should wait before reacting on file change / deletion notification (sec). Default is 0.
|
47
|
-
|
48
40
|
#### `:no_swf`
|
49
41
|
|
50
42
|
Disable Flash polyfil for browsers that support native WebSockets.
|
@@ -7,17 +7,15 @@ module Middleman
|
|
7
7
|
option :port, '35729', 'Port to bind the LiveReload API server to'
|
8
8
|
option :apply_js_live, true, 'Apply JS changes live, without reloading'
|
9
9
|
option :apply_css_live, true, 'Apply CSS changes live, without reloading'
|
10
|
-
option :grace_period, 0, 'Time (in seconds) to wait before reloading'
|
11
10
|
option :no_swf, false, 'Disable Flash WebSocket polyfill for browsers that support native WebSockets'
|
12
11
|
|
13
12
|
def initialize(app, options_hash={}, &block)
|
14
13
|
super
|
15
14
|
|
16
|
-
return
|
15
|
+
return unless app.environment == :development
|
17
16
|
|
18
17
|
@reactor = nil
|
19
18
|
|
20
|
-
grace_period = options.grace_period
|
21
19
|
port = options.port.to_i
|
22
20
|
host = options.host
|
23
21
|
no_swf = options.no_swf
|
@@ -31,33 +29,34 @@ module Middleman
|
|
31
29
|
end
|
32
30
|
|
33
31
|
files.changed do |file|
|
34
|
-
next if
|
32
|
+
next if files.send(:ignored?, file)
|
35
33
|
|
36
|
-
|
37
|
-
sitemap.ensure_resource_list_updated!
|
38
|
-
puts "Changed! #{file}"
|
34
|
+
logger.debug "LiveReload: File changed - #{file}"
|
39
35
|
|
40
|
-
|
41
|
-
|
36
|
+
reload_path = "#{Dir.pwd}/#{file}"
|
37
|
+
|
38
|
+
file_url = sitemap.file_to_path(file)
|
39
|
+
if file_url
|
42
40
|
file_resource = sitemap.find_resource_by_path(file_url)
|
43
|
-
|
44
|
-
|
45
|
-
|
41
|
+
if file_resource
|
42
|
+
reload_path = file_resource.url
|
43
|
+
end
|
46
44
|
end
|
45
|
+
|
47
46
|
@reactor.reload_browser(reload_path)
|
48
47
|
end
|
49
48
|
|
50
49
|
files.deleted do |file|
|
51
|
-
next if
|
50
|
+
next if files.send(:ignored?, file)
|
52
51
|
|
53
|
-
|
54
|
-
sitemap.ensure_resource_list_updated!
|
55
|
-
puts "Deleted! #{file}"
|
52
|
+
logger.debug "LiveReload: File deleted - #{file}"
|
56
53
|
|
57
54
|
@reactor.reload_browser("#{Dir.pwd}/#{file}")
|
58
55
|
end
|
59
56
|
|
60
|
-
|
57
|
+
# Use the vendored livereload.js source rather than trying to get it from Middleman
|
58
|
+
# https://github.com/johnbintz/rack-livereload#which-livereload-script-does-it-use
|
59
|
+
use ::Rack::LiveReload, :port => port, :host => host, :no_swf => no_swf, :source => :vendored
|
61
60
|
end
|
62
61
|
end
|
63
62
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'em-websocket'
|
2
|
-
require '
|
2
|
+
require 'json'
|
3
3
|
|
4
4
|
module Middleman
|
5
5
|
module LiveReload
|
@@ -29,7 +29,7 @@ module Middleman
|
|
29
29
|
paths = Array(paths)
|
30
30
|
logger.info "== LiveReloading path: #{paths.join(' ')}"
|
31
31
|
paths.each do |path|
|
32
|
-
data =
|
32
|
+
data = JSON.dump(['refresh', {
|
33
33
|
:path => path,
|
34
34
|
:apply_js_live => @options[:apply_js_live],
|
35
35
|
:apply_css_live => @options[:apply_css_live]
|
@@ -50,8 +50,8 @@ module Middleman
|
|
50
50
|
@web_sockets << ws
|
51
51
|
logger.debug "== LiveReload browser connected"
|
52
52
|
rescue
|
53
|
-
|
54
|
-
|
53
|
+
logger.error $!
|
54
|
+
logger.error $!.backtrace
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
@@ -15,8 +15,8 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.files = `git ls-files -z`.split("\0")
|
16
16
|
s.test_files = `git ls-files -z -- {fixtures,features}/*`.split("\0")
|
17
17
|
s.require_paths = ["lib"]
|
18
|
+
s.required_ruby_version = '>= 1.9.3'
|
18
19
|
s.add_dependency("middleman-core", ["~> 3.2"])
|
19
20
|
s.add_runtime_dependency('rack-livereload', ['~> 0.3.15'])
|
20
21
|
s.add_runtime_dependency('em-websocket', ['~> 0.5.0'])
|
21
|
-
|
22
|
-
end
|
22
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-livereload
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Reynolds
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: middleman-core
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.5.0
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: multi_json
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 1.8.4
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 1.8.4
|
69
55
|
description: LiveReload support for Middleman
|
70
56
|
email:
|
71
57
|
- me@tdreyno.com
|
@@ -75,6 +61,7 @@ extra_rdoc_files: []
|
|
75
61
|
files:
|
76
62
|
- .gitignore
|
77
63
|
- .travis.yml
|
64
|
+
- CHANGELOG.md
|
78
65
|
- CONTRIBUTING.md
|
79
66
|
- Gemfile
|
80
67
|
- LICENSE.md
|
@@ -100,7 +87,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
100
87
|
requirements:
|
101
88
|
- - '>='
|
102
89
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
90
|
+
version: 1.9.3
|
104
91
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
92
|
requirements:
|
106
93
|
- - '>='
|