middleman-more 3.0.0.beta.1 → 3.0.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. data/Rakefile +1 -0
  2. data/features/asset_hash.feature +84 -0
  3. data/features/cache_buster.feature +5 -4
  4. data/features/coffee-script.feature +2 -2
  5. data/features/compass-sprites.feature +6 -0
  6. data/features/gzip.feature +21 -0
  7. data/features/{ignore_already_minified.features → ignore_already_minified.feature} +0 -0
  8. data/features/minify_css.feature +50 -2
  9. data/features/minify_javascript.feature +89 -6
  10. data/features/relative_assets.feature +47 -6
  11. data/features/sass_partials.feature +5 -1
  12. data/features/sprockets_gems.feature +7 -2
  13. data/fixtures/asset-hash-app/config.rb +8 -0
  14. data/fixtures/asset-hash-app/source/images/100px.gif +0 -0
  15. data/fixtures/asset-hash-app/source/images/100px.jpg +0 -0
  16. data/fixtures/asset-hash-app/source/images/100px.png +0 -0
  17. data/fixtures/asset-hash-app/source/index.html.erb +308 -0
  18. data/fixtures/asset-hash-app/source/javascripts/application.js +8 -0
  19. data/fixtures/asset-hash-app/source/layout.erb +18 -0
  20. data/fixtures/asset-hash-app/source/other.html.erb +2 -0
  21. data/fixtures/asset-hash-app/source/partials.html.erb +1 -0
  22. data/fixtures/asset-hash-app/source/stylesheets/_partial.sass +2 -0
  23. data/fixtures/asset-hash-app/source/stylesheets/site.css.scss +4 -0
  24. data/fixtures/asset-hash-app/source/stylesheets/uses_partials.css.sass +4 -0
  25. data/fixtures/asset-hash-app/source/subdir/index.html.erb +308 -0
  26. data/fixtures/asset-hash-host-app/config.rb +6 -0
  27. data/fixtures/asset-hash-host-app/source/images/100px.gif +0 -0
  28. data/fixtures/asset-hash-host-app/source/images/100px.jpg +0 -0
  29. data/fixtures/asset-hash-host-app/source/images/100px.png +0 -0
  30. data/fixtures/asset-hash-host-app/source/index.html.erb +6 -0
  31. data/fixtures/asset-hash-host-app/source/layout.erb +17 -0
  32. data/fixtures/asset-hash-host-app/source/other.html.erb +2 -0
  33. data/fixtures/asset-hash-host-app/source/stylesheets/site.css.scss +4 -0
  34. data/fixtures/asset-hash-host-app/source/subdir/index.html.erb +6 -0
  35. data/fixtures/cache-buster-app/source/cache-buster.html.erb +2 -1
  36. data/fixtures/compass-sprites-app/config.rb +0 -0
  37. data/fixtures/compass-sprites-app/source/images/icon/arrow_down.png +0 -0
  38. data/fixtures/compass-sprites-app/source/images/icon/arrow_left.png +0 -0
  39. data/fixtures/compass-sprites-app/source/images/icon/arrow_right.png +0 -0
  40. data/fixtures/compass-sprites-app/source/images/icon/arrow_up.png +0 -0
  41. data/fixtures/compass-sprites-app/source/stylesheets/site.css.scss +3 -0
  42. data/fixtures/gzip-app/config.rb +1 -0
  43. data/fixtures/gzip-app/source/index.html +0 -0
  44. data/fixtures/gzip-app/source/javascripts/test.js +1 -0
  45. data/fixtures/gzip-app/source/stylesheets/test.css +1 -0
  46. data/fixtures/minify-css-app/source/inline-css.html.haml +5 -0
  47. data/fixtures/minify-css-app/source/more-css/site.css +3 -0
  48. data/fixtures/minify-css-app/source/stylesheets/site.css.sass +5 -1
  49. data/fixtures/minify-js-app/config.rb +1 -1
  50. data/fixtures/minify-js-app/source/inline-js.html.haml +22 -1
  51. data/fixtures/minify-js-app/source/more-js/other.js +8 -0
  52. data/fixtures/passthrough-app/config.rb +4 -4
  53. data/fixtures/passthrough-app/source/inline-css.html.haml +5 -4
  54. data/fixtures/passthrough-app/source/inline-js.html.haml +22 -1
  55. data/fixtures/relative-assets-app/config.rb +1 -0
  56. data/fixtures/relative-assets-app/source/relative_image.html.erb +8 -1
  57. data/fixtures/sprockets-app/source/library/js/vendored_include.js +1 -0
  58. data/fixtures/sprockets-app/vendor/assets/javascripts/vendored_js.js +1 -0
  59. data/lib/middleman-more.rb +23 -9
  60. data/lib/middleman-more/core_extensions/compass.rb +22 -38
  61. data/lib/middleman-more/core_extensions/sprockets.rb +41 -123
  62. data/lib/middleman-more/extensions/asset_hash.rb +132 -0
  63. data/lib/middleman-more/extensions/cache_buster.rb +5 -6
  64. data/lib/middleman-more/extensions/gzip.rb +57 -0
  65. data/lib/middleman-more/extensions/minify_css.rb +73 -7
  66. data/lib/middleman-more/extensions/minify_css/rainpress.rb +168 -0
  67. data/lib/middleman-more/extensions/minify_javascript.rb +45 -21
  68. data/lib/middleman-more/extensions/relative_assets.rb +2 -1
  69. data/lib/middleman-more/renderers/haml.rb +4 -0
  70. data/lib/middleman-more/renderers/liquid.rb +6 -1
  71. data/lib/middleman-more/renderers/markdown.rb +10 -1
  72. data/lib/middleman-more/renderers/sass.rb +12 -6
  73. data/lib/middleman-more/renderers/slim.rb +5 -0
  74. data/middleman-more.gemspec +9 -9
  75. metadata +192 -178
  76. data/lib/middleman-more/extensions/minify_css/cssmin.rb +0 -55
