middleman-autoprefixer 1.0.1 → 1.1.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/.travis.yml +2 -1
- data/README.md +13 -2
- data/features/autoprefixer.feature +31 -5
- data/fixtures/block-app/config.rb +1 -0
- data/fixtures/cascading-off-app/config.rb +5 -0
- data/fixtures/cascading-off-app/source/index.html +0 -0
- data/fixtures/cascading-off-app/source/stylesheets/page.scss +3 -0
- data/fixtures/cascading-on-app/config.rb +8 -0
- data/fixtures/cascading-on-app/source/index.html +0 -0
- data/fixtures/cascading-on-app/source/stylesheets/page.scss +3 -0
- data/fixtures/default-app/config.rb +1 -0
- data/fixtures/default-app/source/index.html +0 -0
- data/fixtures/default-app/source/stylesheets/page.scss +4 -0
- data/fixtures/hash-app/config.rb +1 -1
- data/lib/middleman-autoprefixer/extension.rb +4 -16
- data/lib/middleman-autoprefixer/options.rb +25 -0
- data/lib/middleman-autoprefixer/processor.rb +23 -0
- data/lib/middleman-autoprefixer/version.rb +1 -1
- data/middleman-autoprefixer.gemspec +1 -1
- metadata +40 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 697ac4ef72021e86f320da0507a6c286cdc9ac39
|
4
|
+
data.tar.gz: 5b6260b627ef3e540b8bf7a7f6f17e3872ddddd5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebd61b6ebb36d00e598ca156e1d4b48faf313a22a2734df4ea4dee7cecfce3a9a1161a1462f037bf451404691f5dcb26f2aae16565115a8847adbd2a814e743c
|
7
|
+
data.tar.gz: 051bd3eb5f1fa41d168d8ff1638fc49f0d0465496cb88853ef4189a8a1ea71f7b017470634e7afad9b3b1cc7e2626c4a5a6ed93de55a6d58afb33db479c267fc
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -15,10 +15,21 @@ gem 'middleman-autoprefixer'
|
|
15
15
|
After installation, activate the extension in `config.rb`:
|
16
16
|
|
17
17
|
```ruby
|
18
|
-
activate :autoprefixer
|
18
|
+
activate :autoprefixer
|
19
19
|
```
|
20
20
|
|
21
|
-
|
21
|
+
## Configuration
|
22
|
+
|
23
|
+
The extension has 2 optionally configurable fields:
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
activate :autoprefixer do |config|
|
27
|
+
config.browsers = ['last 2 versions', 'Explorer >= 9']
|
28
|
+
config.cascade = false
|
29
|
+
end
|
30
|
+
```
|
31
|
+
|
32
|
+
Both fields take values (and use defaults) accordingly to [Autoprefixer’s](https://github.com/ai/autoprefixer#browsers) [documentation](https://github.com/ai/autoprefixer#visual-cascade).
|
22
33
|
|
23
34
|
## License
|
24
35
|
|
@@ -1,13 +1,39 @@
|
|
1
|
-
Feature: Postprocessing stylesheets with Autoprefixer
|
1
|
+
Feature: Postprocessing stylesheets with Autoprefixer in different configurations
|
2
2
|
|
3
|
-
Scenario:
|
3
|
+
Scenario: Using defaults
|
4
|
+
Given the Server is running at "default-app"
|
5
|
+
When I go to "/stylesheets/page.css"
|
6
|
+
Then I should not see "-ms-border-radius"
|
7
|
+
And I should see "border-radius"
|
8
|
+
|
9
|
+
Scenario: Passing options in a block
|
4
10
|
Given the Server is running at "block-app"
|
5
11
|
When I go to "/stylesheets/page.css"
|
6
12
|
Then I should see "-webkit-linear-gradient"
|
7
|
-
|
13
|
+
And I should see "-moz-linear-gradient"
|
8
14
|
|
9
|
-
Scenario:
|
15
|
+
Scenario: Passing options in a hash
|
10
16
|
Given the Server is running at "hash-app"
|
11
17
|
When I go to "/stylesheets/page.css"
|
12
18
|
Then I should see "-webkit-transition"
|
13
|
-
|
19
|
+
And I should not see "-moz-transition"
|
20
|
+
|
21
|
+
Scenario: Cascading is on
|
22
|
+
Given the Server is running at "cascading-on-app"
|
23
|
+
When I go to "/stylesheets/page.css"
|
24
|
+
Then I should see:
|
25
|
+
"""
|
26
|
+
-webkit-box-sizing: border-box;
|
27
|
+
-moz-box-sizing: border-box;
|
28
|
+
box-sizing: border-box;
|
29
|
+
"""
|
30
|
+
|
31
|
+
Scenario: Cascading is off
|
32
|
+
Given the Server is running at "cascading-off-app"
|
33
|
+
When I go to "/stylesheets/page.css"
|
34
|
+
Then I should see:
|
35
|
+
"""
|
36
|
+
-webkit-box-sizing: border-box;
|
37
|
+
-moz-box-sizing: border-box;
|
38
|
+
box-sizing: border-box;
|
39
|
+
"""
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
activate :autoprefixer
|
File without changes
|
data/fixtures/hash-app/config.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
activate :autoprefixer, browsers: 'Safari 6'
|
1
|
+
activate :autoprefixer, browsers: 'Safari 6', cascade: false
|
@@ -1,27 +1,15 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require_relative 'options'
|
2
|
+
require_relative 'processor'
|
3
3
|
|
4
4
|
module Middleman
|
5
5
|
module Autoprefixer
|
6
|
-
class Options < OpenStruct; end
|
7
|
-
|
8
6
|
class << self
|
9
|
-
def registered(app, options_hash={}, &block)
|
7
|
+
def registered(app, options_hash = {}, &block)
|
10
8
|
@@options = Options.new(options_hash)
|
11
9
|
yield @@options if block_given?
|
12
10
|
|
13
|
-
browsers = Array(@@options.browsers)
|
14
|
-
browsers = nil if browsers.empty?
|
15
|
-
|
16
11
|
app.after_configuration do
|
17
|
-
|
18
|
-
sprockets.register_postprocessor 'text/css', :autoprefixer do |_, data|
|
19
|
-
begin
|
20
|
-
autoprefixer.process(data).css
|
21
|
-
rescue
|
22
|
-
data
|
23
|
-
end
|
24
|
-
end
|
12
|
+
Processor.new(*@@options.params).configure(sprockets)
|
25
13
|
end
|
26
14
|
end
|
27
15
|
alias :included :registered
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Middleman
|
2
|
+
module Autoprefixer
|
3
|
+
class Options
|
4
|
+
attr_writer :browsers
|
5
|
+
attr_reader :config
|
6
|
+
|
7
|
+
def initialize(options_hash = {})
|
8
|
+
@browsers = options_hash[:browsers]
|
9
|
+
@config = options_hash.slice(:cascade)
|
10
|
+
end
|
11
|
+
|
12
|
+
def browsers
|
13
|
+
Array(@browsers)
|
14
|
+
end
|
15
|
+
|
16
|
+
def cascade=(value)
|
17
|
+
@config.merge!(cascade: value)
|
18
|
+
end
|
19
|
+
|
20
|
+
def params
|
21
|
+
[browsers, config]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'autoprefixer-rails'
|
2
|
+
|
3
|
+
module Middleman
|
4
|
+
module Autoprefixer
|
5
|
+
class Processor < AutoprefixerRails::Processor
|
6
|
+
def postprocess(context, content)
|
7
|
+
begin
|
8
|
+
process(content).css
|
9
|
+
rescue ExecJS::ProgramError => error
|
10
|
+
if error.message =~ /Can't parse CSS/
|
11
|
+
content
|
12
|
+
else
|
13
|
+
raise error
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def configure(sprockets_env)
|
19
|
+
sprockets_env.register_postprocessor 'text/css', :autoprefixer, &method(:postprocess)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.require_paths = ['lib']
|
18
18
|
|
19
19
|
spec.add_dependency 'middleman', '~> 3.2.0'
|
20
|
-
spec.add_dependency 'autoprefixer-rails', '~> 1.1.
|
20
|
+
spec.add_dependency 'autoprefixer-rails', '~> 1.1.20140302'
|
21
21
|
|
22
22
|
spec.add_development_dependency 'bundler', '~> 1.5.3'
|
23
23
|
spec.add_development_dependency 'rake', '~> 10.1.1'
|
metadata
CHANGED
@@ -1,97 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-autoprefixer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dominik Porada
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02
|
11
|
+
date: 2014-03-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: middleman
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 3.2.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.2.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: autoprefixer-rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.1.
|
33
|
+
version: 1.1.20140302
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.1.
|
40
|
+
version: 1.1.20140302
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 1.5.3
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.5.3
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 10.1.1
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 10.1.1
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: cucumber
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 1.3.10
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 1.3.10
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: aruba
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 0.5.4
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 0.5.4
|
97
97
|
description:
|
@@ -101,8 +101,8 @@ executables: []
|
|
101
101
|
extensions: []
|
102
102
|
extra_rdoc_files: []
|
103
103
|
files:
|
104
|
-
- .gitignore
|
105
|
-
- .travis.yml
|
104
|
+
- ".gitignore"
|
105
|
+
- ".travis.yml"
|
106
106
|
- Gemfile
|
107
107
|
- README.md
|
108
108
|
- Rakefile
|
@@ -111,12 +111,23 @@ files:
|
|
111
111
|
- fixtures/block-app/config.rb
|
112
112
|
- fixtures/block-app/source/index.html
|
113
113
|
- fixtures/block-app/source/stylesheets/page.scss
|
114
|
+
- fixtures/cascading-off-app/config.rb
|
115
|
+
- fixtures/cascading-off-app/source/index.html
|
116
|
+
- fixtures/cascading-off-app/source/stylesheets/page.scss
|
117
|
+
- fixtures/cascading-on-app/config.rb
|
118
|
+
- fixtures/cascading-on-app/source/index.html
|
119
|
+
- fixtures/cascading-on-app/source/stylesheets/page.scss
|
120
|
+
- fixtures/default-app/config.rb
|
121
|
+
- fixtures/default-app/source/index.html
|
122
|
+
- fixtures/default-app/source/stylesheets/page.scss
|
114
123
|
- fixtures/hash-app/config.rb
|
115
124
|
- fixtures/hash-app/source/index.html
|
116
125
|
- fixtures/hash-app/source/stylesheets/_link.sass
|
117
126
|
- fixtures/hash-app/source/stylesheets/page.scss
|
118
127
|
- lib/middleman-autoprefixer.rb
|
119
128
|
- lib/middleman-autoprefixer/extension.rb
|
129
|
+
- lib/middleman-autoprefixer/options.rb
|
130
|
+
- lib/middleman-autoprefixer/processor.rb
|
120
131
|
- lib/middleman-autoprefixer/version.rb
|
121
132
|
- lib/middleman_extension.rb
|
122
133
|
- middleman-autoprefixer.gemspec
|
@@ -130,12 +141,12 @@ require_paths:
|
|
130
141
|
- lib
|
131
142
|
required_ruby_version: !ruby/object:Gem::Requirement
|
132
143
|
requirements:
|
133
|
-
- -
|
144
|
+
- - ">="
|
134
145
|
- !ruby/object:Gem::Version
|
135
146
|
version: '0'
|
136
147
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
148
|
requirements:
|
138
|
-
- -
|
149
|
+
- - ">="
|
139
150
|
- !ruby/object:Gem::Version
|
140
151
|
version: '0'
|
141
152
|
requirements: []
|
@@ -150,6 +161,15 @@ test_files:
|
|
150
161
|
- fixtures/block-app/config.rb
|
151
162
|
- fixtures/block-app/source/index.html
|
152
163
|
- fixtures/block-app/source/stylesheets/page.scss
|
164
|
+
- fixtures/cascading-off-app/config.rb
|
165
|
+
- fixtures/cascading-off-app/source/index.html
|
166
|
+
- fixtures/cascading-off-app/source/stylesheets/page.scss
|
167
|
+
- fixtures/cascading-on-app/config.rb
|
168
|
+
- fixtures/cascading-on-app/source/index.html
|
169
|
+
- fixtures/cascading-on-app/source/stylesheets/page.scss
|
170
|
+
- fixtures/default-app/config.rb
|
171
|
+
- fixtures/default-app/source/index.html
|
172
|
+
- fixtures/default-app/source/stylesheets/page.scss
|
153
173
|
- fixtures/hash-app/config.rb
|
154
174
|
- fixtures/hash-app/source/index.html
|
155
175
|
- fixtures/hash-app/source/stylesheets/_link.sass
|