middleman-more 3.1.0.beta.1 → 3.1.0.beta.2
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 +7 -0
- data/features/asset_hash.feature +3 -3
- data/features/asset_host.feature +52 -3
- data/features/minify_javascript.feature +3 -3
- data/fixtures/asset-host-app/config.rb +0 -6
- data/lib/middleman-more/core_extensions/compass.rb +67 -84
- data/lib/middleman-more/core_extensions/default_helpers.rb +206 -215
- data/lib/middleman-more/core_extensions/i18n.rb +121 -145
- data/lib/middleman-more/extensions/asset_hash.rb +76 -96
- data/lib/middleman-more/extensions/asset_host.rb +37 -36
- data/lib/middleman-more/extensions/automatic_image_sizes.rb +33 -49
- data/lib/middleman-more/extensions/cache_buster.rb +44 -59
- data/lib/middleman-more/extensions/directory_indexes.rb +21 -51
- data/lib/middleman-more/extensions/gzip.rb +54 -57
- data/lib/middleman-more/extensions/lorem.rb +151 -172
- data/lib/middleman-more/extensions/minify_css.rb +59 -71
- data/lib/middleman-more/extensions/minify_javascript.rb +64 -75
- data/lib/middleman-more/extensions/relative_assets.rb +22 -38
- data/lib/middleman-more.rb +24 -45
- data/middleman-more.gemspec +2 -2
- metadata +19 -46
- data/features/asset_host_compass.feature +0 -7
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a1df77f4d11379ce20fec027e19c1bdbe25ebe5f
|
4
|
+
data.tar.gz: 23137fa1344a5ce4a2fd3b2b2b487d9fef92664d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 549c6712e66858016fddceedf9aadce140159a6258098535a69f15beddcc7cf79d579413549ed329a1ac270a3d089cef0d10002b2927b435a2706b4e429076cf
|
7
|
+
data.tar.gz: 156fbf13a8828514215da7688a96d72edd4bc7b7ad53c747563aa3ded4fa64460bccfe917c3b50158a4b9aa8ac5981b9e0a9f9b0bc19222d41f9910a3baca014
|
data/features/asset_hash.feature
CHANGED
@@ -57,13 +57,13 @@ Feature: Assets get a file hash appended to their and references to them are upd
|
|
57
57
|
Scenario: Enabling an asset host still produces hashed files and references
|
58
58
|
Given the Server is running at "asset-hash-host-app"
|
59
59
|
When I go to "/"
|
60
|
-
Then I should see 'href="http://middlemanapp.com/stylesheets/site-
|
60
|
+
Then I should see 'href="http://middlemanapp.com/stylesheets/site-54baaf3a.css"'
|
61
61
|
And I should see 'src="http://middlemanapp.com/images/100px-5fd6fb90.jpg"'
|
62
62
|
When I go to "/subdir/"
|
63
|
-
Then I should see 'href="http://middlemanapp.com/stylesheets/site-
|
63
|
+
Then I should see 'href="http://middlemanapp.com/stylesheets/site-54baaf3a.css"'
|
64
64
|
And I should see 'src="http://middlemanapp.com/images/100px-5fd6fb90.jpg"'
|
65
65
|
When I go to "/other/"
|
66
|
-
Then I should see 'href="http://middlemanapp.com/stylesheets/site-
|
66
|
+
Then I should see 'href="http://middlemanapp.com/stylesheets/site-54baaf3a.css"'
|
67
67
|
And I should see 'src="http://middlemanapp.com/images/100px-5fd6fb90.jpg"'
|
68
68
|
# Asset helpers don't appear to work from Compass right now
|
69
69
|
# When I go to "/stylesheets/site-e5a31a3e.css"
|
data/features/asset_host.feature
CHANGED
@@ -1,7 +1,56 @@
|
|
1
1
|
Feature: Alternate between multiple asset hosts
|
2
2
|
In order to speed up page loading
|
3
|
-
|
4
|
-
Scenario:
|
5
|
-
Given
|
3
|
+
|
4
|
+
Scenario: Set single host globally
|
5
|
+
Given a fixture app "asset-host-app"
|
6
|
+
And a file named "config.rb" with:
|
7
|
+
"""
|
8
|
+
activate :asset_host
|
9
|
+
set :asset_host, "http://assets1.example.com"
|
10
|
+
"""
|
11
|
+
And the Server is running
|
6
12
|
When I go to "/asset_host.html"
|
13
|
+
Then I should see "http://assets1"
|
14
|
+
When I go to "/stylesheets/asset_host.css"
|
15
|
+
Then I should see "http://assets1"
|
16
|
+
|
17
|
+
Scenario: Set proc host globally
|
18
|
+
Given a fixture app "asset-host-app"
|
19
|
+
And a file named "config.rb" with:
|
20
|
+
"""
|
21
|
+
activate :asset_host
|
22
|
+
set :asset_host do |asset|
|
23
|
+
"http://assets%d.example.com" % (asset.hash % 4)
|
24
|
+
end
|
25
|
+
"""
|
26
|
+
And the Server is running
|
27
|
+
When I go to "/asset_host.html"
|
28
|
+
Then I should see "http://assets"
|
29
|
+
When I go to "/stylesheets/asset_host.css"
|
30
|
+
Then I should see "http://assets"
|
31
|
+
|
32
|
+
Scenario: Set single host with inline-option
|
33
|
+
Given a fixture app "asset-host-app"
|
34
|
+
And a file named "config.rb" with:
|
35
|
+
"""
|
36
|
+
activate :asset_host, :host => "http://assets1.example.com"
|
37
|
+
"""
|
38
|
+
And the Server is running
|
39
|
+
When I go to "/asset_host.html"
|
40
|
+
Then I should see "http://assets1"
|
41
|
+
When I go to "/stylesheets/asset_host.css"
|
42
|
+
Then I should see "http://assets1"
|
43
|
+
|
44
|
+
Scenario: Set proc host with inline-option
|
45
|
+
Given a fixture app "asset-host-app"
|
46
|
+
And a file named "config.rb" with:
|
47
|
+
"""
|
48
|
+
activate :asset_host, :host => Proc.new { |asset|
|
49
|
+
"http://assets%d.example.com" % (asset.hash % 4)
|
50
|
+
}
|
51
|
+
"""
|
52
|
+
And the Server is running
|
53
|
+
When I go to "/asset_host.html"
|
54
|
+
Then I should see "http://assets"
|
55
|
+
When I go to "/stylesheets/asset_host.css"
|
7
56
|
Then I should see "http://assets"
|
@@ -133,14 +133,14 @@ Feature: Minify Javascript
|
|
133
133
|
Then I should see:
|
134
134
|
"""
|
135
135
|
<script>
|
136
|
-
(function(){
|
136
|
+
(function(){should(),all.be(),on={one:line}})();
|
137
137
|
</script>
|
138
138
|
<script>
|
139
|
-
(function(){
|
139
|
+
(function(){should(),too()})();
|
140
140
|
</script>
|
141
141
|
<script type='text/javascript'>
|
142
142
|
//<!--
|
143
|
-
(function(){
|
143
|
+
(function(){line(),here()})();
|
144
144
|
//-->
|
145
145
|
</script>
|
146
146
|
<script type='text/html'>
|
@@ -1,92 +1,75 @@
|
|
1
|
-
|
2
|
-
module CoreExtensions
|
3
|
-
|
4
|
-
# Forward the settings on config.rb and the result of registered
|
5
|
-
# extensions to Compass
|
6
|
-
module Compass
|
7
|
-
|
8
|
-
# Extension registered
|
9
|
-
class << self
|
10
|
-
|
11
|
-
# Once registered
|
12
|
-
def registered(app)
|
13
|
-
# Require the library
|
14
|
-
require "compass"
|
15
|
-
|
16
|
-
# Hooks to manually update the compass config after we're
|
17
|
-
# done with it
|
18
|
-
app.define_hook :compass_config
|
19
|
-
|
20
|
-
# Location of SASS/SCSS files external to source directory.
|
21
|
-
# @return [Array]
|
22
|
-
# config[:sass_assets_paths] = ["#{root}/assets/sass/", "/path/2/external/sass/repository/"]
|
23
|
-
app.config.define_setting :sass_assets_paths, [], 'Paths to extra SASS/SCSS files'
|
24
|
-
|
25
|
-
app.after_configuration do
|
26
|
-
::Compass.configuration do |compass_config|
|
27
|
-
compass_config.project_path = source_dir
|
28
|
-
compass_config.environment = :development
|
29
|
-
compass_config.cache_path = config[:sass_cache_path]
|
30
|
-
compass_config.sass_dir = config[:css_dir]
|
31
|
-
compass_config.css_dir = config[:css_dir]
|
32
|
-
compass_config.javascripts_dir = config[:js_dir]
|
33
|
-
compass_config.fonts_dir = config[:fonts_dir]
|
34
|
-
compass_config.images_dir = config[:images_dir]
|
35
|
-
compass_config.http_path = config[:http_prefix]
|
36
|
-
|
37
|
-
config[:sass_assets_paths].each do |path|
|
38
|
-
compass_config.add_import_path path
|
39
|
-
end
|
40
|
-
|
41
|
-
# Disable this initially, the cache_buster extension will
|
42
|
-
# re-enable it if requested.
|
43
|
-
compass_config.asset_cache_buster :none
|
44
|
-
|
45
|
-
# Disable this initially, the relative_assets extension will
|
46
|
-
|
47
|
-
compass_config.relative_assets = false
|
48
|
-
|
49
|
-
# Default output style
|
50
|
-
compass_config.output_style = :nested
|
51
|
-
|
52
|
-
# No line-comments in test mode (changing paths mess with sha1)
|
53
|
-
compass_config.line_comments = false if ENV["TEST"]
|
54
|
-
|
55
|
-
if config.defines_setting?(:asset_host) && config[:asset_host].is_a?(Proc)
|
56
|
-
compass_config.asset_host(&config[:asset_host])
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
# Call hook
|
61
|
-
run_hook :compass_config, ::Compass.configuration
|
62
|
-
|
63
|
-
# Tell Tilt to use it as well (for inline sass blocks)
|
64
|
-
::Tilt.register 'sass', CompassSassTemplate
|
65
|
-
::Tilt.prefer(CompassSassTemplate)
|
66
|
-
|
67
|
-
# Tell Tilt to use it as well (for inline scss blocks)
|
68
|
-
::Tilt.register 'scss', CompassScssTemplate
|
69
|
-
::Tilt.prefer(CompassScssTemplate)
|
70
|
-
end
|
71
|
-
end
|
72
|
-
alias :included :registered
|
73
|
-
end
|
1
|
+
class Middleman::CoreExtensions::Compass < ::Middleman::Extension
|
74
2
|
|
75
|
-
|
3
|
+
def initialize(app, options_hash={}, &block)
|
4
|
+
super
|
5
|
+
|
6
|
+
# Require the library
|
7
|
+
require "compass"
|
76
8
|
|
77
|
-
#
|
78
|
-
|
79
|
-
|
80
|
-
|
9
|
+
# Hooks to manually update the compass config after we're
|
10
|
+
# done with it
|
11
|
+
app.define_hook :compass_config
|
12
|
+
|
13
|
+
# Location of SASS/SCSS files external to source directory.
|
14
|
+
# @return [Array]
|
15
|
+
# config[:sass_assets_paths] = ["#{root}/assets/sass/", "/path/2/external/sass/repository/"]
|
16
|
+
app.config.define_setting :sass_assets_paths, [], 'Paths to extra SASS/SCSS files'
|
17
|
+
end
|
18
|
+
|
19
|
+
def after_configuration
|
20
|
+
::Compass.configuration do |compass_config|
|
21
|
+
compass_config.project_path = app.source_dir
|
22
|
+
compass_config.environment = :development
|
23
|
+
compass_config.cache_path = app.config[:sass_cache_path]
|
24
|
+
compass_config.sass_dir = app.config[:css_dir]
|
25
|
+
compass_config.css_dir = app.config[:css_dir]
|
26
|
+
compass_config.javascripts_dir = app.config[:js_dir]
|
27
|
+
compass_config.fonts_dir = app.config[:fonts_dir]
|
28
|
+
compass_config.images_dir = app.config[:images_dir]
|
29
|
+
compass_config.http_path = app.config[:http_prefix]
|
30
|
+
|
31
|
+
app.config[:sass_assets_paths].each do |path|
|
32
|
+
compass_config.add_import_path path
|
81
33
|
end
|
34
|
+
|
35
|
+
# Disable this initially, the cache_buster extension will
|
36
|
+
# re-enable it if requested.
|
37
|
+
compass_config.asset_cache_buster :none
|
38
|
+
|
39
|
+
# Disable this initially, the relative_assets extension will
|
40
|
+
|
41
|
+
compass_config.relative_assets = false
|
42
|
+
|
43
|
+
# Default output style
|
44
|
+
compass_config.output_style = :nested
|
45
|
+
|
46
|
+
# No line-comments in test mode (changing paths mess with sha1)
|
47
|
+
compass_config.line_comments = false if ENV["TEST"]
|
82
48
|
end
|
83
49
|
|
84
|
-
#
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
50
|
+
# Call hook
|
51
|
+
app.run_hook :compass_config, ::Compass.configuration
|
52
|
+
|
53
|
+
# Tell Tilt to use it as well (for inline sass blocks)
|
54
|
+
::Tilt.register 'sass', CompassSassTemplate
|
55
|
+
::Tilt.prefer(CompassSassTemplate)
|
56
|
+
|
57
|
+
# Tell Tilt to use it as well (for inline scss blocks)
|
58
|
+
::Tilt.register 'scss', CompassScssTemplate
|
59
|
+
::Tilt.prefer(CompassScssTemplate)
|
60
|
+
end
|
61
|
+
|
62
|
+
# A Compass Sass template for Tilt, adding our options in
|
63
|
+
class CompassSassTemplate < ::Middleman::Renderers::Sass::SassPlusCSSFilenameTemplate
|
64
|
+
def sass_options
|
65
|
+
super.merge(::Compass.configuration.to_sass_engine_options)
|
89
66
|
end
|
67
|
+
end
|
90
68
|
|
69
|
+
# A Compass Scss template for Tilt, adding our options in
|
70
|
+
class CompassScssTemplate < ::Middleman::Renderers::Sass::ScssPlusCSSFilenameTemplate
|
71
|
+
def sass_options
|
72
|
+
super.merge(::Compass.configuration.to_sass_engine_options)
|
73
|
+
end
|
91
74
|
end
|
92
|
-
end
|
75
|
+
end
|