@@ -9,12 +9,11 @@ module Middleman::Extensions
9
9
 
10
10
  # Once registered
11
11
  def registered(app)
12
-
12
+ app.set :js_compressor, false
13
+
13
14
  # Once config is parsed
14
15
  app.after_configuration do
15
-
16
- # Tell sprockets which compressor to use
17
- if !js_compressor
16
+ unless respond_to?(:js_compressor) && js_compressor
18
17
  require 'uglifier'
19
18
  set :js_compressor, ::Uglifier.new
20
19
  end
@@ -43,35 +42,60 @@ module Middleman::Extensions
43
42
  def call(env)
44
43
  status, headers, response = @app.call(env)
45
44
 
46
- if env["PATH_INFO"].match(/\.html$/)
47
- uncompressed_source = case(response)
48
- when String
49
- response
50
- when Array
51
- response.join
52
- when Rack::Response
53
- response.body.join
54
- when Rack::File
55
- File.read(response.path)
56
- end
45
+ path = env["PATH_INFO"]
57
46
 
58
- minified = uncompressed_source.gsub(/(<scri.*?\/\/<!\[CDATA\[\n)(.*?)(\/\/\]\].*?<\/script>)/m) do |m|
47
+ if path.end_with?('.html') || path.end_with?('.php')
48
+ uncompressed_source = extract_response_text(response)
49
+
50
+ minified = uncompressed_source.gsub(/(<script[^>]*>\s*(?:\/\/(?:(?:<!--)|(?:<!\[CDATA\[))\n)?)(.*?)((?:(?:\n\s*)?\/\/(?:(?:-->)|(?:\]\]>)))?\s*<\/script>)/m) do |match|
59
51
  first = $1
60
- uncompressed_source = $2
52
+ javascript = $2
61
53
  last = $3
62
- minified_js = @compressor.compress(uncompressed_source)
63
54
 
64
- first << minified_js << "\n" << last
55
+ # Only compress script tags that contain JavaScript (as opposed
56
+ # to something like jQuery templates, identified with a "text/html"
57
+ # type.
58
+ if first =~ /<script>/ || first.include?('text/javascript')
59
+ minified_js = @compressor.compress(javascript)
60
+
61
+ first << minified_js << last
62
+ else
63
+ match
64
+ end
65
65
  end
66
+
66
67
  headers["Content-Length"] = ::Rack::Utils.bytesize(minified).to_s
67
68
  response = [minified]
69
+ elsif path.end_with?('.js') && path !~ /\.min\./
70
+ uncompressed_source = extract_response_text(response)
71
+ minified_js = @compressor.compress(uncompressed_source)
72
+
73
+ headers["Content-Length"] = ::Rack::Utils.bytesize(minified_js).to_s
74
+ response = [minified_js]
68
75
  end
69
76
 
70
77
  [status, headers, response]
71
78
  end
79
+
80
+ private
81
+
82
+ def extract_response_text(response)
83
+ case(response)
84
+ when String
85
+ response
86
+ when Array
87
+ response.join
88
+ when Rack::Response
89
+ response.body.join
90
+ when Rack::File
91
+ File.read(response.path)
92
+ else
93
+ response.to_s
94
+ end
95
+ end
72
96
  end
73
97
  end
74
98
 
75
99
  # Register extension
76
- register :minify_javascript, MinifyJavascript
77
- end
100
+ # register :minify_javascript, MinifyJavascript
101
+ end
@@ -17,6 +17,7 @@ module Middleman::Extensions
17
17
  # Include instance methods
18
18
  app.send :include, InstanceMethods
19
19
  end
20
+
20
21
  alias :included :registered
21
22
  end
22
23
 
@@ -58,5 +59,5 @@ module Middleman::Extensions
58
59
  end
59
60
 
60
61
  # Register extension
61
- register :relative_assets, RelativeAssets
62
+ # register :relative_assets, RelativeAssets
62
63
  end
@@ -11,6 +11,10 @@ module Middleman::Renderers::Haml
11
11
  # Add haml helpers to context
12
12
  app.send :include, ::Haml::Helpers
13
13
 
14
+ app.before_configuration do
15
+ template_extensions :haml => :html
16
+ end
17
+
14
18
  # Setup haml helper paths
15
19
  app.ready do
16
20
  init_haml_helpers
