pax_global_header00006660000000000000000000000064124751647120014523gustar00rootroot0000000000000052 comment=6368d841225962526195c988cc7883e8b11767ea compass-h5bp-1.0.0/000077500000000000000000000000001247516471200140225ustar00rootroot00000000000000compass-h5bp-1.0.0/.editorconfig000066400000000000000000000004771247516471200165070ustar00rootroot00000000000000# For more information about the properties used in # this file, please see the EditorConfig documentation: # http://editorconfig.org/ root = true [*] charset = utf-8 end_of_line = lf indent_size = 4 indent_style = space insert_final_newline = true trim_trailing_whitespace = true [*.{scss,html,rb}] indent_size = 2 compass-h5bp-1.0.0/.gitignore000066400000000000000000000001311247516471200160050ustar00rootroot00000000000000*.gem .bundle Gemfile.lock pkg/* .rvmrc test/project/css/*.css vendor/bundle *.sublime-* compass-h5bp-1.0.0/Gemfile000066400000000000000000000000461247516471200153150ustar00rootroot00000000000000source "http://rubygems.org" gemspec compass-h5bp-1.0.0/LICENSE000066400000000000000000000020701247516471200150260ustar00rootroot00000000000000The MIT License (MIT) Copyright (c) 2011 Peter Gumeson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. compass-h5bp-1.0.0/README.md000066400000000000000000000070161247516471200153050ustar00rootroot00000000000000# An HTML5 Boilerplate Extension for Compass This is a [Compass extension](http://compass-style.org/help/tutorials/extensions/) of HTML5 mixins extracted from v5 of the [HTML5 Boilerplate](http://html5boilerplate.com). This gem provides only the CSS mixins and not the HTML or JavaScript templates. Implementation of these and similar files ought to be managed by the framework and language your project is built upon. ## Installation ### Two options: * Install using gem: `gem install compass-h5bp` * Or, if you're using [Bundler](http://gembundler.com/), you can install it via `bundle install` by placing the following line in your Gemfile: `gem 'compass-h5bp'` ## Usage First, you must add the plugin to your `config.rb` (your Compass configuration file). This can be done be placing an import line at the top of the file and is required to add the Compass plugin to the Sass load paths: require 'compass-h5bp' Inside your SCSS (or Sass) file, you must import the `h5bp` compass library before you can use any of the mixins: @import "h5bp"; ### Simple Implementation 1. Include the h5bp mixin: @include h5bp; 2. *Optional:* Redefine the mixin `h5bp-custom` to declare custom modifications to the HTML5 Boilerplate styles. ### Advanced Implementation To selectively import only certain elements, observe the following order. This ensures your custom modifications to the HTML Boilerplate styles will work as expected, by following the outline provided in the upstream HTML5 Boilerplate CSS. 1. Include the mixins that make up the [Normalize](http://necolas.github.com/normalize.css) portion of the HTML5 Boilerplate styles. You can include all of Normalize at once: @include h5bp-normalize; Or pull in only the portions of Normalize you want: @include normalize-base; @include normalize-display; @include normalize-links; @include normalize-semantics; @include normalize-embedded; @include normalize-grouping; @include normalize-forms; @include normalize-tables; 2. Include the opinionated default base styles: @include h5bp-base-styles; 3. You can include the styling for the browser upgrade warning: @include h5bp-browserupgrade; 4. Provide styling to the 404 page (requires that you specify the class `errorpage` for the html of the 404 document): @include h5bp-errorpage; 5. Define your custom modifications to the HTML5 Boilerplate styles here. 6. Let h5bp define some semantic helper classes. (e.g. `.clearfix`): @include h5bp-helpers; There are also specific mixins provided in `h5bp-helpers` you can call instead. 7. Include h5bp's predefined print style media query: @include h5bp-media; ## Caveats If you're coming from [compass-h5bp](https://github.com/sporkd/compass-h5bp), be aware that several mixins have had their name changed, and any mixin or feature that had been marked for deprecation has been removed. That being said, migration should be relatively simple. The order for the "Advanced Implementation" matters. It's important to note that "custom modifications to the HTML5 Boilerplate styles" means only that - the rest of your SCSS goes below everything listed. ## Acknowledgments [HTML5 Boilerplate](http://html5boilerplate.com), created by by Paul Irish and Divya Manian. Copyright (c) 2012 Peter Gumeson. You can read a [summary of the MIT license](https://tldrlegal.com/license/mit-license#summary), or see [LICENSE](https://github.com/tohuw/compass-h5bp/blob/master/LICENSE) for the full license. compass-h5bp-1.0.0/Rakefile000066400000000000000000000002621247516471200154670ustar00rootroot00000000000000require 'bundler/gem_tasks' require 'rake/testtask' Rake::TestTask.new :test do |t| t.libs << 'lib' t.test_files = FileList['test/**/*_test.rb'] end task :default => :test compass-h5bp-1.0.0/compass-h5bp.gemspec000066400000000000000000000017611247516471200176750ustar00rootroot00000000000000# -*- encoding: utf-8 -*- $LOAD_PATH.push File.expand_path('../lib', __FILE__) require 'compass/h5bp/version' Gem::Specification.new do |s| s.name = 'compass-h5bp' s.version = Compass::H5bp::VERSION s.platform = Gem::Platform::RUBY s.required_ruby_version = '~> 2.0' s.authors = ['Peter Gumeson'] s.email = 'gumeson@gmail.com' s.homepage = 'http://rubygems.org/gems/compass-h5bp' s.summary = 'Compass extension for HTML5 Boilerplate v5.0' s.description = 'Compass extension of HTML5 mixins extracted from the HTML5 Boilerplate project (h5bp.com)' s.license = 'MIT' s.files = `git ls-files`.split('\n') s.test_files = `git ls-files -- {test,spec,features}/*`.split('\n') s.executables = `git ls-files -- bin/*`.split('\n').map { |f| File.basename(f) } s.require_paths = ['lib'] s.add_runtime_dependency 'compass', '~> 1.0', '>= 1.0.3' end compass-h5bp-1.0.0/config.rb000066400000000000000000000010541247516471200156140ustar00rootroot00000000000000require 'compass/import-once/activate' # Require any additional compass plugins here. require 'compass-h5bp' css_dir = 'test/project/css' sass_dir = 'test/project/sass' # You can select your preferred output style here # (can be overridden via the command line): # output_style = :expanded or :nested or :compact or :compressed # To enable relative paths to assets via compass helper functions. Uncomment: # relative_assets = true # To disable debugging comments that display the # original location of your selectors. Uncomment: line_comments = false compass-h5bp-1.0.0/lib/000077500000000000000000000000001247516471200145705ustar00rootroot00000000000000compass-h5bp-1.0.0/lib/compass-h5bp.rb000066400000000000000000000000271247516471200174150ustar00rootroot00000000000000require 'compass/h5bp' compass-h5bp-1.0.0/lib/compass/000077500000000000000000000000001247516471200162355ustar00rootroot00000000000000compass-h5bp-1.0.0/lib/compass/h5bp.rb000066400000000000000000000003411247516471200174160ustar00rootroot00000000000000require 'compass/h5bp/version' module Compass # HTML5 Boilerplate v5 Compass Extension module Html5bp Compass::Frameworks.register( 'compass-h5bp', path: "#{File.dirname(__FILE__)}/../.." ) end end compass-h5bp-1.0.0/lib/compass/h5bp/000077500000000000000000000000001247516471200170735ustar00rootroot00000000000000compass-h5bp-1.0.0/lib/compass/h5bp/version.rb000066400000000000000000000001431247516471200211030ustar00rootroot00000000000000module Compass module H5bp VERSION = "1.0.0" HTML5_BOILERPLATE_VERSION = "5.0" end end compass-h5bp-1.0.0/stylesheets/000077500000000000000000000000001247516471200163765ustar00rootroot00000000000000compass-h5bp-1.0.0/stylesheets/_h5bp.scss000066400000000000000000000012511247516471200202670ustar00rootroot00000000000000// HTML5 Boilerplate // // What follows is the result of much research on cross-browser styling. // Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, // Kroc Camen, and the h5bp dev community and team. @import 'h5bp/normalize'; @import 'h5bp/main'; @import 'h5bp/browserupgrade'; @import 'h5bp/errorpage'; @import 'h5bp/helpers'; @import 'h5bp/media'; @mixin h5bp-custom { // Redefine this mixin to add custom modifications to H5BP styles. } @mixin h5bp { @include h5bp-normalize; @include h5bp-main; @include h5bp-browserupgrade; @include h5bp-errorpage; @include h5bp-custom; @include h5bp-helpers; @include h5bp-media; } compass-h5bp-1.0.0/stylesheets/h5bp/000077500000000000000000000000001247516471200172345ustar00rootroot00000000000000compass-h5bp-1.0.0/stylesheets/h5bp/_browserupgrade.scss000066400000000000000000000002541247516471200233240ustar00rootroot00000000000000// Browser Upgrade Message @mixin h5bp-browserupgrade { .browserupgrade { margin: 0.2em 0; background: #ccc; color: #000; padding: 0.2em 0; } } compass-h5bp-1.0.0/stylesheets/h5bp/_errorpage.scss000066400000000000000000000014621247516471200222610ustar00rootroot00000000000000@mixin h5bp-errorpage { html.errorpages { color: #888; display: table; font-family: sans-serif; height: 100%; text-align: center; width: 100%; * { line-height: 1.2; margin: 0; } body { display: table-cell; vertical-align: middle; margin: 2em auto; } h1 { color: #555; font-size: 2em; font-weight: 400; } p { margin: 0 auto; width: 280px; } @media only screen and (max-width: 280px) { body, p { width: 95%; } h1 { font-size: 1.5em; margin: 0 0 0.3em; } } } } compass-h5bp-1.0.0/stylesheets/h5bp/_helpers.scss000066400000000000000000000032641247516471200217370ustar00rootroot00000000000000// Helper classes @mixin h5bp-helpers { .hidden { @include h5bp-hidden; } .visuallyhidden { @include h5bp-visuallyhidden; } .invisible { @include h5bp-invisible; } .clearfix { @include h5bp-clearfix; } } // Hide from both screenreaders and browsers: // http://juicystudio.com/article/screen-readers-display-none.php @mixin h5bp-hidden { display: none !important; visibility: hidden; } // Hide only visually, but have it available for screenreaders: // http://snook.ca/archives/html_and_css/hiding-content-for-accessibility @mixin h5bp-visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; // Extends the .visuallyhidden class to allow the element to be focusable // when navigated to via the keyboard: https://www.drupal.org/node/897638 &.focusable:active, &.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } } // Hide visually and from screenreaders, but maintain layout @mixin h5bp-invisible { visibility: hidden; } // Clearfix: contain floats // // For modern browsers // 1. The space content is one way to avoid an Opera bug when the // `contenteditable` attribute is included anywhere else in the document. // Otherwise it causes space to appear at the top and bottom of elements // that receive the `clearfix` class. // 2. The use of `table` rather than `block` is only necessary if using // `:before` to contain the top-margins of child elements. @mixin h5bp-clearfix { &:before, &:after { content: " "; // 1 display: table; // 2 } &:after { clear: both; } } compass-h5bp-1.0.0/stylesheets/h5bp/_main.scss000066400000000000000000000026121247516471200212150ustar00rootroot00000000000000$font-color: #222 !default; $font-size: 1em !default; $line-height: 1.4 !default; $selected-background-color: #b3d4fc !default; $hr-color: #ccc !default; @mixin h5bp-main { @include h5bp-base-styles; } // Base styles: opinionated defaults @mixin h5bp-base-styles { html { color: $font-color; font-size: $font-size; line-height: $line-height; } // Remove text-shadow in selection highlight: // https://twitter.com/miketaylr/status/12228805301 // These selection rule sets have to be separate. // Customize the background color to match your design. ::-moz-selection { background: $selected-background-color; text-shadow: none; } ::selection { background: $selected-background-color; text-shadow: none; } // A better looking default horizontal rule hr { display: block; height: 1px; border: 0; border-top: 1px solid $hr-color; margin: 1em 0; padding: 0; } // Remove the gap between audio, canvas, iframes, // images, videos and the bottom of their containers: // https://github.com/h5bp/html5-boilerplate/issues/440 audio, canvas, iframe, img, svg, video { vertical-align: middle; } // Remove default fieldset styles. fieldset { border: 0; margin: 0; padding: 0; } // Allow only vertical resizing of textareas. textarea { resize: vertical; } } compass-h5bp-1.0.0/stylesheets/h5bp/_media.scss000066400000000000000000000031151247516471200213470ustar00rootroot00000000000000// Print styles // Inlined to avoid the additional HTTP request: // http://www.phpied.com/delay-loading-your-print-css/ @mixin h5bp-media { @media print { @include h5bp-media-print; } } @mixin h5bp-media-print { @media print { *, *:before, *:after { background: transparent !important; color: #000 !important; // Black prints faster: // http://www.sanbeiji.com/archives/953 box-shadow: none !important; text-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } // Don't show links that are fragment identifiers, // or use the `javascript:` pseudo protocol a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } // Printing Tables: // http://css-discuss.incutio.com/wiki/Printing_Tables thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } } } compass-h5bp-1.0.0/stylesheets/h5bp/_normalize.scss000066400000000000000000000172221247516471200222740ustar00rootroot00000000000000// normalize.css v3.0.2 | MIT License | git.io/normalize @mixin h5bp-normalize { @include normalize-base; @include normalize-display; @include normalize-links; @include normalize-semantics; @include normalize-embedded; @include normalize-grouping; @include normalize-forms; @include normalize-tables; } // Base @mixin normalize-base { // 1. Set default font family to sans-serif. // 2. Prevent iOS text size adjust after orientation change, without // disabling user zoom. html { font-family: sans-serif; // 1 -ms-text-size-adjust: 100%; // 2 -webkit-text-size-adjust: 100%; // 2 } // Remove default margin. body { margin: 0; } } // HTML5 display definitions @mixin normalize-display { // Correct `block` display not defined for any HTML5 element in IE 8/9. // Correct `block` display not defined for `details` or `summary` in IE 10/11 // and Firefox. // Correct `block` display not defined for `main` in IE 11. article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } // 1. Correct `inline-block` display not defined in IE 8/9. // 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. audio, canvas, progress, video { display: inline-block; // 1 vertical-align: baseline; // 2 } // Prevent modern browsers from displaying `audio` without controls. // Remove excess height in iOS 5 devices. audio:not([controls]) { display: none; height: 0; } // Address `[hidden]` styling not present in IE 8/9/10. // Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. [hidden], template { display: none; } } // Links @mixin normalize-links { // Remove the gray background color from active links in IE 10. a { background-color: transparent; } // Improve readability when focused and also mouse hovered in all browsers. a:active, a:hover { outline: 0; } } // Text-level semantics @mixin normalize-semantics { // Address styling not present in IE 8/9/10/11, Safari, and Chrome. abbr[title] { border-bottom: 1px dotted; } // Address style set to `bolder` in Firefox 4+, Safari, and Chrome. b, strong { font-weight: bold; } // Address styling not present in Safari and Chrome. dfn { font-style: italic; } // Address variable `h1` font-size and margin within `section` and `article` // contexts in Firefox 4+, Safari, and Chrome. h1 { font-size: 2em; margin: 0.67em 0; } // Address styling not present in IE 8/9. mark { background: #ff0; color: #000; } // Address inconsistent and variable font size in all browsers. small { font-size: 80%; } // Prevent `sub` and `sup` affecting `line-height` in all browsers. sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } } // Embedded content @mixin normalize-embedded { // Remove border when inside `a` element in IE 8/9/10. img { border: 0; } // Correct overflow not hidden in IE 9/10/11. svg:not(:root) { overflow: hidden; } } // Grouping content @mixin normalize-grouping { // Address margin not present in IE 8/9 and Safari. figure { margin: 1em 40px; } // Address differences between Firefox and other browsers. hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } // Contain overflow in all browsers. pre { overflow: auto; } // Address odd `em`-unit font size rendering in all browsers. code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } } // Forms @mixin normalize-forms { // Known limitation: by default, Chrome and Safari on OS X allow very limited // styling of `select`, unless a `border` property is set. // 1. Correct color not being inherited. // Known issue: affects color of disabled elements. // 2. Correct font properties not being inherited. // 3. Address margins set differently in Firefox 4+, Safari, and Chrome. button, input, optgroup, select, textarea { color: inherit; // 1 font: inherit; // 2 margin: 0; // 3 } // Address `overflow` set to `hidden` in IE 8/9/10/11. button { overflow: visible; } // Address inconsistent `text-transform` inheritance for `button` and `select`. // All other form control elements do not inherit `text-transform` values. // Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. // Correct `select` style inheritance in Firefox. button, select { text-transform: none; } // 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` // and `video` controls. // 2. Correct inability to style clickable `input` types in iOS. // 3. Improve usability and consistency of cursor style between image-type // `input` and others. button, html input[type="button"], // 1 input[type="reset"], input[type="submit"] { -webkit-appearance: button; // 2 cursor: pointer; // 3 } // Re-set default cursor for disabled elements. button[disabled], html input[disabled] { cursor: default; } // Remove inner padding and border in Firefox 4+. button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } // Address Firefox 4+ setting `line-height` on `input` using `!important` in // the UA stylesheet. input { line-height: normal; } // It's recommended that you don't attempt to style these elements. // Firefox's implementation doesn't respect box-sizing, padding, or width. // 1. Address box sizing set to `content-box` in IE 8/9/10. // 2. Remove excess padding in IE 8/9/10. input[type="checkbox"], input[type="radio"] { box-sizing: border-box; // 1 padding: 0; // 2 } // Fix the cursor style for Chrome's increment/decrement buttons. For certain // `font-size` values of the `input`, it causes the cursor style of the // decrement button to change from `default` to `text`. input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } // 1. Address `appearance` set to `searchfield` in Safari and Chrome. // 2. Address `box-sizing` set to `border-box` in Safari and Chrome // (include `-moz` to future-proof). input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } // Remove inner padding and search cancel button in Safari and Chrome on OS X. // Safari (but not Chrome) clips the cancel button when the search input has // padding (and `textfield` appearance). input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } // Define consistent border, margin, and padding. fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } // 1. Correct `color` not being inherited in IE 8/9/10/11. // 2. Remove padding so people aren't caught out if they zero out fieldsets. legend { border: 0; /* 1 */ padding: 0; /* 2 */ } // Remove default vertical scrollbar in IE 8/9/10/11. textarea { overflow: auto; } // Don't inherit the `font-weight` (applied by a rule above). // NOTE: the default cannot safely be changed in Chrome and Safari on OS X. optgroup { font-weight: bold; } } // Tables @mixin normalize-tables { // Remove most spacing between table cells. table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } } compass-h5bp-1.0.0/test/000077500000000000000000000000001247516471200150015ustar00rootroot00000000000000compass-h5bp-1.0.0/test/compass_h5bp_test.rb000066400000000000000000000034771247516471200207630ustar00rootroot00000000000000require 'test/unit' require 'compass' require 'compass-h5bp' require 'sass/plugin' require 'fileutils' PROJECT_DIR = File.join(File.dirname(__FILE__), 'project') ORIGINAL_OUTPUT_PATH = File.join(PROJECT_DIR, 'css', 'original.css') TEST_OUTPUT_PATH = File.join(PROJECT_DIR, 'css', 'test.css') ORIGINAL_NORMALIZE_OUTPUT_PATH = File.join( PROJECT_DIR, 'css', 'original_normalize.css' ) TEST_NORMALIZE_OUTPUT_PATH = File.join(PROJECT_DIR, 'css', 'test_normalize.css') # Test case for compass-h5bp class Compassh5bpTest < Test::Unit::TestCase def test_compass_version_matches_original FileUtils.rm_f ORIGINAL_OUTPUT_PATH FileUtils.rm_f TEST_OUTPUT_PATH FileUtils.rm_f ORIGINAL_NORMALIZE_OUTPUT_PATH FileUtils.rm_f TEST_NORMALIZE_OUTPUT_PATH Compass.reset_configuration! Compass.configuration do |config| config.environment = :production config.project_path = PROJECT_DIR config.sass_dir = 'sass' config.css_dir = 'css' config.cache = false config.output_style = :compact config.line_comments = false end args = Compass.configuration.to_compiler_arguments( logger: 'Compass::NullLogger.new' ) compiler = Compass::Compiler.new(*args) compiler.run original_css = read_and_normalize(ORIGINAL_OUTPUT_PATH) test_css = read_and_normalize(TEST_OUTPUT_PATH) original_normalize_css = read_and_normalize(ORIGINAL_NORMALIZE_OUTPUT_PATH) test_normalize_css = read_and_normalize(TEST_NORMALIZE_OUTPUT_PATH) assert_equal original_css, test_css assert_equal original_normalize_css, test_normalize_css end def read_and_normalize(file) File.open(file).read .gsub(/\/\*.+?\*\/\n/m, '') .gsub(/\n+/, "\n") .gsub(/\n +/, "\n") .gsub(/color: white;/, 'color: #ffffff;') .gsub(/#(.)(.)(.)\b/, '#\1\1\2\2\3\3') end end compass-h5bp-1.0.0/test/project/000077500000000000000000000000001247516471200164475ustar00rootroot00000000000000compass-h5bp-1.0.0/test/project/css/000077500000000000000000000000001247516471200172375ustar00rootroot00000000000000compass-h5bp-1.0.0/test/project/css/.gitkeep000066400000000000000000000000001247516471200206560ustar00rootroot00000000000000compass-h5bp-1.0.0/test/project/sass/000077500000000000000000000000001247516471200174205ustar00rootroot00000000000000compass-h5bp-1.0.0/test/project/sass/original.scss000066400000000000000000000131611247516471200221230ustar00rootroot00000000000000/* * What follows is the result of much research on cross-browser styling. * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, * Kroc Camen, and the h5bp dev community and team. */ /* ========================================================================== Base styles: opinionated defaults ========================================================================== */ html { color: #222; font-size: 1em; line-height: 1.4; } /* * Remove text-shadow in selection highlight: * https://twitter.com/miketaylr/status/12228805301 * * These selection rule sets have to be separate. * Customize the background color to match your design. */ ::-moz-selection { background: #b3d4fc; text-shadow: none; } ::selection { background: #b3d4fc; text-shadow: none; } /* * A better looking default horizontal rule */ hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } /* * Remove the gap between audio, canvas, iframes, * images, videos and the bottom of their containers: * https://github.com/h5bp/html5-boilerplate/issues/440 */ audio, canvas, iframe, img, svg, video { vertical-align: middle; } /* * Remove default fieldset styles. */ fieldset { border: 0; margin: 0; padding: 0; } /* * Allow only vertical resizing of textareas. */ textarea { resize: vertical; } /* ========================================================================== Browser Upgrade Prompt ========================================================================== */ .browserupgrade { margin: 0.2em 0; background: #ccc; color: #000; padding: 0.2em 0; } /* ========================================================================== Author's custom styles ========================================================================== */ /* ========================================================================== Helper classes ========================================================================== */ /* * Hide visually and from screen readers: * http://juicystudio.com/article/screen-readers-display-none.php */ .hidden { display: none !important; visibility: hidden; } /* * Hide only visually, but have it available for screen readers: * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility */ .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } /* * Extends the .visuallyhidden class to allow the element * to be focusable when navigated to via the keyboard: * https://www.drupal.org/node/897638 */ .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } /* * Hide visually and from screen readers, but maintain layout */ .invisible { visibility: hidden; } /* * Clearfix: contain floats * * For modern browsers * 1. The space content is one way to avoid an Opera bug when the * `contenteditable` attribute is included anywhere else in the document. * Otherwise it causes space to appear at the top and bottom of elements * that receive the `clearfix` class. * 2. The use of `table` rather than `block` is only necessary if using * `:before` to contain the top-margins of child elements. */ .clearfix:before, .clearfix:after { content: " "; /* 1 */ display: table; /* 2 */ } .clearfix:after { clear: both; } /* ========================================================================== EXAMPLE Media Queries for Responsive Design. These examples override the primary ('mobile first') styles. Modify as content requires. ========================================================================== */ @media only screen and (min-width: 35em) { /* Style adjustments for viewports that meet the condition */ } @media print, (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { /* Style adjustments for high resolution devices */ } /* ========================================================================== Print styles. Inlined to avoid the additional HTTP request: http://www.phpied.com/delay-loading-your-print-css/ ========================================================================== */ @media print { *, *:before, *:after { background: transparent !important; color: #000 !important; /* Black prints faster: http://www.sanbeiji.com/archives/953 */ box-shadow: none !important; text-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } /* * Don't show links that are fragment identifiers, * or use the `javascript:` pseudo protocol */ a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } /* * Printing Tables: * http://css-discuss.incutio.com/wiki/Printing_Tables */ thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } } compass-h5bp-1.0.0/test/project/sass/original_normalize.scss000066400000000000000000000171661247516471200242140ustar00rootroot00000000000000/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ /** * 1. Set default font family to sans-serif. * 2. Prevent iOS text size adjust after orientation change, without disabling * user zoom. */ html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } /** * Remove default margin. */ body { margin: 0; } /* HTML5 display definitions ========================================================================== */ /** * Correct `block` display not defined for any HTML5 element in IE 8/9. * Correct `block` display not defined for `details` or `summary` in IE 10/11 * and Firefox. * Correct `block` display not defined for `main` in IE 11. */ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } /** * 1. Correct `inline-block` display not defined in IE 8/9. * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */ audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ } /** * Prevent modern browsers from displaying `audio` without controls. * Remove excess height in iOS 5 devices. */ audio:not([controls]) { display: none; height: 0; } /** * Address `[hidden]` styling not present in IE 8/9/10. * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */ [hidden], template { display: none; } /* Links ========================================================================== */ /** * Remove the gray background color from active links in IE 10. */ a { background-color: transparent; } /** * Improve readability when focused and also mouse hovered in all browsers. */ a:active, a:hover { outline: 0; } /* Text-level semantics ========================================================================== */ /** * Address styling not present in IE 8/9/10/11, Safari, and Chrome. */ abbr[title] { border-bottom: 1px dotted; } /** * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */ b, strong { font-weight: bold; } /** * Address styling not present in Safari and Chrome. */ dfn { font-style: italic; } /** * Address variable `h1` font-size and margin within `section` and `article` * contexts in Firefox 4+, Safari, and Chrome. */ h1 { font-size: 2em; margin: 0.67em 0; } /** * Address styling not present in IE 8/9. */ mark { background: #ff0; color: #000; } /** * Address inconsistent and variable font size in all browsers. */ small { font-size: 80%; } /** * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } /* Embedded content ========================================================================== */ /** * Remove border when inside `a` element in IE 8/9/10. */ img { border: 0; } /** * Correct overflow not hidden in IE 9/10/11. */ svg:not(:root) { overflow: hidden; } /* Grouping content ========================================================================== */ /** * Address margin not present in IE 8/9 and Safari. */ figure { margin: 1em 40px; } /** * Address differences between Firefox and other browsers. */ hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } /** * Contain overflow in all browsers. */ pre { overflow: auto; } /** * Address odd `em`-unit font size rendering in all browsers. */ code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } /* Forms ========================================================================== */ /** * Known limitation: by default, Chrome and Safari on OS X allow very limited * styling of `select`, unless a `border` property is set. */ /** * 1. Correct color not being inherited. * Known issue: affects color of disabled elements. * 2. Correct font properties not being inherited. * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */ button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ } /** * Address `overflow` set to `hidden` in IE 8/9/10/11. */ button { overflow: visible; } /** * Address inconsistent `text-transform` inheritance for `button` and `select`. * All other form control elements do not inherit `text-transform` values. * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. * Correct `select` style inheritance in Firefox. */ button, select { text-transform: none; } /** * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` * and `video` controls. * 2. Correct inability to style clickable `input` types in iOS. * 3. Improve usability and consistency of cursor style between image-type * `input` and others. */ button, html input[type="button"], /* 1 */ input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } /** * Re-set default cursor for disabled elements. */ button[disabled], html input[disabled] { cursor: default; } /** * Remove inner padding and border in Firefox 4+. */ button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } /** * Address Firefox 4+ setting `line-height` on `input` using `!important` in * the UA stylesheet. */ input { line-height: normal; } /** * It's recommended that you don't attempt to style these elements. * Firefox's implementation doesn't respect box-sizing, padding, or width. * * 1. Address box sizing set to `content-box` in IE 8/9/10. * 2. Remove excess padding in IE 8/9/10. */ input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } /** * Fix the cursor style for Chrome's increment/decrement buttons. For certain * `font-size` values of the `input`, it causes the cursor style of the * decrement button to change from `default` to `text`. */ input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } /** * 1. Address `appearance` set to `searchfield` in Safari and Chrome. * 2. Address `box-sizing` set to `border-box` in Safari and Chrome * (include `-moz` to future-proof). */ input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } /** * Remove inner padding and search cancel button in Safari and Chrome on OS X. * Safari (but not Chrome) clips the cancel button when the search input has * padding (and `textfield` appearance). */ input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /** * Define consistent border, margin, and padding. */ fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } /** * 1. Correct `color` not being inherited in IE 8/9/10/11. * 2. Remove padding so people aren't caught out if they zero out fieldsets. */ legend { border: 0; /* 1 */ padding: 0; /* 2 */ } /** * Remove default vertical scrollbar in IE 8/9/10/11. */ textarea { overflow: auto; } /** * Don't inherit the `font-weight` (applied by a rule above). * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */ optgroup { font-weight: bold; } /* Tables ========================================================================== */ /** * Remove most spacing between table cells. */ table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } compass-h5bp-1.0.0/test/project/sass/test.scss000066400000000000000000000010611247516471200212720ustar00rootroot00000000000000@import "h5bp"; @include h5bp-main; @include h5bp-helpers; @include h5bp-browserupgrade; @media only screen and (min-width: 35em) { /* Style adjustments for viewports that meet the condition */ body { margin: 0; } //HACK: scss class can't be empty } @media print, (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { /* Style adjustments for high resolution devices */ body { margin: 0; } //HACK: scss class can't be empty } @media print { @include h5bp-media-print; } compass-h5bp-1.0.0/test/project/sass/test_normalize.scss000066400000000000000000000000511247516471200233500ustar00rootroot00000000000000@import "h5bp"; @include h5bp-normalize;