middleman 2.0.0.rc4 → 2.0.0.rc5
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.
- data/CHANGELOG +2 -0
- data/bin/mm-build +0 -2
- data/bin/mm-migrate +5 -0
- data/bin/mm-server +36 -66
- data/lib/middleman.rb +4 -0
- data/lib/middleman/guard.rb +71 -0
- data/lib/middleman/version.rb +1 -1
- data/middleman.gemspec +2 -0
- metadata +36 -11
data/CHANGELOG
CHANGED
data/bin/mm-build
CHANGED
data/bin/mm-migrate
ADDED
data/bin/mm-server
CHANGED
@@ -1,75 +1,45 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require
|
3
|
+
require "thor"
|
4
|
+
require "thor/group"
|
4
5
|
|
5
6
|
# Require Middleman
|
6
7
|
require File.join(File.dirname(__FILE__), '..', 'lib', 'middleman')
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
if File.exists?(source_folder)
|
43
|
-
@found_root = true
|
44
|
-
next
|
9
|
+
module Middleman
|
10
|
+
class GuardServer < ::Thor::Group
|
11
|
+
include Thor::Actions
|
12
|
+
|
13
|
+
class_option :environment, :aliases => "-e", :default => ENV['MM_ENV'] || ENV['RACK_ENV'] || 'development'
|
14
|
+
|
15
|
+
class_option :port, :aliases => "-p", :default => "4567"
|
16
|
+
class_option :"livereload-port", :default => "35729"
|
17
|
+
class_option :"livereload", :default => true, :type => :boolean
|
18
|
+
|
19
|
+
def start_guard
|
20
|
+
if !File.exists?("config.rb")
|
21
|
+
$stderr.puts "== Error: Could not find a Middleman project config, perhaps you are in the wrong folder?"
|
22
|
+
return
|
23
|
+
end
|
24
|
+
|
25
|
+
# If the old directories exists, use it, but issue warning
|
26
|
+
if File.exists?("views") || File.exists?("public")
|
27
|
+
$stderr.puts "== Error: The views and public folders are have been combined. Create a new 'source' folder, add the contents of views and public to it and then remove the empty views and public folders."
|
28
|
+
return
|
29
|
+
end
|
30
|
+
|
31
|
+
ENV['RACK_ENV'] = options[:environment]
|
32
|
+
|
33
|
+
livereload_options = {
|
34
|
+
:port => options[:"livereload-port"]
|
35
|
+
}
|
36
|
+
livereload_options = nil unless options[:"livereload"]
|
37
|
+
|
38
|
+
::Middleman::Guard.start({
|
39
|
+
:port => options[:port],
|
40
|
+
}, livereload_options)
|
41
|
+
end
|
45
42
|
end
|
46
|
-
|
47
|
-
@path_parts.pop
|
48
43
|
end
|
49
44
|
|
50
|
-
|
51
|
-
$stderr.puts "== Error: Could not find a Middleman project structure, perhaps you are in the wrong folder?"
|
52
|
-
exit
|
53
|
-
end
|
54
|
-
|
55
|
-
# If the old init.rb exists, issue warning
|
56
|
-
old_config = File.join(@current_path, "init.rb")
|
57
|
-
if File.exists? old_config
|
58
|
-
$stderr.puts "== Error: The init.rb file (deprecated) needs to be be renamed to config.rb"
|
59
|
-
exit
|
60
|
-
end
|
61
|
-
|
62
|
-
# If the old directories exists, use it, but issue warning
|
63
|
-
old_views = File.join(@current_path, "views")
|
64
|
-
old_public = File.join(@current_path, "public")
|
65
|
-
if File.exists?(old_views) || File.exists?(old_public)
|
66
|
-
$stderr.puts "== Error: The views and public folders are have been combined. Create a new 'source' folder, add the contents of views and public to it and then remove the empty views and public folders."
|
67
|
-
exit
|
68
|
-
end
|
69
|
-
|
70
|
-
sandboxed_server.set :root, @current_path
|
71
|
-
options[:app] = sandboxed_server.new
|
72
|
-
# options[:server] = 'webrick'
|
73
|
-
|
74
|
-
puts "== The Middleman is standing watch on port #{options[:Port]}"
|
75
|
-
Rack::Server.new(options).start
|
45
|
+
Middleman::GuardServer.start
|
data/lib/middleman.rb
CHANGED
@@ -66,6 +66,7 @@ module Middleman
|
|
66
66
|
# Auto-load modules on-demand
|
67
67
|
autoload :Base, "middleman/base"
|
68
68
|
autoload :Builder, "middleman/builder"
|
69
|
+
autoload :Guard, "middleman/guard"
|
69
70
|
|
70
71
|
# Custom Renderers
|
71
72
|
module Renderers
|
@@ -143,6 +144,9 @@ module Middleman
|
|
143
144
|
|
144
145
|
# Proxy web services requests in dev mode only
|
145
146
|
autoload :Proxy, "middleman/features/proxy"
|
147
|
+
|
148
|
+
# guard-livereload
|
149
|
+
autoload :LiveReload, "middleman/features/live_reload"
|
146
150
|
|
147
151
|
# Automatically resize images for mobile devises
|
148
152
|
# autoload :TinySrc, "middleman/features/tiny_src"
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require "guard"
|
2
|
+
require "guard/guard"
|
3
|
+
require "guard/livereload"
|
4
|
+
|
5
|
+
module Middleman::Guard
|
6
|
+
def self.start(options={}, livereload={})
|
7
|
+
options_hash = ""
|
8
|
+
options.each do |k,v|
|
9
|
+
options_hash << ", :#{k} => '#{v}'"
|
10
|
+
end
|
11
|
+
|
12
|
+
guardfile_contents = %Q{
|
13
|
+
guard 'middleman'#{options_hash} do
|
14
|
+
watch("config.rb")
|
15
|
+
end
|
16
|
+
}
|
17
|
+
|
18
|
+
if livereload
|
19
|
+
livereload_options_hash = ""
|
20
|
+
livereload.each do |k,v|
|
21
|
+
livereload_options_hash << ", :#{k} => '#{v}'"
|
22
|
+
end
|
23
|
+
|
24
|
+
guardfile_contents << %Q{
|
25
|
+
guard 'livereload'#{livereload_options_hash} do
|
26
|
+
watch(%r{^source/(.*)$})
|
27
|
+
end
|
28
|
+
}
|
29
|
+
end
|
30
|
+
|
31
|
+
::Guard.start({ :guardfile_contents => guardfile_contents })
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
module Guard
|
36
|
+
class Middleman < Guard
|
37
|
+
def initialize(watchers = [], options = {})
|
38
|
+
super
|
39
|
+
@options = {
|
40
|
+
:port => '4567'
|
41
|
+
}.update(options)
|
42
|
+
end
|
43
|
+
|
44
|
+
def start
|
45
|
+
server_start
|
46
|
+
end
|
47
|
+
|
48
|
+
def run_on_change(paths)
|
49
|
+
server_stop
|
50
|
+
server_start
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
def server_start
|
55
|
+
puts "== The Middleman is standing watch on port #{@options[:port]}"
|
56
|
+
@server_options = { :Port => @options[:port], :AccessLog => [] }
|
57
|
+
@server_job = fork do
|
58
|
+
@server_options[:app] = ::Middleman.server.new
|
59
|
+
::Rack::Server.new(@server_options).start
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def server_stop
|
64
|
+
puts "== The Middleman is shutting down"
|
65
|
+
Process.kill("KILL", @server_job)
|
66
|
+
Process.wait @server_job
|
67
|
+
@server_job = nil
|
68
|
+
@server_options[:app] = nil
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
data/lib/middleman/version.rb
CHANGED
data/middleman.gemspec
CHANGED
@@ -34,6 +34,8 @@ Gem::Specification.new do |s|
|
|
34
34
|
s.add_runtime_dependency("compass", ["~> 0.11.3"])
|
35
35
|
s.add_runtime_dependency("sprockets", ["2.0.0.beta.10"])
|
36
36
|
s.add_runtime_dependency("httparty", ["~> 0.7.0"])
|
37
|
+
s.add_runtime_dependency("guard", [">= 0"])
|
38
|
+
s.add_runtime_dependency("guard-livereload", [">= 0"])
|
37
39
|
s.add_development_dependency("coffee-filter", ["~> 0.1.1"])
|
38
40
|
s.add_development_dependency("cucumber", ["~> 0.10.0"])
|
39
41
|
s.add_development_dependency("rake", ["0.8.7"])
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: middleman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease: 6
|
5
|
-
version: 2.0.0.
|
5
|
+
version: 2.0.0.rc5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Thomas Reynolds
|
@@ -190,66 +190,89 @@ dependencies:
|
|
190
190
|
type: :runtime
|
191
191
|
version_requirements: *id016
|
192
192
|
- !ruby/object:Gem::Dependency
|
193
|
-
name:
|
193
|
+
name: guard
|
194
194
|
prerelease: false
|
195
195
|
requirement: &id017 !ruby/object:Gem::Requirement
|
196
|
+
none: false
|
197
|
+
requirements:
|
198
|
+
- - ">="
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: "0"
|
201
|
+
type: :runtime
|
202
|
+
version_requirements: *id017
|
203
|
+
- !ruby/object:Gem::Dependency
|
204
|
+
name: guard-livereload
|
205
|
+
prerelease: false
|
206
|
+
requirement: &id018 !ruby/object:Gem::Requirement
|
207
|
+
none: false
|
208
|
+
requirements:
|
209
|
+
- - ">="
|
210
|
+
- !ruby/object:Gem::Version
|
211
|
+
version: "0"
|
212
|
+
type: :runtime
|
213
|
+
version_requirements: *id018
|
214
|
+
- !ruby/object:Gem::Dependency
|
215
|
+
name: coffee-filter
|
216
|
+
prerelease: false
|
217
|
+
requirement: &id019 !ruby/object:Gem::Requirement
|
196
218
|
none: false
|
197
219
|
requirements:
|
198
220
|
- - ~>
|
199
221
|
- !ruby/object:Gem::Version
|
200
222
|
version: 0.1.1
|
201
223
|
type: :development
|
202
|
-
version_requirements: *
|
224
|
+
version_requirements: *id019
|
203
225
|
- !ruby/object:Gem::Dependency
|
204
226
|
name: cucumber
|
205
227
|
prerelease: false
|
206
|
-
requirement: &
|
228
|
+
requirement: &id020 !ruby/object:Gem::Requirement
|
207
229
|
none: false
|
208
230
|
requirements:
|
209
231
|
- - ~>
|
210
232
|
- !ruby/object:Gem::Version
|
211
233
|
version: 0.10.0
|
212
234
|
type: :development
|
213
|
-
version_requirements: *
|
235
|
+
version_requirements: *id020
|
214
236
|
- !ruby/object:Gem::Dependency
|
215
237
|
name: rake
|
216
238
|
prerelease: false
|
217
|
-
requirement: &
|
239
|
+
requirement: &id021 !ruby/object:Gem::Requirement
|
218
240
|
none: false
|
219
241
|
requirements:
|
220
242
|
- - "="
|
221
243
|
- !ruby/object:Gem::Version
|
222
244
|
version: 0.8.7
|
223
245
|
type: :development
|
224
|
-
version_requirements: *
|
246
|
+
version_requirements: *id021
|
225
247
|
- !ruby/object:Gem::Dependency
|
226
248
|
name: rspec
|
227
249
|
prerelease: false
|
228
|
-
requirement: &
|
250
|
+
requirement: &id022 !ruby/object:Gem::Requirement
|
229
251
|
none: false
|
230
252
|
requirements:
|
231
253
|
- - ">="
|
232
254
|
- !ruby/object:Gem::Version
|
233
255
|
version: "0"
|
234
256
|
type: :development
|
235
|
-
version_requirements: *
|
257
|
+
version_requirements: *id022
|
236
258
|
- !ruby/object:Gem::Dependency
|
237
259
|
name: rocco
|
238
260
|
prerelease: false
|
239
|
-
requirement: &
|
261
|
+
requirement: &id023 !ruby/object:Gem::Requirement
|
240
262
|
none: false
|
241
263
|
requirements:
|
242
264
|
- - ">="
|
243
265
|
- !ruby/object:Gem::Version
|
244
266
|
version: "0"
|
245
267
|
type: :development
|
246
|
-
version_requirements: *
|
268
|
+
version_requirements: *id023
|
247
269
|
description:
|
248
270
|
email:
|
249
271
|
- tdreyno@gmail.com
|
250
272
|
executables:
|
251
273
|
- mm-build
|
252
274
|
- mm-init
|
275
|
+
- mm-migrate
|
253
276
|
- mm-server
|
254
277
|
extensions: []
|
255
278
|
|
@@ -267,6 +290,7 @@ files:
|
|
267
290
|
- Rakefile
|
268
291
|
- bin/mm-build
|
269
292
|
- bin/mm-init
|
293
|
+
- bin/mm-migrate
|
270
294
|
- bin/mm-server
|
271
295
|
- features/asset_host.feature
|
272
296
|
- features/automatic_image_sizes.feature
|
@@ -370,6 +394,7 @@ files:
|
|
370
394
|
- lib/middleman/features/proxy.rb
|
371
395
|
- lib/middleman/features/relative_assets.rb
|
372
396
|
- lib/middleman/features/tiny_src.rb
|
397
|
+
- lib/middleman/guard.rb
|
373
398
|
- lib/middleman/renderers/coffee_script.rb
|
374
399
|
- lib/middleman/renderers/haml.rb
|
375
400
|
- lib/middleman/renderers/markdown.rb
|