@@ -13,18 +13,23 @@ module Middleman::Renderers::Liquid
13
13
  # Require Gem
14
14
  require "liquid"
15
15
 
16
+ app.before_configuration do
17
+ template_extensions :liquid => :html
18
+ end
19
+
16
20
  # After config, setup liquid partial paths
17
21
  app.after_configuration do
18
22
  Liquid::Template.file_system = Liquid::LocalFileSystem.new(source_dir)
19
23
 
20
24
  # Convert data object into a hash for liquid
21
- provides_metadata %r{\.liquid$} do |path|
25
+ sitemap.provides_metadata %r{\.liquid$} do |path|
22
26
  { :locals => { :data => data.to_h } }
23
27
  end
24
28
  end
25
29
  rescue LoadError
26
30
  end
27
31
  end
32
+
28
33
  alias :included :registered
29
34
  end
30
35
  end
@@ -18,6 +18,14 @@ module Middleman::Renderers::Markdown
18
18
  app.set :markdown_engine, :redcarpet
19
19
  app.set :markdown_engine_prefix, ::Tilt
20
20
 
21
+ app.before_configuration do
22
+ template_extensions :markdown => :html,
23
+ :mdown => :html,
24
+ :md => :html,
25
+ :mkd => :html,
26
+ :mkdn => :html
27
+ end
28
+
21
29
  # Once configuration is parsed
22
30
  app.after_configuration do
23
31
 
@@ -26,7 +34,7 @@ module Middleman::Renderers::Markdown
26
34
 
27
35
  # Map symbols to classes
28
36
  if markdown_engine.is_a? Symbol
29
- engine = engine.to_s
37
+ engine = markdown_engine.to_s
30
38
  engine = engine == "rdiscount" ? "RDiscount" : engine.camelize
31
39
  markdown_engine = markdown_engine_prefix.const_get("#{engine}Template")
32
40
  end
@@ -36,6 +44,7 @@ module Middleman::Renderers::Markdown
36
44
  end
37
45
  end
38
46
  end
47
+
39
48
  alias :included :registered
40
49
  end
41
50
  end
@@ -1,7 +1,10 @@
1
1
  # Pull in gems
2
- require "sass"
3
2
  require "sprockets"
4
3
  require "sprockets-sass"
4
+ require "sass"
5
+
6
+ # Stick with Compass' asset functions
7
+ Sprockets::Sass.add_sass_functions = false
5
8
 
6
9
  # Sass renderer
7
10
  module Middleman::Renderers::Sass
@@ -13,7 +16,13 @@ module Middleman::Renderers::Sass
13
16
  def registered(app)
14
17
  # Default sass options
15
18
  app.set :sass, {}
19
+
20
+ app.before_configuration do
21
+ template_extensions :scss => :css,
22
+ :sass => :css
23
+ end
16
24
  end
25
+
17
26
  alias :included :registered
18
27
  end
19
28
 
@@ -36,11 +45,7 @@ module Middleman::Renderers::Sass
36
45
  # Change Sass path, for url functions, to the build folder if we're building
37
46
  # @return [Hash]
38
47
  def sass_options
39
- location_of_sass_file = if @context.build?
40
- File.expand_path(@context.build_dir, @context.root)
41
- else
42
- File.expand_path(@context.source, @context.root)
43
- end
48
+ location_of_sass_file = File.expand_path(@context.source, @context.root)
44
49
 
45
50
  parts = basename.split('.')
46
51
  parts.pop
@@ -59,6 +64,7 @@ module Middleman::Renderers::Sass
59
64
 
60
65
  # SCSS version of the above template
61
66
  class ScssPlusCSSFilenameTemplate < SassPlusCSSFilenameTemplate
67
+
62
68
  # Define the expected syntax for the template
63
69
  # @return [Symbol]
64
70
  def syntax
@@ -12,11 +12,16 @@ module Middleman::Renderers::Slim
12
12
  # Load gem
13
13
  require "slim"
14
14
 
15
+ app.before_configuration do
16
+ template_extensions :slim => :html
17
+ end
18
+
15
19
  # Setup Slim options to work with partials
16
20
  Slim::Engine.set_default_options(:buffer => '@_out_buf', :generator => Temple::Generators::StringBuffer) if defined?(Slim)
17
21
  rescue LoadError
18
22
  end
19
23
  end
24
+
20
25
  alias :included :registered
21
26
  end
22
27
  end
@@ -7,11 +7,11 @@ Gem::Specification.new do |s|
7
7
  s.version = Middleman::VERSION
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.license = "MIT"
10
- s.authors = ["Thomas Reynolds"]
11
- s.email = ["me@tdreyno.com"]
10
+ s.authors = ["Thomas Reynolds", "Ben Hollis"]
11
+ s.email = ["me@tdreyno.com", "ben@benhollis.net"]
12
12
  s.homepage = "http://middlemanapp.com"
13
13
  s.summary = "Hand-crafted frontend development"
