compass-h5bp 0.0.2 → 0.0.5

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/.gitignore CHANGED
@@ -2,4 +2,5 @@
2
2
  .bundle
3
3
  Gemfile.lock
4
4
  pkg/*
5
- .rvmrc
5
+ .rvmrc
6
+ test/project/css/*.css
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  Compass H5bp
2
2
  =========================
3
3
 
4
- This is a Compass extension of Html5 mixins extracted from v2 on Html5 Boilerplate
4
+ This is a Compass extension of Html5 mixins extracted from v3 on Html5 Boilerplate
5
5
  by Paul Irish and Divya Manian. This gem provides only the CSS mixins and not the
6
6
  html or javascript templates. This makes sense because any implementation of
7
7
  Html5 Boilerplate should be specific to the language and framework it's built on.
@@ -37,6 +37,7 @@ Then include the mixins that make up the Normalize portion of Html5
37
37
  Boilerplate's styles. http://necolas.github.com/normalize.css
38
38
 
39
39
  @include h5bp-display;
40
+ @include h5bp-selection;
40
41
  @include h5bp-base;
41
42
  @include h5bp-links;
42
43
  @include h5bp-typography;
@@ -52,6 +53,10 @@ Then (optionally) let H5bp define some semantic helper classes. (e.g. `.clearfix
52
53
 
53
54
  @include h5bp-helpers;
54
55
 
56
+ You can include the default Html5 Boilerplate Chrome Frame notification styling:
57
+
58
+ @include h5bp-chromeframe;
59
+
55
60
  Finally, you can include H5bp's predefined print style media query:
56
61
 
57
62
  @include h5bp-media;
data/Rakefile CHANGED
@@ -1 +1,9 @@
1
1
  require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new :test do |t|
5
+ t.libs << 'lib'
6
+ t.test_files = FileList['test/**/*_test.rb']
7
+ end
8
+
9
+ task :default => :test
@@ -1,6 +1,6 @@
1
1
  module Compass
2
2
  module H5bp
3
- VERSION = "0.0.2"
4
- HTML5_BOILERPLATE_VERSION = "2.0"
3
+ VERSION = "0.0.5"
4
+ HTML5_BOILERPLATE_VERSION = "3.0.2"
5
5
  end
6
6
  end
@@ -7,5 +7,6 @@
7
7
  // Detailed information about this CSS: h5bp.com/css
8
8
 
9
9
  @import "h5bp/normalize";
10
+ @import "h5bp/chromeframe";
10
11
  @import "h5bp/helpers";
11
- @import "h5bp/media";
12
+ @import "h5bp/media";
@@ -0,0 +1,7 @@
1
+ //
2
+ // Chrome Frame Prompt
3
+ //
4
+
5
+ @mixin h5bp-chromeframe {
6
+ .chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }
7
+ }
@@ -9,6 +9,8 @@
9
9
  .hidden { @include hidden; }
10
10
 
11
11
  .visuallyhidden { @include visually-hidden; }
12
+
13
+ .invisible { @include invisible; }
12
14
 
13
15
  .clearfix { @include micro-clearfix; }
14
16
 
@@ -52,5 +54,5 @@
52
54
  @mixin micro-clearfix {
53
55
  &:before, &:after { content: ""; display: table; }
54
56
  &:after { clear: both; }
55
- *zoom: 1;
57
+ & { *zoom: 1; }
56
58
  }
@@ -4,11 +4,13 @@
4
4
 
5
5
  $line-height: 1.4 !default;
6
6
  $font-color: #222 !default;
7
+ $font-family: sans-serif !default;
8
+ $font-size: 1em !default;
7
9
  $link-color: #00e !default;
8
10
  $link-hover-color: #06e !default;
9
11
  $link-visited-color: #551a8b !default;
10
12
  $selected-font-color: #fff !default;
11
- $selected-background-color: #ff5e99 !default;
13
+ $selected-background-color: #fe57a1 !default;
12
14
  $invalid-background-color: #f0dddd !default;
13
15
 
14
16
 
@@ -41,14 +43,13 @@ $invalid-background-color: #f0dddd !default;
41
43
  @mixin h5bp-base {
42
44
 
43
45
  // 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
44
- // 2. Force vertical scrollbar in non-IE
45
- // 3. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
46
+ // 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
46
47
 
47
- html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
48
+ html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
48
49
 
49
- body { margin: 0; font-size: 1em; line-height: $line-height; }
50
+ html, button, input, select, textarea { font-family: $font-family; color: $font-color; }
50
51
 
51
- body, button, input, select, textarea { font-family: sans-serif; color: $font-color; }
52
+ body { margin: 0; font-size: $font-size; line-height: $line-height; }
52
53
 
53
54
  }
54
55
 
