middleman-core 3.0.6 → 3.0.7
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/features/cli_init.feature +3 -2
- data/features/front-matter.feature +12 -1
- data/lib/middleman-core/core_extensions/front_matter.rb +2 -2
- data/lib/middleman-core/core_extensions/rendering.rb +7 -0
- data/lib/middleman-core/preview_server.rb +17 -21
- data/lib/middleman-core/renderers/redcarpet.rb +12 -2
- data/lib/middleman-core/renderers/slim.rb +4 -3
- data/lib/middleman-core/renderers/stylus.rb +28 -0
- data/lib/middleman-core/templates/html5/source/index.html.erb +6 -0
- data/lib/middleman-core/templates/html5/source/{index.html → layouts/layout.erb} +3 -3
- data/lib/middleman-core/version.rb +1 -1
- metadata +8 -6
data/features/cli_init.feature
CHANGED
@@ -50,9 +50,10 @@ Feature: Middleman CLI
|
|
50
50
|
Then a directory named "source" should exist
|
51
51
|
When I cd to "source"
|
52
52
|
Then the following files should exist:
|
53
|
-
| index.html
|
53
|
+
| index.html.erb |
|
54
|
+
| layouts/layout.erb |
|
54
55
|
| humans.txt |
|
55
|
-
| js/main.js
|
56
|
+
| js/main.js |
|
56
57
|
|
57
58
|
Scenario: Create a new HTML5 project with Rack
|
58
59
|
When I run `middleman init MY_PROJECT --rack --template=html5`
|
@@ -69,4 +69,15 @@ Feature: YAML Front Matter
|
|
69
69
|
<%= data.page.title %>
|
70
70
|
"""
|
71
71
|
When I go to "/front-matter-change.html"
|
72
|
-
Then I should see "Hola Mundo"
|
72
|
+
Then I should see "Hola Mundo"
|
73
|
+
|
74
|
+
Scenario: A template should handle an empty YAML feed
|
75
|
+
Given the Server is running at "frontmatter-app"
|
76
|
+
And the file "source/front-matter-change.html.erb" has the contents
|
77
|
+
"""
|
78
|
+
---
|
79
|
+
---
|
80
|
+
Hello World
|
81
|
+
"""
|
82
|
+
When I go to "/front-matter-change.html"
|
83
|
+
Then I should see "Hello World"
|
@@ -31,7 +31,7 @@ module Middleman::CoreExtensions
|
|
31
31
|
)
|
32
32
|
|
33
33
|
sitemap.provides_metadata do |path|
|
34
|
-
fmdata = frontmatter_manager.data(path).first
|
34
|
+
fmdata = frontmatter_manager.data(path).first || {}
|
35
35
|
|
36
36
|
data = {}
|
37
37
|
%w(layout layout_engine).each do |opt|
|
@@ -158,7 +158,7 @@ module Middleman::CoreExtensions
|
|
158
158
|
# @return [void]
|
159
159
|
def manipulate_resource_list(resources)
|
160
160
|
resources.each do |r|
|
161
|
-
if !r.proxy? && r.data["ignored"] == true
|
161
|
+
if !r.proxy? && !r.data.nil? && r.data["ignored"] == true
|
162
162
|
r.frontmatter_ignored = true
|
163
163
|
end
|
164
164
|
end
|
@@ -68,6 +68,13 @@ module Middleman
|
|
68
68
|
app.register Middleman::Renderers::Less
|
69
69
|
rescue LoadError
|
70
70
|
end
|
71
|
+
|
72
|
+
# Stylus Support
|
73
|
+
begin
|
74
|
+
require "middleman-core/renderers/stylus"
|
75
|
+
app.register Middleman::Renderers::Stylus
|
76
|
+
rescue LoadError
|
77
|
+
end
|
71
78
|
end
|
72
79
|
|
73
80
|
alias :included :registered
|
@@ -6,17 +6,18 @@ module Middleman
|
|
6
6
|
DEFAULT_PORT = 4567
|
7
7
|
|
8
8
|
class << self
|
9
|
-
attr_reader :app, :port
|
9
|
+
attr_reader :app, :host, :port
|
10
10
|
delegate :logger, :to => :app
|
11
11
|
|
12
12
|
# Start an instance of Middleman::Application
|
13
13
|
# @return [void]
|
14
14
|
def start(opts={})
|
15
15
|
@options = opts
|
16
|
+
@host = @options[:host] || Socket.gethostname
|
16
17
|
@port = @options[:port] || DEFAULT_PORT
|
17
18
|
|
18
19
|
mount_instance
|
19
|
-
logger.info "== The Middleman is standing watch
|
20
|
+
logger.info "== The Middleman is standing watch at http://#{host}:#{port}"
|
20
21
|
|
21
22
|
@initialized ||= false
|
22
23
|
unless @initialized
|
@@ -52,11 +53,11 @@ module Middleman
|
|
52
53
|
# @return [void]
|
53
54
|
def reload
|
54
55
|
logger.info "== The Middleman is reloading"
|
55
|
-
|
56
|
+
|
56
57
|
unmount_instance
|
57
58
|
mount_instance
|
58
|
-
|
59
|
-
logger.info "== The Middleman is standing watch
|
59
|
+
|
60
|
+
logger.info "== The Middleman is standing watch at http://#{host}:#{port}"
|
60
61
|
end
|
61
62
|
|
62
63
|
# Stop the current instance, exit Webrick
|
@@ -73,22 +74,22 @@ module Middleman
|
|
73
74
|
if opts[:environment]
|
74
75
|
set :environment, opts[:environment].to_sym
|
75
76
|
end
|
76
|
-
|
77
|
+
|
77
78
|
logger(opts[:debug] ? 0 : 1, opts[:instrumenting] || false)
|
78
79
|
end
|
79
80
|
end
|
80
81
|
|
81
82
|
def start_file_watcher
|
82
83
|
return if @options[:"disable-watcher"]
|
83
|
-
|
84
|
+
|
84
85
|
first_run = !@listener
|
85
|
-
|
86
|
+
|
86
87
|
if first_run
|
87
88
|
# Watcher Library
|
88
89
|
require "listen"
|
89
90
|
@listener = Listen.to(Dir.pwd, :relative_paths => true)
|
90
91
|
end
|
91
|
-
|
92
|
+
|
92
93
|
@listener.change do |modified, added, removed|
|
93
94
|
added_and_modified = (modified + added)
|
94
95
|
|
@@ -125,11 +126,9 @@ module Middleman
|
|
125
126
|
|
126
127
|
# Initialize webrick
|
127
128
|
# @return [void]
|
128
|
-
def setup_webrick(
|
129
|
-
@host = host
|
130
|
-
|
129
|
+
def setup_webrick(is_logging)
|
131
130
|
http_opts = {
|
132
|
-
:BindAddress =>
|
131
|
+
:BindAddress => host,
|
133
132
|
:Port => port,
|
134
133
|
:AccessLog => []
|
135
134
|
}
|
@@ -154,13 +153,10 @@ module Middleman
|
|
154
153
|
def mount_instance
|
155
154
|
@app = new_app
|
156
155
|
|
157
|
-
@webrick ||= setup_webrick(
|
158
|
-
|
159
|
-
@options[:debug] || false
|
160
|
-
)
|
161
|
-
|
156
|
+
@webrick ||= setup_webrick(@options[:debug] || false)
|
157
|
+
|
162
158
|
start_file_watcher
|
163
|
-
|
159
|
+
|
164
160
|
@webrick.mount "/", ::Rack::Handler::WEBrick, app.class.to_rack_app
|
165
161
|
end
|
166
162
|
|
@@ -180,13 +176,13 @@ module Middleman
|
|
180
176
|
%r{^lib/^[^\.](.*)\.rb$},
|
181
177
|
%r{^helpers/^[^\.](.*)_helper\.rb$}
|
182
178
|
]
|
183
|
-
|
179
|
+
|
184
180
|
if @options[:reload_paths]
|
185
181
|
@options[:reload_paths].split(',').each do |part|
|
186
182
|
match_against << %r{^#{part}}
|
187
183
|
end
|
188
184
|
end
|
189
|
-
|
185
|
+
|
190
186
|
paths.any? do |path|
|
191
187
|
match_against.any? do |matcher|
|
192
188
|
path.match(matcher)
|
@@ -5,6 +5,14 @@ module Middleman
|
|
5
5
|
|
6
6
|
class RedcarpetTemplate < ::Tilt::RedcarpetTemplate::Redcarpet2
|
7
7
|
|
8
|
+
def initialize(*args, &block)
|
9
|
+
super
|
10
|
+
|
11
|
+
if @options.has_key?(:context)
|
12
|
+
@context = @options[:context]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
8
16
|
# Overwrite built-in Tilt version.
|
9
17
|
# Don't overload :renderer option with smartypants
|
10
18
|
# Support renderer-level options
|
@@ -32,9 +40,11 @@ module Middleman
|
|
32
40
|
renderer.new(render_options)
|
33
41
|
end
|
34
42
|
|
35
|
-
def evaluate(
|
43
|
+
def evaluate(context, locals, &block)
|
44
|
+
@context ||= context
|
45
|
+
|
36
46
|
if @engine.renderer.respond_to? :middleman_app=
|
37
|
-
@engine.renderer.middleman_app =
|
47
|
+
@engine.renderer.middleman_app = @context
|
38
48
|
end
|
39
49
|
super
|
40
50
|
end
|
@@ -23,11 +23,12 @@ module Middleman
|
|
23
23
|
)
|
24
24
|
|
25
25
|
app.after_configuration do
|
26
|
-
|
26
|
+
context_hack = {
|
27
27
|
:context => self
|
28
28
|
}
|
29
|
-
|
30
|
-
|
29
|
+
%w(sass scss markdown).each do |engine|
|
30
|
+
::Slim::EmbeddedEngine.default_options[engine.to_sym] = context_hack
|
31
|
+
end
|
31
32
|
end
|
32
33
|
end
|
33
34
|
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "stylus"
|
2
|
+
require "stylus/tilt"
|
3
|
+
|
4
|
+
module Middleman
|
5
|
+
module Renderers
|
6
|
+
|
7
|
+
# Sass renderer
|
8
|
+
module Stylus
|
9
|
+
|
10
|
+
# Setup extension
|
11
|
+
class << self
|
12
|
+
|
13
|
+
# Once registered
|
14
|
+
def registered(app)
|
15
|
+
# Default less options
|
16
|
+
app.set :styl, {}
|
17
|
+
|
18
|
+
app.before_configuration do
|
19
|
+
template_extensions :styl => :css
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
alias :included :registered
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -6,7 +6,8 @@
|
|
6
6
|
<head>
|
7
7
|
<meta charset="utf-8">
|
8
8
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
9
|
-
|
9
|
+
<!-- Use title if it's in the page YAML frontmatter -->
|
10
|
+
<title><%= data.page.title || "HTML5 Boilerplate" %></title>
|
10
11
|
<meta name="description" content="">
|
11
12
|
<meta name="viewport" content="width=device-width">
|
12
13
|
|
@@ -21,8 +22,7 @@
|
|
21
22
|
<p class="chromeframe">You are using an outdated browser. <a href="http://browsehappy.com/">Upgrade your browser today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to better experience this site.</p>
|
22
23
|
<![endif]-->
|
23
24
|
|
24
|
-
|
25
|
-
<p>Hello world! This is HTML5 Boilerplate.</p>
|
25
|
+
<%= yield %>
|
26
26
|
|
27
27
|
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
28
28
|
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.8.0.min.js"><\/script>')</script>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-12-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -439,6 +439,7 @@ files:
|
|
439
439
|
- lib/middleman-core/renderers/redcarpet.rb
|
440
440
|
- lib/middleman-core/renderers/sass.rb
|
441
441
|
- lib/middleman-core/renderers/slim.rb
|
442
|
+
- lib/middleman-core/renderers/stylus.rb
|
442
443
|
- lib/middleman-core/sitemap.rb
|
443
444
|
- lib/middleman-core/sitemap/extensions/ignores.rb
|
444
445
|
- lib/middleman-core/sitemap/extensions/on_disk.rb
|
@@ -483,11 +484,12 @@ files:
|
|
483
484
|
- lib/middleman-core/templates/html5/source/favicon.ico
|
484
485
|
- lib/middleman-core/templates/html5/source/humans.txt
|
485
486
|
- lib/middleman-core/templates/html5/source/img/.gitignore
|
486
|
-
- lib/middleman-core/templates/html5/source/index.html
|
487
|
+
- lib/middleman-core/templates/html5/source/index.html.erb
|
487
488
|
- lib/middleman-core/templates/html5/source/js/main.js
|
488
489
|
- lib/middleman-core/templates/html5/source/js/plugins.js
|
489
490
|
- lib/middleman-core/templates/html5/source/js/vendor/jquery-1.8.0.min.js
|
490
491
|
- lib/middleman-core/templates/html5/source/js/vendor/modernizr-2.6.1.min.js
|
492
|
+
- lib/middleman-core/templates/html5/source/layouts/layout.erb
|
491
493
|
- lib/middleman-core/templates/html5/source/robots.txt
|
492
494
|
- lib/middleman-core/templates/local.rb
|
493
495
|
- lib/middleman-core/templates/mobile.rb
|
@@ -595,7 +597,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
595
597
|
version: '0'
|
596
598
|
segments:
|
597
599
|
- 0
|
598
|
-
hash:
|
600
|
+
hash: 1408914751343926382
|
599
601
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
600
602
|
none: false
|
601
603
|
requirements:
|
@@ -604,10 +606,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
604
606
|
version: '0'
|
605
607
|
segments:
|
606
608
|
- 0
|
607
|
-
hash:
|
609
|
+
hash: 1408914751343926382
|
608
610
|
requirements: []
|
609
611
|
rubyforge_project:
|
610
|
-
rubygems_version: 1.8.
|
612
|
+
rubygems_version: 1.8.24
|
611
613
|
signing_key:
|
612
614
|
specification_version: 3
|
613
615
|
summary: Hand-crafted frontend development
|