14
- s.description = "A static site generator based on Sinatra. Providing dozens of templating languages (Haml, Sass, Compass, Slim, CoffeeScript, and more). Makes minification, compression, cache busting, Yaml data (and more) an easy part of your development cycle."
14
+ s.description = "A static site generator. Provides dozens of templating languages (Haml, Sass, Compass, Slim, CoffeeScript, and more). Makes minification, compression, cache busting, Yaml data (and more) an easy part of your development cycle."
15
15
 
16
16
  s.files = `git ls-files`.split("\n")
17
17
  s.test_files = `git ls-files -- {fixtures,features}/*`.split("\n")
@@ -21,12 +21,12 @@ Gem::Specification.new do |s|
21
21
  s.add_dependency("middleman-core", Middleman::VERSION)
22
22
  s.add_dependency("uglifier", ["~> 1.2.0"])
23
23
  s.add_dependency("haml", ["~> 3.1.0"])
24
- s.add_dependency("sass", ["~> 3.1.7"])
25
- s.add_dependency("compass", ["~> 0.11.3"])
24
+ s.add_dependency("sass", [">= 3.1.7"])
25
+ s.add_dependency("compass", ["~> 0.12.1"])
26
26
  s.add_dependency("coffee-script", ["~> 2.2.0"])
27
- s.add_dependency("execjs", ["~> 1.2.7"])
28
- s.add_dependency("sprockets", ["~> 2.1.0"])
29
- s.add_dependency("sprockets-sass", ["~> 0.6.0"])
30
- s.add_dependency("redcarpet", ["~> 2.0.0"])
27
+ s.add_dependency("execjs", ["~> 1.2"])
28
+ s.add_dependency("sprockets", ["~> 2.1"])
29
+ s.add_dependency("sprockets-sass", ["~> 0.8.0"])
30
+ s.add_dependency("redcarpet", ["~> 2.1.0"])
31
31
  end
32
32
 
metadata CHANGED
@@ -1,205 +1,148 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: middleman-more
3
- version: !ruby/object:Gem::Version
4
- hash: 62196417
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.0.0.beta.2
5
5
  prerelease: 6
6
- segments:
7
- - 3
8
- - 0
9
- - 0
10
- - beta
11
- - 1
12
- version: 3.0.0.beta.1
13
6
  platform: ruby
14
- authors:
7
+ authors:
15
8
  - Thomas Reynolds
9
+ - Ben Hollis
16
10
  autorequire:
17
11
  bindir: bin
18
12
  cert_chain: []
19
-
20
- date: 2012-01-02 00:00:00 -08:00
21
- default_executable:
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
24
- prerelease: false
25
- type: :runtime
26
- requirement: &id001 !ruby/object:Gem::Requirement
27
- none: false
28
- requirements:
29
- - - "="
30
- - !ruby/object:Gem::Version
31
- hash: 62196417
32
- segments:
33
- - 3
34
- - 0
35
- - 0
36
- - beta
37
- - 1
38
- version: 3.0.0.beta.1
13
+ date: 2012-04-22 00:00:00.000000000Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
39
16
  name: middleman-core
40
- version_requirements: *id001
41
- - !ruby/object:Gem::Dependency
42
- prerelease: false
17
+ requirement: &70144569655900 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - =
21
+ - !ruby/object:Gem::Version
22
+ version: 3.0.0.beta.2
43
23
  type: :runtime
44
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ prerelease: false
25
+ version_requirements: *70144569655900
26
+ - !ruby/object:Gem::Dependency
27
+ name: uglifier
28
+ requirement: &70144569646960 !ruby/object:Gem::Requirement
45
29
  none: false
46
- requirements:
30
+ requirements:
47
31
  - - ~>
48
- - !ruby/object:Gem::Version
49
- hash: 31
50
- segments:
51
- - 1
52
- - 2
53
- - 0
32
+ - !ruby/object:Gem::Version
54
33
  version: 1.2.0
55
- name: uglifier
56
- version_requirements: *id002
57
- - !ruby/object:Gem::Dependency
58
- prerelease: false
59
34
  type: :runtime
60
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ prerelease: false
36
+ version_requirements: *70144569646960
37
+ - !ruby/object:Gem::Dependency
38
+ name: haml
39
+ requirement: &70144569644220 !ruby/object:Gem::Requirement
61
40
  none: false
62
- requirements:
41
+ requirements:
63
42
  - - ~>
64
- - !ruby/object:Gem::Version
65
- hash: 3
66
- segments:
67
- - 3
68
- - 1
69
- - 0
43
+ - !ruby/object:Gem::Version
70
44
  version: 3.1.0
71
- name: haml
72
- version_requirements: *id003
73
- - !ruby/object:Gem::Dependency
74
- prerelease: false
75
45
  type: :runtime
76
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ prerelease: false
47
+ version_requirements: *70144569644220
48
+ - !ruby/object:Gem::Dependency
49
+ name: sass
50
+ requirement: &70144569643020 !ruby/object:Gem::Requirement
77
51
  none: false
78
- requirements:
79
- - - ~>
80
- - !ruby/object:Gem::Version
81
- hash: 13
82
- segments:
83
- - 3
84
- - 1
85
- - 7
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
86
55
  version: 3.1.7
87
- name: sass
88
- version_requirements: *id004
89
- - !ruby/object:Gem::Dependency
90
- prerelease: false
91
56
  type: :runtime