@@ -128,7 +129,7 @@ $invalid-background-color: #f0dddd !default;
128
129
  @mixin h5bp-embeds {
129
130
 
130
131
  // 1. Improve image quality when scaled in IE7: h5bp.com/d
131
- // 2. Remove the gap between images and borders on image containers: h5bp.com/e
132
+ // 2. Remove the gap between images and borders on image containers: h5bp.com/i/440
132
133
 
133
134
  img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
134
135
 
@@ -159,7 +160,7 @@ $invalid-background-color: #f0dddd !default;
159
160
  // 1. Correct color not inheriting in IE6/7/8/9
160
161
  // 2. Correct alignment displayed oddly in IE6/7
161
162
 
162
- legend { border: 0; *margin-left: -7px; padding: 0; }
163
+ legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
163
164
 
164
165
  // 1. Correct font-size not inheriting in all browsers
165
166
  // 2. Remove margins in FF3/4 S5 Chrome
@@ -177,11 +178,15 @@ $invalid-background-color: #f0dddd !default;
177
178
 
178
179
  button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
179
180
 
181
+ // Re-set default cursor for disabled elements
182
+
183
+ button[disabled], input[disabled] { cursor: default; }
184
+
180
185
  // Consistent box sizing and appearance
181
186
 
182
- input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
187
+ input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
183
188
  input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
184
- input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
189
+ input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
185
190
 
186
191
  // Remove inner padding and border in FF3/4: h5bp.com/l
187
192
 
@@ -0,0 +1,42 @@
1
+ require 'test/unit'
2
+ require 'compass'
3
+ require 'compass-h5bp'
4
+ require 'sass/plugin'
5
+ require 'fileutils'
6
+
7
+ PROJECT_DIR = File.join(File.dirname(__FILE__), 'project')
8
+ ORIGINAL_OUTPUT_PATH = File.join(PROJECT_DIR, 'css', 'original.css')
9
+ TEST_OUTPUT_PATH = File.join(PROJECT_DIR, 'css', 'test.css')
10
+
11
+ class CompassH5bpTest < Test::Unit::TestCase
12
+
13
+ def test_compass_version_matches_original
14
+ FileUtils.rm_f ORIGINAL_OUTPUT_PATH
15
+ FileUtils.rm_f TEST_OUTPUT_PATH
16
+ Compass.reset_configuration!
17
+ Compass.configuration do |config|
18
+ config.environment = :production
19
+ config.project_path = PROJECT_DIR
20
+ config.sass_dir = 'sass'
21
+ config.css_dir = 'css'
22
+ config.cache = false
23
+ config.output_style = :compact
24
+ config.line_comments = false
25
+ end
26
+ args = Compass.configuration.to_compiler_arguments(:logger => Compass::NullLogger.new)
27
+ compiler = Compass::Compiler.new *args
28
+ compiler.run
29
+ original_css = read_and_normalize(ORIGINAL_OUTPUT_PATH)
30
+ test_css = read_and_normalize(TEST_OUTPUT_PATH)
31
+ assert_equal original_css, test_css
32
+ end
33
+
34
+ def read_and_normalize(file)
35
+ File.open(file).read.
36
+ gsub(/\/\*.+?\*\/\n/m, '').
37
+ gsub(/\n+/, "\n").
38
+ gsub(/\n +/, "\n").
39
+ gsub(/color: white;/, 'color: #ffffff;').
40
+ gsub(/#(.)(.)(.)\b/, '#\1\1\2\2\3\3')
41
+ end
42
+ end
File without changes
@@ -0,0 +1,295 @@
1
+ /*
2
+ * HTML5 Boilerplate
3
+ *
4
+ * What follows is the result of much research on cross-browser styling.
5
+ * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
6
+ * Kroc Camen, and the H5BP dev community and team.
7
+ *
8
+ * Detailed information about this CSS: h5bp.com/css
9
+ *
10
+ * ==|== normalize ==========================================================
11
+ */
12
+
13
+
14
+ /* =============================================================================
15
+ HTML5 display definitions
16
+ ========================================================================== */
17
+
18
+ article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
19
+ audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
20
+ audio:not([controls]) { display: none; }
21
+ [hidden] { display: none; }
22
+
23
+
24
+ /* =============================================================================
25
+ Base
26
+ ========================================================================== */
27
+
28
+ /*
29
+ * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
30
+ * 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
31
+ */
32
+
33
+ html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
34
+
35
+ html, button, input, select, textarea { font-family: sans-serif; color: #222; }
36
+
37
+ body { margin: 0; font-size: 1em; line-height: 1.4; }
38
+
39
+ /*
40
+ * Remove text-shadow in selection highlight: h5bp.com/i
41
+ * These selection declarations have to be separate
42
+ * Also: hot pink! (or customize the background color to match your design)
43
+ */
44
+
45
+ ::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }
46
+ ::selection { background: #fe57a1; color: #fff; text-shadow: none; }
47
+
48
+
49
+ /* =============================================================================
50
+ Links
51
+ ========================================================================== */
52
+
53
+ a { color: #00e; }
54
+ a:visited { color: #551a8b; }
55
+ a:hover { color: #06e; }
56
+ a:focus { outline: thin dotted; }
57
+
58
+ /* Improve readability when focused and hovered in all browsers: h5bp.com/h */
59
+ a:hover, a:active { outline: 0; }
60
+
61
+
62
+ /* =============================================================================
63
+ Typography
64
+ ========================================================================== */
65
+
66
+ abbr[title] { border-bottom: 1px dotted; }
67
+
68
+ b, strong { font-weight: bold; }
69
+
70
+ blockquote { margin: 1em 40px; }
71
+
72
+ dfn { font-style: italic; }
73
+
74
+ hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
75
+
76
+ ins { background: #ff9; color: #000; text-decoration: none; }
77
+
78
+ mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
79
+
80
+ /* Redeclare monospace font family: h5bp.com/j */
81
+ pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
82
+
83
+ /* Improve readability of pre-formatted text in all browsers */
84
+ pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
85
+
86
+ q { quotes: none; }
87
+ q:before, q:after { content: ""; content: none; }
88
+
89
+ small { font-size: 85%; }
90
+
91
+ /* Position subscript and superscript content without affecting line-height: h5bp.com/k */
92
+ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
93
+ sup { top: -0.5em; }
94
+ sub { bottom: -0.25em; }
95
+
96
+
97
+ /* =============================================================================
98
+ Lists
99
+ ========================================================================== */
100
+
101
+ ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
102
+ dd { margin: 0 0 0 40px; }
103
+ nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
104
+
105
+
106
+ /* =============================================================================
107
+ Embedded content
108
+ ========================================================================== */
109
+
110
+ /*
111
+ * 1. Improve image quality when scaled in IE7: h5bp.com/d
112
+ * 2. Remove the gap between images and borders on image containers: h5bp.com/i/440
113
+ */
114
+
115
+ img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
116
+
117
+ /*
118
+ * Correct overflow not hidden in IE9
119
+ */
120
+
121
+ svg:not(:root) { overflow: hidden; }
122
+
123
+
124
+ /* =============================================================================
125
+ Figures
126
+ ========================================================================== */
127
+
128
+ figure { margin: 0; }
129
+
130
+
131
+ /* =============================================================================
132
+ Forms
133
+ ========================================================================== */
134
+
135
+ form { margin: 0; }
136
+ fieldset { border: 0; margin: 0; padding: 0; }
137
+
138
+ /* Indicate that 'label' will shift focus to the associated form element */
139
+ label { cursor: pointer; }
140
+
141
+ /*
142
+ * 1. Correct color not inheriting in IE6/7/8/9
143
+ * 2. Correct alignment displayed oddly in IE6/7
144
+ */
145
+
146
+ legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
147
+
148
+ /*
149
+ * 1. Correct font-size not inheriting in all browsers
150
+ * 2. Remove margins in FF3/4 S5 Chrome
151
+ * 3. Define consistent vertical alignment display in all browsers
152
+ */
153
+
154
+ button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
155
+
156
+ /*
157
+ * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
158
+ */
159
+
160
+ button, input { line-height: normal; }
161
+
162
+ /*
163
+ * 1. Display hand cursor for clickable form elements
164
+ * 2. Allow styling of clickable form elements in iOS
165
+ * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)
166
+ */
167
+
168
+ button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
169
+
170
+ /*
171
+ * Re-set default cursor for disabled elements
172
+ */
173
+
174
+ button[disabled], input[disabled] { cursor: default; }
175
+
176
+ /*
177
+ * Consistent box sizing and appearance
178
+ */
179
+
180
+ input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
181
+ input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
182
+ input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
183
+
184
+ /*
185
+ * Remove inner padding and border in FF3/4: h5bp.com/l
186
+ */
187
+
188
+ button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
189
+
190
+ /*
191
+ * 1. Remove default vertical scrollbar in IE6/7/8/9
192
+ * 2. Allow only vertical resizing
193
+ */
194
+
195
+ textarea { overflow: auto; vertical-align: top; resize: vertical; }
196
+
197
+ /* Colors for form validity */
198
+ input:valid, textarea:valid { }
199
+ input:invalid, textarea:invalid { background-color: #f0dddd; }
200
+
201
+
202
+ /* =============================================================================
203
+ Tables
204
+ ========================================================================== */
205
+
206
+ table { border-collapse: collapse; border-spacing: 0; }
207
+ td { vertical-align: top; }
208
+
209
+
210
+ /* =============================================================================
211
+ Chrome Frame Prompt
212
+ ========================================================================== */
213
+
214
+ .chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }
215
+
216
+
217
+ /* ==|== primary styles =====================================================
218
+ Author:
219
+ ========================================================================== */
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+ /* ==|== media queries ======================================================
237
+ EXAMPLE Media Query for Responsive Design.
238
+ This example overrides the primary ('mobile first') styles
239
+ Modify as content requires.
240
+ ========================================================================== */
241
+
242
+ @media only screen and (min-width: 35em) {
243
+ /* Style adjustments for viewports that meet the condition */
244
+ /* HACK needed to make Sass compile correctly */
245
+ body { margin: 0; }
246
+ }
247
+
248
+
249
+
250
+ /* ==|== non-semantic helper classes ========================================
251
+ Please define your styles before this section.
252
+ ========================================================================== */
253
+
254
+ /* For image replacement */
255
+ .ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
256
+ .ir br { display: none; }
257
+
258
+ /* Hide from both screenreaders and browsers: h5bp.com/u */
259
+ .hidden { display: none !important; visibility: hidden; }
260
+
261
+ /* Hide only visually, but have it available for screenreaders: h5bp.com/v */
262
+ .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
263
+
264
+ /* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
265
+ .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
266
+
267
+ /* Hide visually and from screenreaders, but maintain layout */
268
+ .invisible { visibility: hidden; }
269
+
270
+ /* Contain floats: h5bp.com/q */
271
+ .clearfix:before, .clearfix:after { content: ""; display: table; }
272
+ .clearfix:after { clear: both; }
273
+ .clearfix { *zoom: 1; }
274
+
275
+
276
+
277
+ /* ==|== print styles =======================================================
278
+ Print styles.
279
+ Inlined to avoid required HTTP connection: h5bp.com/r
280
+ ========================================================================== */
281
+
282
+ @media print {
283
+ * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
284
+ a, a:visited { text-decoration: underline; }
285
+ a[href]:after { content: " (" attr(href) ")"; }
286
+ abbr[title]:after { content: " (" attr(title) ")"; }
287
+ .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */
288
+ pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
289
+ thead { display: table-header-group; } /* h5bp.com/t */
290
+ tr, img { page-break-inside: avoid; }
291
+ img { max-width: 100% !important; }
292
+ @page { margin: 0.5cm; }
293
+ p, h2, h3 { orphans: 3; widows: 3; }
294
+ h2, h3 { page-break-after: avoid; }
295
+ }
@@ -0,0 +1,13 @@
1
+ @import "h5bp";
2
+
3
+ @include h5bp-normalize;
4
+ @include h5bp-chromeframe;
5
+
6
+ @media only screen and (min-width: 35em) {
7
+ /* Style adjustments for viewports that meet the condition */
8
+ /* HACK needed to make Sass compile correctly */
9
+ body { margin: 0; }
10
+ }
11
+
12
+ @include h5bp-helpers;
13
+ @include h5bp-media;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compass-h5bp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-11 00:00:00.000000000 -08:00
12
+ date: 2012-02-26 00:00:00.000000000 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: compass
17
- requirement: &2152723460 !ruby/object:Gem::Requirement
17
+ requirement: &2168545700 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,7 +22,7 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2152723460
25
+ version_requirements: *2168545700
26
26
  description: ! ' Compass extension of Html5 mixins extracted from v2 of Paul Irish''s
27
27
  Html5 Boilerplate project '
28
28
  email:
@@ -41,9 +41,14 @@ files:
41
41
  - lib/compass/h5bp.rb
42
42
  - lib/compass/h5bp/version.rb
43
43
  - stylesheets/_h5bp.scss
44
+ - stylesheets/h5bp/_chromeframe.scss
44
45
  - stylesheets/h5bp/_helpers.scss
45
46
  - stylesheets/h5bp/_media.scss
46
47
  - stylesheets/h5bp/_normalize.scss
48
+ - test/compass_h5bp_test.rb
49
+ - test/project/css/.gitkeep
50
+ - test/project/sass/original.scss
51
+ - test/project/sass/test.scss
47
52
  has_rdoc: true
48
53
  homepage: http://rubygems.org/gems/compass-h5bp
49
54
  licenses: []
@@ -69,4 +74,8 @@ rubygems_version: 1.6.2
69
74
  signing_key:
70
75
  specification_version: 3
71
76
  summary: Compass extension for Html5 Boilerplate v2.0
72
- test_files: []
77
+ test_files:
78
+ - test/compass_h5bp_test.rb
79
+ - test/project/css/.gitkeep
80
+ - test/project/sass/original.scss
81
+ - test/project/sass/test.scss