92
- requirement: &id005 !ruby/object:Gem::Requirement
57
+ prerelease: false
58
+ version_requirements: *70144569643020
59
+ - !ruby/object:Gem::Dependency
60
+ name: compass
61
+ requirement: &70144569640920 !ruby/object:Gem::Requirement
93
62
  none: false
94
- requirements:
63
+ requirements:
95
64
  - - ~>
96
- - !ruby/object:Gem::Version
97
- hash: 53
98
- segments:
99
- - 0
100
- - 11
101
- - 3
102
- version: 0.11.3
103
- name: compass
104
- version_requirements: *id005
105
- - !ruby/object:Gem::Dependency
106
- prerelease: false
65
+ - !ruby/object:Gem::Version
66
+ version: 0.12.1
107
67
  type: :runtime
108
- requirement: &id006 !ruby/object:Gem::Requirement
68
+ prerelease: false
69
+ version_requirements: *70144569640920
70
+ - !ruby/object:Gem::Dependency
71
+ name: coffee-script
72
+ requirement: &70144569636620 !ruby/object:Gem::Requirement
109
73
  none: false
110
- requirements:
74
+ requirements:
111
75
  - - ~>
112
- - !ruby/object:Gem::Version
113
- hash: 7
114
- segments:
115
- - 2
116
- - 2
117
- - 0
76
+ - !ruby/object:Gem::Version
118
77
  version: 2.2.0
119
- name: coffee-script
120
- version_requirements: *id006
121
- - !ruby/object:Gem::Dependency
122
- prerelease: false
123
78
  type: :runtime
124
- requirement: &id007 !ruby/object:Gem::Requirement
79
+ prerelease: false
80
+ version_requirements: *70144569636620
81
+ - !ruby/object:Gem::Dependency
82
+ name: execjs
83
+ requirement: &70144569635320 !ruby/object:Gem::Requirement
125
84
  none: false
126
- requirements:
85
+ requirements:
127
86
  - - ~>
128
- - !ruby/object:Gem::Version
129
- hash: 17
130
- segments:
131
- - 1
132
- - 2
133
- - 7
134
- version: 1.2.7
135
- name: execjs
136
- version_requirements: *id007
137
- - !ruby/object:Gem::Dependency
138
- prerelease: false
87
+ - !ruby/object:Gem::Version
88
+ version: '1.2'
139
89
  type: :runtime
140
- requirement: &id008 !ruby/object:Gem::Requirement
90
+ prerelease: false
91
+ version_requirements: *70144569635320
92
+ - !ruby/object:Gem::Dependency
93
+ name: sprockets
94
+ requirement: &70144569633740 !ruby/object:Gem::Requirement
141
95
  none: false
142
- requirements:
96
+ requirements:
143
97
  - - ~>
144
- - !ruby/object:Gem::Version
145
- hash: 11
146
- segments:
147
- - 2
148
- - 1
149
- - 0
150
- version: 2.1.0
151
- name: sprockets
152
- version_requirements: *id008
153
- - !ruby/object:Gem::Dependency
154
- prerelease: false
98
+ - !ruby/object:Gem::Version
99
+ version: '2.1'
155
100
  type: :runtime
156
- requirement: &id009 !ruby/object:Gem::Requirement
101
+ prerelease: false
102
+ version_requirements: *70144569633740
103
+ - !ruby/object:Gem::Dependency
104
+ name: sprockets-sass
105
+ requirement: &70144569623820 !ruby/object:Gem::Requirement
157
106
  none: false
158
- requirements:
107
+ requirements:
159
108
  - - ~>
160
- - !ruby/object:Gem::Version
161
- hash: 7
162
- segments:
163
- - 0
164
- - 6
165
- - 0
166
- version: 0.6.0
167
- name: sprockets-sass
168
- version_requirements: *id009
169
- - !ruby/object:Gem::Dependency
170
- prerelease: false
109
+ - !ruby/object:Gem::Version
110
+ version: 0.8.0
171
111
  type: :runtime
172
- requirement: &id010 !ruby/object:Gem::Requirement
112
+ prerelease: false
113
+ version_requirements: *70144569623820
114
+ - !ruby/object:Gem::Dependency
115
+ name: redcarpet
116
+ requirement: &70144569622180 !ruby/object:Gem::Requirement
173
117
  none: false
174
- requirements:
118
+ requirements:
175
119
  - - ~>
176
- - !ruby/object:Gem::Version
177
- hash: 15
178
- segments:
179
- - 2
180
- - 0
181
- - 0
182
- version: 2.0.0
183
- name: redcarpet
184
- version_requirements: *id010
185
- description: A static site generator based on Sinatra. Providing dozens of templating languages (Haml, Sass, Compass, Slim, CoffeeScript, and more). Makes minification, compression, cache busting, Yaml data (and more) an easy part of your development cycle.
186
- email:
120
+ - !ruby/object:Gem::Version
121
+ version: 2.1.0
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: *70144569622180
125
+ description: A static site generator. Provides dozens of templating languages (Haml,
126
+ Sass, Compass, Slim, CoffeeScript, and more). Makes minification, compression, cache
127
+ busting, Yaml data (and more) an easy part of your development cycle.
128
+ email:
187
129
  - me@tdreyno.com
130
+ - ben@benhollis.net
188
131
  executables: []
189
-
190
132
  extensions: []
191
-
192
133
  extra_rdoc_files: []
193
-
194
- files:
134
+ files:
195
135
  - .gemtest
196
136
  - Rakefile
137
+ - features/asset_hash.feature
197
138
  - features/asset_host_compass.feature
198
139
  - features/cache_buster.feature
199
140
  - features/coffee-script.feature
141
+ - features/compass-sprites.feature
200
142
  - features/content_for.feature
201
143
  - features/fonts.feature
202
- - features/ignore_already_minified.features
144
+ - features/gzip.feature
145
+ - features/ignore_already_minified.feature
203
146
  - features/liquid.feature
204
147
  - features/markdown.feature
205
148
  - features/minify_css.feature
@@ -214,6 +157,28 @@ files:
214
157
  - fixtures/already-minified-app/config.rb
215
158
  - fixtures/already-minified-app/source/javascripts/test.min.js
216
159
  - fixtures/already-minified-app/source/stylesheets/test.min.css
160
+ - fixtures/asset-hash-app/config.rb
161
+ - fixtures/asset-hash-app/source/images/100px.gif
162
+ - fixtures/asset-hash-app/source/images/100px.jpg
163
+ - fixtures/asset-hash-app/source/images/100px.png
164
+ - fixtures/asset-hash-app/source/index.html.erb
165
+ - fixtures/asset-hash-app/source/javascripts/application.js
166
+ - fixtures/asset-hash-app/source/layout.erb
167
+ - fixtures/asset-hash-app/source/other.html.erb
168
+ - fixtures/asset-hash-app/source/partials.html.erb
169
+ - fixtures/asset-hash-app/source/stylesheets/_partial.sass
170
+ - fixtures/asset-hash-app/source/stylesheets/site.css.scss
171
+ - fixtures/asset-hash-app/source/stylesheets/uses_partials.css.sass
172
+ - fixtures/asset-hash-app/source/subdir/index.html.erb
173
+ - fixtures/asset-hash-host-app/config.rb
174
+ - fixtures/asset-hash-host-app/source/images/100px.gif
175
+ - fixtures/asset-hash-host-app/source/images/100px.jpg
176
+ - fixtures/asset-hash-host-app/source/images/100px.png
177
+ - fixtures/asset-hash-host-app/source/index.html.erb
178
+ - fixtures/asset-hash-host-app/source/layout.erb
179
+ - fixtures/asset-hash-host-app/source/other.html.erb
180
+ - fixtures/asset-hash-host-app/source/stylesheets/site.css.scss
181
+ - fixtures/asset-hash-host-app/source/subdir/index.html.erb
217
182
  - fixtures/asset-host-app/config.rb
218
183
  - fixtures/asset-host-app/source/.htaccess
219
184
  - fixtures/asset-host-app/source/images/blank.gif
@@ -227,6 +192,12 @@ files:
227
192
  - fixtures/coffeescript-app/source/inline-coffeescript.html.haml
228
193
  - fixtures/coffeescript-app/source/javascripts/broken-coffee.js.coffee
229
194
  - fixtures/coffeescript-app/source/javascripts/coffee_test.js.coffee
195
+ - fixtures/compass-sprites-app/config.rb
196
+ - fixtures/compass-sprites-app/source/images/icon/arrow_down.png
197
+ - fixtures/compass-sprites-app/source/images/icon/arrow_left.png
198
+ - fixtures/compass-sprites-app/source/images/icon/arrow_right.png
199
+ - fixtures/compass-sprites-app/source/images/icon/arrow_up.png
200
+ - fixtures/compass-sprites-app/source/stylesheets/site.css.scss
230
201
  - fixtures/content-for-app/config.rb
231
202
  - fixtures/content-for-app/source/content_for_haml.html.haml
232
203
  - fixtures/content-for-app/source/content_for_slim.html.slim
@@ -234,6 +205,10 @@ files:
234
205
  - fixtures/fonts-app/config.rb
235
206
  - fixtures/fonts-app/source/fonts/StMarie-Thin.otf
236
207
  - fixtures/fonts-app/source/stylesheets/fonts.css.sass
208
+ - fixtures/gzip-app/config.rb
209
+ - fixtures/gzip-app/source/index.html
210
+ - fixtures/gzip-app/source/javascripts/test.js
211
+ - fixtures/gzip-app/source/stylesheets/test.css
237
212
  - fixtures/liquid-app/config.rb
238
213
  - fixtures/liquid-app/data/test.yml
239
214
  - fixtures/liquid-app/data/test2.json
@@ -251,12 +226,15 @@ files:
251
226
  - fixtures/markdown-app/source/superscript.html.markdown
252
227
  - fixtures/markdown-app/source/tables.html.markdown
253
228
  - fixtures/minify-css-app/config.rb
229
+ - fixtures/minify-css-app/source/inline-css.html.haml
230
+ - fixtures/minify-css-app/source/more-css/site.css
254
231
  - fixtures/minify-css-app/source/stylesheets/site.css.sass
255
232
  - fixtures/minify-js-app/config.rb
256
233
  - fixtures/minify-js-app/source/inline-coffeescript.html.haml
257
234
  - fixtures/minify-js-app/source/inline-js.html.haml
258
235
  - fixtures/minify-js-app/source/javascripts/coffee_test.js.coffee
259
236
  - fixtures/minify-js-app/source/javascripts/js_test.js
237
+ - fixtures/minify-js-app/source/more-js/other.js
260
238
  - fixtures/passthrough-app/config.rb
261
239
  - fixtures/passthrough-app/source/.htaccess
262
240
  - fixtures/passthrough-app/source/inline-coffeescript.html.haml
@@ -296,6 +274,8 @@ files:
296
274
  - fixtures/sprockets-app/source/library/js/plain.js
297
275
  - fixtures/sprockets-app/source/library/js/sprockets_base.js
298
276
  - fixtures/sprockets-app/source/library/js/sprockets_sub.js
277
+ - fixtures/sprockets-app/source/library/js/vendored_include.js
278
+ - fixtures/sprockets-app/vendor/assets/javascripts/vendored_js.js
299
279
  - fixtures/sprockets-app2/config.rb
300
280
  - fixtures/sprockets-app2/data/test.yml
301
281
  - fixtures/sprockets-app2/data/test2.json
@@ -308,9 +288,11 @@ files:
308
288
  - lib/middleman-more.rb
309
289
  - lib/middleman-more/core_extensions/compass.rb
310
290
  - lib/middleman-more/core_extensions/sprockets.rb
291
+ - lib/middleman-more/extensions/asset_hash.rb
311
292
  - lib/middleman-more/extensions/cache_buster.rb
293
+ - lib/middleman-more/extensions/gzip.rb
312
294
  - lib/middleman-more/extensions/minify_css.rb
313
- - lib/middleman-more/extensions/minify_css/cssmin.rb
295
+ - lib/middleman-more/extensions/minify_css/rainpress.rb
314
296
  - lib/middleman-more/extensions/minify_javascript.rb
315
297
  - lib/middleman-more/extensions/relative_assets.rb
316
298
  - lib/middleman-more/renderers/haml.rb
@@ -319,49 +301,44 @@ files:
319
301
  - lib/middleman-more/renderers/sass.rb
320
302
  - lib/middleman-more/renderers/slim.rb
321
303
  - middleman-more.gemspec
322
- has_rdoc: true
323
304
  homepage: http://middlemanapp.com
324
- licenses:
305
+ licenses:
325
306
  - MIT
326
307
  post_install_message:
327
308
  rdoc_options: []
328
-
329
- require_paths:
309
+ require_paths:
330
310
  - lib
331
- required_ruby_version: !ruby/object:Gem::Requirement
311
+ required_ruby_version: !ruby/object:Gem::Requirement
332
312
  none: false
333
- requirements:
334
- - - ">="
335
- - !ruby/object:Gem::Version
336
- hash: 3
337
- segments:
313
+ requirements:
314
+ - - ! '>='
315
+ - !ruby/object:Gem::Version
316
+ version: '0'
317
+ segments:
338
318
  - 0
339
- version: "0"
340
- required_rubygems_version: !ruby/object:Gem::Requirement
319
+ hash: 2031035666304926986
320
+ required_rubygems_version: !ruby/object:Gem::Requirement
341
321
  none: false
342
- requirements:
343
- - - ">"
344
- - !ruby/object:Gem::Version
345
- hash: 25
346
- segments:
347
- - 1
348
- - 3
349
- - 1
322
+ requirements:
323
+ - - ! '>'
324
+ - !ruby/object:Gem::Version
350
325
  version: 1.3.1
351
326
  requirements: []
352
-
353
327
  rubyforge_project:
354
- rubygems_version: 1.6.2
328
+ rubygems_version: 1.8.10
355
329
  signing_key:
356
330
  specification_version: 3
357
331
  summary: Hand-crafted frontend development
358
- test_files:
332
+ test_files:
333
+ - features/asset_hash.feature
359
334
  - features/asset_host_compass.feature
360
335
  - features/cache_buster.feature
361
336
  - features/coffee-script.feature
337
+ - features/compass-sprites.feature
362
338
  - features/content_for.feature
363
339
  - features/fonts.feature
364
- - features/ignore_already_minified.features
340
+ - features/gzip.feature
341
+ - features/ignore_already_minified.feature
365
342
  - features/liquid.feature
366
343
  - features/markdown.feature
367
344
  - features/minify_css.feature
@@ -376,6 +353,28 @@ test_files:
376
353
  - fixtures/already-minified-app/config.rb
377
354
  - fixtures/already-minified-app/source/javascripts/test.min.js
378
355
  - fixtures/already-minified-app/source/stylesheets/test.min.css
356
+ - fixtures/asset-hash-app/config.rb
357
+ - fixtures/asset-hash-app/source/images/100px.gif
358
+ - fixtures/asset-hash-app/source/images/100px.jpg
359
+ - fixtures/asset-hash-app/source/images/100px.png
360
+ - fixtures/asset-hash-app/source/index.html.erb
361
+ - fixtures/asset-hash-app/source/javascripts/application.js
362
+ - fixtures/asset-hash-app/source/layout.erb
363
+ - fixtures/asset-hash-app/source/other.html.erb
364
+ - fixtures/asset-hash-app/source/partials.html.erb
365
+ - fixtures/asset-hash-app/source/stylesheets/_partial.sass
366
+ - fixtures/asset-hash-app/source/stylesheets/site.css.scss
367
+ - fixtures/asset-hash-app/source/stylesheets/uses_partials.css.sass
368
+ - fixtures/asset-hash-app/source/subdir/index.html.erb
369
+ - fixtures/asset-hash-host-app/config.rb
370
+ - fixtures/asset-hash-host-app/source/images/100px.gif
371
+ - fixtures/asset-hash-host-app/source/images/100px.jpg
372
+ - fixtures/asset-hash-host-app/source/images/100px.png
373
+ - fixtures/asset-hash-host-app/source/index.html.erb
374
+ - fixtures/asset-hash-host-app/source/layout.erb
375
+ - fixtures/asset-hash-host-app/source/other.html.erb
376
+ - fixtures/asset-hash-host-app/source/stylesheets/site.css.scss
377
+ - fixtures/asset-hash-host-app/source/subdir/index.html.erb
379
378
  - fixtures/asset-host-app/config.rb
380
379
  - fixtures/asset-host-app/source/.htaccess
381
380
  - fixtures/asset-host-app/source/images/blank.gif
@@ -389,6 +388,12 @@ test_files:
389
388
  - fixtures/coffeescript-app/source/inline-coffeescript.html.haml
390
389
  - fixtures/coffeescript-app/source/javascripts/broken-coffee.js.coffee
391
390
  - fixtures/coffeescript-app/source/javascripts/coffee_test.js.coffee
391
+ - fixtures/compass-sprites-app/config.rb
392
+ - fixtures/compass-sprites-app/source/images/icon/arrow_down.png
393
+ - fixtures/compass-sprites-app/source/images/icon/arrow_left.png
394
+ - fixtures/compass-sprites-app/source/images/icon/arrow_right.png
395
+ - fixtures/compass-sprites-app/source/images/icon/arrow_up.png
396
+ - fixtures/compass-sprites-app/source/stylesheets/site.css.scss
392
397
  - fixtures/content-for-app/config.rb
393
398
  - fixtures/content-for-app/source/content_for_haml.html.haml
394
399
  - fixtures/content-for-app/source/content_for_slim.html.slim
@@ -396,6 +401,10 @@ test_files:
396
401
  - fixtures/fonts-app/config.rb
397
402
  - fixtures/fonts-app/source/fonts/StMarie-Thin.otf
398
403
  - fixtures/fonts-app/source/stylesheets/fonts.css.sass
404
+ - fixtures/gzip-app/config.rb
405
+ - fixtures/gzip-app/source/index.html
406
+ - fixtures/gzip-app/source/javascripts/test.js
407
+ - fixtures/gzip-app/source/stylesheets/test.css
399
408
  - fixtures/liquid-app/config.rb
400
409
  - fixtures/liquid-app/data/test.yml
401
410
  - fixtures/liquid-app/data/test2.json
@@ -413,12 +422,15 @@ test_files:
413
422
  - fixtures/markdown-app/source/superscript.html.markdown
414
423
  - fixtures/markdown-app/source/tables.html.markdown
415
424
  - fixtures/minify-css-app/config.rb
425
+ - fixtures/minify-css-app/source/inline-css.html.haml
426
+ - fixtures/minify-css-app/source/more-css/site.css
416
427
  - fixtures/minify-css-app/source/stylesheets/site.css.sass
417
428
  - fixtures/minify-js-app/config.rb
418
429
  - fixtures/minify-js-app/source/inline-coffeescript.html.haml
419
430
  - fixtures/minify-js-app/source/inline-js.html.haml
420
431
  - fixtures/minify-js-app/source/javascripts/coffee_test.js.coffee
421
432
  - fixtures/minify-js-app/source/javascripts/js_test.js
433
+ - fixtures/minify-js-app/source/more-js/other.js
422
434
  - fixtures/passthrough-app/config.rb
423
435
  - fixtures/passthrough-app/source/.htaccess
424
436
  - fixtures/passthrough-app/source/inline-coffeescript.html.haml
@@ -458,6 +470,8 @@ test_files:
458
470
  - fixtures/sprockets-app/source/library/js/plain.js
459
471
  - fixtures/sprockets-app/source/library/js/sprockets_base.js
460
472
  - fixtures/sprockets-app/source/library/js/sprockets_sub.js
473
+ - fixtures/sprockets-app/source/library/js/vendored_include.js
474
+ - fixtures/sprockets-app/vendor/assets/javascripts/vendored_js.js
461
475
  - fixtures/sprockets-app2/config.rb
462
476
  - fixtures/sprockets-app2/data/test.yml
463
477
  - fixtures/sprockets-app2/data/test2.json