From 31102cc45db439889d3b273f8ea4ce2e3f46c1e7 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Wed, 2 Mar 2016 15:16:05 -0600 Subject: [PATCH 01/22] remove ruby, browsersync, linting, pretty much everything --- .gitignore | 7 +- .idea/.name | 1 - .idea/butler.iml | 8 - .idea/misc.xml | 14 - .idea/modules.xml | 8 - .idea/vcs.xml | 6 - .idea/workspace.xml | 127 -- Gemfile | 10 - Gemfile.lock | 49 - Gulpfile.js | 248 +--- LICENSE | 2 +- README.md | 2 + app/config/sculpin_kernel.yml | 3 - app/config/sculpin_site.yml | 3 +- config.rb | 25 - fed-init.sh | 54 - gulp_config.sh | 64 - package.json | 37 +- source/code/_views/default.html | 2 +- source/code/_views/styleguide.html | 2 +- source/code/css/styles.css | 1929 +--------------------------- source/code/sass/_init.scss | 19 - source/code/sass/styles.scss | 48 +- 23 files changed, 97 insertions(+), 2571 deletions(-) delete mode 100644 .idea/.name delete mode 100644 .idea/butler.iml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml delete mode 100644 .idea/workspace.xml delete mode 100644 Gemfile delete mode 100644 Gemfile.lock delete mode 100644 config.rb delete mode 100644 fed-init.sh delete mode 100644 gulp_config.sh mode change 100755 => 100644 package.json diff --git a/.gitignore b/.gitignore index 467030a..80d8a16 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,7 @@ Rakefile -*.DS_Store -*.sass-cache/ +.DS_Store +.sass-cache/ _site/ output_dev/ output_prod/ -node_modules/ -test-results/ \ No newline at end of file +node_modules/ \ No newline at end of file diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index c8d32eb..0000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -butler \ No newline at end of file diff --git a/.idea/butler.iml b/.idea/butler.iml deleted file mode 100644 index c956989..0000000 --- a/.idea/butler.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 19f74da..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 36b3598..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 6564d52..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml deleted file mode 100644 index 68ead14..0000000 --- a/.idea/workspace.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1436839146804 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Gemfile b/Gemfile deleted file mode 100644 index dbebe50..0000000 --- a/Gemfile +++ /dev/null @@ -1,10 +0,0 @@ -source "https://rubygems.org" - -gem 'gemrat' - -gem 'compass', '>= 1.1.0.alpha.3' -gem 'breakpoint', '>= 2.4.2' -gem 'zen-grids', '>= 1.4.0' -gem 'sass', '>= 3.4.6' -gem 'scss-lint', '0.38.0' -gem 'scss_lint_reporter_checkstyle', '0.1.0' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index a96cd18..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,49 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - breakpoint (2.5.0) - sass (~> 3.3) - sassy-maps (< 1.0.0) - chunky_png (1.3.4) - colored (1.2) - compass (1.1.0.alpha.3) - chunky_png (~> 1.2) - compass-core (~> 1.1.0.alpha.3) - compass-import-once (~> 1.0.5) - rb-fsevent (>= 0.9.3) - rb-inotify (>= 0.9) - sass (>= 3.3.13, < 3.5) - compass-core (1.1.0.alpha.3) - multi_json (~> 1.0) - sass (>= 3.3.0, < 3.5) - compass-import-once (1.0.5) - sass (>= 3.2, < 3.5) - ffi (1.9.8) - gemrat (0.4.6) - colored (= 1.2) - multi_json (1.11.0) - rainbow (2.0.0) - rb-fsevent (0.9.4) - rb-inotify (0.9.5) - ffi (>= 0.5.0) - sass (3.4.13) - sassy-maps (0.4.0) - sass (~> 3.3) - scss-lint (0.38.0) - rainbow (~> 2.0) - sass (~> 3.4.1) - scss_lint_reporter_checkstyle (0.1.0) - zen-grids (1.4) - sass (>= 3.1) - -PLATFORMS - ruby - -DEPENDENCIES - breakpoint (>= 2.4.2) - compass (>= 1.1.0.alpha.3) - gemrat - sass (>= 3.4.6) - scss-lint (= 0.38.0) - scss_lint_reporter_checkstyle (= 0.1.0) - zen-grids (>= 1.4.0) diff --git a/Gulpfile.js b/Gulpfile.js index 6f81b60..1e722a7 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -1,215 +1,67 @@ +// Require the dependencies so that we can use their functionality var gulp = require('gulp'); -var paths = require('compass-options').dirs(); -var compass = require('gulp-compass'); -var prefix = require('gulp-autoprefixer'); -var changed = require('gulp-changed'); -var imagemin = require('gulp-imagemin'); -var browserSync = require('browser-sync'); -var cp = require('child_process'); -var scsslint = require('gulp-scss-lint'); -var cssmin = require('gulp-cssmin'); -var sitespeed = require('gulp-sitespeedio'); -var jshint = require('gulp-jshint'); -var jscs = require('gulp-jscs'); -var uglify = require('gulp-uglify'); -var rename = require('gulp-rename'); -var inject = require('gulp-inject'); -var noop = function () {}; -var stylish = require('gulp-jscs-stylish'); -var checkstyleFileReporter = require('jshint-checkstyle-file-reporter'); - -var bs_drupal = browserSync.create("proxy1"); -var bs_prototype = browserSync.create("proxy2"); - -var config = require('./gulp_config'); - -// Inject Files into HTML -gulp.task('inject-default', function () { - var target = gulp.src(['source/code/_views/default.html','source/code/_views/styleguide.html']); - // It's not necessary to read the files (will speed up things), we're only after their paths: - var sources = gulp.src(['source/code/css/*.css', 'source/code/js/*.js'], {read: false}); - // Inject but trim the path to be relative to HTML - return target.pipe(inject(sources, {ignorePath: 'source', addRootSlash: true })) - .pipe(gulp.dest('source/code/_views')); -}); - -// Inject Minifed Files into HTML -gulp.task('inject-min', function () { - var target = gulp.src(['source/code/_views/*.html']); - // It's not necessary to read the files (will speed up things), we're only after their paths: - var sources = gulp.src(['source/code/min/*.css', 'source/code/min/*.js'], {read: false}); - // Inject but trim the path to be relative to HTML - return target.pipe(inject(sources, {ignorePath: 'source', addRootSlash: true })) - .pipe(gulp.dest('source/code/_views')); -}); - -// Lint Sass -gulp.task('sass-lint', function(){ - return gulp.src(['source/code/sass/*.scss', 'source/code/sass/**/*.scss']) - .pipe(scsslint({ - 'bundleExec': true, - 'config': '.scss-lint.yml', - 'reporterOutputFormat': 'Checkstyle', - 'filePipeOutput': 'scssReport.xml' - })) - .pipe(gulp.dest('test-results')); -}); - -// JS Test -// define report filename -process.env.JSHINT_CHECKSTYLE_FILE = 'test-results/jshint.xml'; -gulp.task('js-test', function(){ - return gulp.src(['source/code/js/*.js']) - .pipe(jshint()) - .pipe(jscs()) - .on('error', noop) - .pipe(stylish.combineWithHintResults()) - .pipe(jshint.reporter('default')) - .pipe(jshint.reporter(checkstyleFileReporter)); -}); - -// Compile Sass -gulp.task('prototype-only-sass', function() { - browserSync.notify('Running: Sass compiling'); - return gulp.src('source/code/sass/' + '/**/*.scss') - .pipe(compass({ - config_file: 'config.rb', - css: 'source/code/css/', - sass: 'source/code/sass/', - time: true, - bundle_exec: true - })) - .pipe(prefix("last 2 versions", "> 1%")) - .pipe(gulp.dest('source/code/css/')) - .pipe(gulp.dest('output_dev/code/css/')) - .pipe(browserSync.reload({stream:true})); -}); +var sass = require('gulp-sass'); +var sourcemaps = require('gulp-sourcemaps'); +var autoprefixer = require('gulp-autoprefixer'); +var exec = require('gulp-exec'); + +// Define variables we'll use later on +// @todo: these should all be changed to config variables +var scss = ['source/code/sass/*.scss', 'source/code/sass/**/*.scss']; +var css = 'source/code/css/'; +var sculpin = '/'; + +// Sass options +// @todo: this probably needs a prod option as well +var sassDev = { + errLogtoConsole: true, + outputStyle: 'expanded' +}; + +// Autoprefixer options +// @todo: this might need to be set on a project basis +var browserSupport = { + browsers: ['last 2 versions', '> 5%'] +}; // Compile Sass -gulp.task('prototype-drupal-sass', function () { - browserSync.notify('Running: Sass compiling'); - return gulp.src('source/code/sass/' + '/**/*.scss') - .pipe(compass({ - config_file: 'config.rb', - css: 'source/code/css/', - sass: 'source/code/sass/', - time: true, - bundle_exec: true - })) - .pipe(prefix("last 2 versions", "> 1%")) - .pipe(gulp.dest('source/code/css/')) - .pipe(bs_drupal.reload({stream: true})) - .pipe(bs_prototype.reload({stream: true})); -}); - -// Minify CSS -gulp.task('css', function() { - return gulp.src('source/code/css/*.css') - .pipe(cssmin()) - .pipe(rename({ - suffix: '.min' - })) - .pipe(gulp.dest('source/code/min')); +gulp.task('compile-sass', function() { + return gulp + // Find all `.scss` from the `source/code/sass` + .src(scss) + .pipe(sourcemaps.init()) + // Run Sass on those files + .pipe(sass(sassDev).on('error',sass.logError)) + // Write the sourcemap for the CSS + .pipe(sourcemaps.write()) + // Update the stylesheets to add vendor prefixes + .pipe(autoprefixer(browserSupport)) + // Put the CSS in the destination dir + .pipe(gulp.dest(css)); }); -// Minify JS -gulp.task('js-min', function() { - return gulp.src('source/code/js/*.js') - .pipe(uglify()) - .pipe(rename({ - suffix: '.min' - })) - .pipe(gulp.dest('source/code/min')); -}); - -// Optimize Images -gulp.task('images', function() { - return gulp.src('source/code/imgs/' + '/**/*') - .pipe(changed('source/code/imgs/')) - .pipe(gulp.dest('source/code/min')); -}); // Sculpin Development -gulp.task('sculpin-build', function (done) { - browserSync.notify('Running: $ sculpin build'); - return cp.spawn('sculpin', ['generate'], {stdio: 'inherit'}) - .on('close', done); -}); - -// Rebuild Sculpin -gulp.task('sculpin-rebuild', ['sculpin-build'], function () { - browserSync.reload(); +gulp.task('sculpin-watch', function () { + gulp.src(sculpin) + .pipe(exec('sculpin generate --watch --server')); }); -// Browser Sync for Auto Reloading if there is a prototype only. -gulp.task('browser-sync-prototype-only', [config.compile_mode, 'sculpin-build'], function() { - browserSync({ - server: { - baseDir: 'output_dev' - } - }); -}); - -// Browser Sync for Auto Reloading if there is a drupal site. -gulp.task('browser-sync-prototype-drupal', [config.compile_mode, 'sculpin-build'], function () { - bs_drupal.init({ - proxy: config.drupal_site_path, - port: 3010, - ui: { - port: 3011 - } - }); - - bs_prototype.init({ - server: { - baseDir: './' - }, - port: 3012, - ui: { - port: 3013 - } - }) - -}); - -// Prototype Only Sitespeed.io Task -gulp.task('prototype-only-sitespeed', sitespeed({ - url: 'http://localhost:3000/', - deepth: 1, - html: true, - resultBaseDir: 'test-results', - no: 6 -})); - -// Prototype and Drupal Sitespeed.io Task -gulp.task('prototype-drupal-sitespeed', sitespeed({ - urls: ['http://localhost:3012/', config.drupal_site_path], - deepth: 1, - html: true, - resultBaseDir: 'test-results', - no: 6 -})); - // Watch for Changes gulp.task('watch', function() { - gulp.watch('source/code/sass' + '/**/*.scss', [config.compile_mode]); - gulp.watch('source/code/imgs' + '/**/*', function() { - runSequence(['images'], ['sculpin-rebuild']) - }); - gulp.watch(['source/code/_views/*.html', 'source/styleguide/*.html'], ['sculpin-rebuild']); + return gulp + // Watch the scss folder for change + // and run `compile-sass` task when something happens + .watch(scss, ['compile-sass']) + // When there is a change + // log a message in the console + .on('change', function (event) { + console.log('File ' + event.path + ' was ' + event.type + ', running tasks...'); + }); }); -// Set Test task -gulp.task('test', [config.speedtest_mode, 'sass-lint', 'js-test']); - // Set Develop task -gulp.task('develop', ['inject-default', config.browsersync_mode, 'watch']); - -// Set Optimize task -gulp.task('optimize', ['images', 'css', 'js-min'], function() { - // Don't run inject until files have been minified - gulp.start('inject-min'); -}); +gulp.task('develop', ['compile-sass', 'sculpin-watch', 'watch']); // Set default task gulp.task('default', ['develop']); diff --git a/LICENSE b/LICENSE index 018574f..d4f91b7 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2015 Palantir.net +Copyright (c) 2016 Palantir.net Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/README.md b/README.md index 2302cbf..285c57b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +# Butler is currently under construction + # Butler - Sculpin Style Guide The beginnings of a Sculpin based style guide creation tool. Now with Gulp and Bundler integration. diff --git a/app/config/sculpin_kernel.yml b/app/config/sculpin_kernel.yml index 69ab5ee..8768db5 100644 --- a/app/config/sculpin_kernel.yml +++ b/app/config/sculpin_kernel.yml @@ -3,9 +3,6 @@ sculpin: ignore: # Sass code doesn't need to be sent to the live server. - "code/sass/" - # @todo I don't know why the "*" is needed in this path to make the file - # actually be excluded but it is. - - "code/config.rb*" - "test-results" sculpin_content_types: styleguides: diff --git a/app/config/sculpin_site.yml b/app/config/sculpin_site.yml index 77dac8b..b77ace0 100644 --- a/app/config/sculpin_site.yml +++ b/app/config/sculpin_site.yml @@ -2,4 +2,5 @@ # via `site.*`. So for example, {{ site.title }} can be used # in a template to get the contents of the `title` key. title: Sculpin Styleguide Starter -# url: +# @todo: can we make this url a variable that gets set to the gh-pages site? +# url: diff --git a/config.rb b/config.rb deleted file mode 100644 index 321e1f0..0000000 --- a/config.rb +++ /dev/null @@ -1,25 +0,0 @@ -# Require any additional compass plugins installed on your system. -require 'zen-grids' -require 'breakpoint' - -# Set this to the root of your project when deployed: -http_path = "/" -css_dir = "code/css" -sass_dir = "code/sass" -images_dir = "code/img" -javascripts_dir = "code/js" - -# 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 - -# If you prefer the indented syntax, you might want to regenerate this -# project again passing --syntax sass, or you can uncomment this: -# preferred_syntax = :sass -# and then run: -# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass diff --git a/fed-init.sh b/fed-init.sh deleted file mode 100644 index 8ab5a2e..0000000 --- a/fed-init.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env bash - -#Checks to be sure Bundler and NodeJS are installed before trying to use them. -dependency_fail=false -command -v bundler >/dev/null 2>&1 || { echo "Bundler is required but could not be found. Aborting."; dependency_fail="true"; } -command -v npm >/dev/null 2>&1 || { echo "NodeJS is required but could not be found. Aborting."; dependency_fail="true"; } - -if [ $dependency_fail = "true" ]; then - echo "Please install dependencies listed above and try again. View README for more information." - exit -fi - - -# If the project has bundler support. -if [ -e Gemfile ]; then - echo "Installing Bundler dependencies globally." - sudo bundle install; -fi - -# If the project has Gulp support. -if [ -e Gulpfile.js ]; then - # Ensure Gulp is globally available. We can safely assume at this point that - # NPM and node are installed, so we can just use NPM to install gulp if it - # isn't already. - command -v gulp >/dev/null 2>&1 || { echo "Installing Gulp globally to enable gulp command."; sudo npm install -g gulp; } - - echo "Installing Gulp related packages and dependencies locally." - # --save-dev flag will cause the package.json file to be updated with the - # versions of the modules which were installed. - if grep -Fq "devDependencies" package.json - then - echo "Dev dependencies already declared in package.json. Installing from package.json." - sudo npm install - else - echo "Dev dependencies have not been declared in package.json. Installing from fed-init.sh file." - sudo npm install browser-sync compass-options gulp gulp-autoprefixer gulp-changed gulp-compass gulp-cssmin gulp-imagemin gulp-inject gulp-jscs gulp-jscs-stylish gulp-jshint gulp-rename gulp-scss-lint gulp-sitespeedio gulp-uglify jshint-checkstyle-file-reporter --save-dev - echo "package.json file has been updated with the version which were installed. -It is *STRONGLY* recommended that you immediately commit and push the file so that all team members are using the same versions of NPM modules." - fi - sudo chmod 774 package.json -fi - -# If node_modules exists delete all .info files -if [ -e node_modules/ ]; then - sudo find node_modules/ -name '*.info' -type f -delete -fi - -echo "Dependencies installed, please refer to README for available Butler commands." - -# If config file doesn't exist, assume that this is a fresh initialization. -# If it exists, assume this is a reinstallation of requirements, and exit. -if [ ! -e gulp_config.js ]; then - sh ./gulp_config.sh -fi diff --git a/gulp_config.sh b/gulp_config.sh deleted file mode 100644 index a78a409..0000000 --- a/gulp_config.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env bash - -# If there is not a configuration file, force generation. Otherwise, ask. -if [ -e gulp_config.js ]; then - #Check if the user wishes to generate a configuration file. - echo "Would you like to generate a configuration file? -WARNING: THIS WILL ERASE YOUR CURRENT CONFIGURATION FILE. [y/N]" - read configuration_request - else - configuration_request='yes' -fi - -case $configuration_request in - [yY][eE][sS]|[yY]) - cat > gulp_config.js << EOF -var config = {}; - -EOF - - echo "Will this project have a Drupal site? [y/N]" - read drupal_site - - case $drupal_site in - [yY][eE][sS]|[yY]) - echo "config.browsersync_mode = \"browser-sync-prototype-drupal\";" >> gulp_config.js - echo 'Please provide the full address at which the site can be viewed. Eg: http://localhost/my_project' - read drupal_site_path - echo "config.drupal_site_path = \"$drupal_site_path\";" >> gulp_config.js - echo "config.compile_mode = \"prototype-drupal-sass\";" >> gulp_config.js - echo "config.speedtest_mode = \"prototype-drupal-sitespeed\";" >> gulp_config.js - - echo "DON'T KILL KITTENS: READ THIS FULLY. Would you like to install the link_css module to enable live reloading at this time and are you on a Drupal 7 site? Note that if you are running your Drupal site on a Virtual Box, you *MUST* be running this command from inside the virtual box. If you are not, the module will download but fail to install. If you are on a Drupal 8 site, C'thulu will devour you.[y/N]" - read link_css_install - case $link_css_install in - [yY][eE][sS]|[yY]) - drush dl link_css - drush en link_css -y - drush cc all - ;; - esac - - echo 'Initialization complete. Exiting.' - ;; - *) - echo "config.browsersync_mode = \"browser-sync-prototype-only\";" >> gulp_config.js - echo "config.compile_mode = \"prototype-only-sass\";" >> gulp_config.js - echo "config.speedtest_mode = \"prototype-only-sitespeed\";" >> gulp_config.js - - echo 'Initialization complete. Exiting.' - - ;; - esac - cat >> gulp_config.js << EOF - -module.exports = config; -EOF - ;; - *) - echo 'Exited without overwriting file.' - ;; -esac - - - diff --git a/package.json b/package.json old mode 100755 new mode 100644 index 3a62452..383e54b --- a/package.json +++ b/package.json @@ -1,39 +1,26 @@ { - "name": "fed-automation", + "name": "butler", "version": "1.0.0", - "description": "The beginnings of a Sculpin based style guide creation tool.", - "main": "index.js", + "description": "This is a stater-kit for Palantir.net style guide", + "main": "Gulpfile.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "postinstall": "find node_modules/ -name '*.info' -type f -delete" + "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", - "url": "https://github.com/palantirnet/butler.git" + "url": "git+https://github.com/palantirnet/butler.git" }, - "author": "", - "license": "ISC", + "author": "Palantir.net", + "license": "MIT", "bugs": { "url": "https://github.com/palantirnet/butler/issues" }, - "homepage": "https://github.com/palantirnet/butler", + "homepage": "https://github.com/palantirnet/butler#readme", "devDependencies": { - "browser-sync": "^2.11.1", - "compass-options": "^0.1.1", - "gulp": "^3.9.0", + "gulp": "^3.9.1", "gulp-autoprefixer": "^3.1.0", - "gulp-changed": "^1.3.0", - "gulp-compass": "^2.1.0", - "gulp-cssmin": "^0.1.7", - "gulp-imagemin": "^2.4.0", - "gulp-inject": "^3.0.0", - "gulp-jscs": "^3.0.2", - "gulp-jscs-stylish": "^1.3.0", - "gulp-jshint": "^2.0.0", - "gulp-rename": "^1.2.2", - "gulp-scss-lint": "^0.3.9", - "gulp-sitespeedio": "0.0.8", - "gulp-uglify": "^1.5.1", - "jshint-checkstyle-file-reporter": "0.0.1" + "gulp-exec": "^2.1.2", + "gulp-sass": "^2.2.0", + "gulp-sourcemaps": "^1.6.0" } } diff --git a/source/code/_views/default.html b/source/code/_views/default.html index 89962f7..b2316c5 100644 --- a/source/code/_views/default.html +++ b/source/code/_views/default.html @@ -5,7 +5,7 @@ {% block title %}{{ page.title }}{% endblock %} | {{ site.title }} - + diff --git a/source/code/_views/styleguide.html b/source/code/_views/styleguide.html index 2078124..2280d59 100644 --- a/source/code/_views/styleguide.html +++ b/source/code/_views/styleguide.html @@ -5,7 +5,7 @@ {% block title %}{{ page.title }}{% endblock %} | {{ site.title }} - + diff --git a/source/code/css/styles.css b/source/code/css/styles.css index 8714d0a..b2cbe27 100644 --- a/source/code/css/styles.css +++ b/source/code/css/styles.css @@ -1,1935 +1,8 @@ -@charset "UTF-8"; /** * @file * Centralize your imports here. * Styles are organized using the SMACSS technique. * @see http://smacss.com/book/ */ -/* Import Sass mixins, variables, Compass modules, etc. */ -/* body */ -/* Link (a:) */ -/* Blockquote*/ -/* Figcaption */ -/* forms */ -/* Buttons */ -/** - * @file - * Define your custom Sass mixins and extends here. - * @see http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#defining_a_mixin - */ -/* ========================================================================== - Typography grooming extends - ========================================================================== */ -/* Tight tracking */ -h1, h2, h3 { - letter-spacing: -0.0125em; -} - -/* Open tracking */ -h5, h6 { - letter-spacing: 0.1em; -} - -/* Style larger text with a tighter tracking, change weight, etc. */ -h1, h2, h3 { - font-weight: 700; -} - -/* Style all caps with a slightly open tracking. */ -h5, h6 { - text-transform: uppercase; -} - -/* ========================================================================== - Clearfix extend - ========================================================================== */ -/** - * Applies a clearfix ruleset using a placeholder selector. Placeholder selectors - * do not get compiled uless they are called - removing the nesting issues that - * can otherwise occur with extends. - */ -/* ============================================================== - Visually hidden extend - ============================================================== */ -/** - * Element-invisible as defined by snook.ca - * @see http://snook.ca/archives/html_and_css/hiding-content-for-accessibility - */ -.element-invisible, -.element-focusable { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px, 1px, 1px, 1px); -} - -/* Turns off the element-invisible effect. */ -.element-focusable:active, .element-focusable:focus { - position: static !important; - clip: auto; - height: auto; - width: auto; - overflow: auto; -} - -/* ============================================================== - Transition mixin - ============================================================== */ -/* HTML element (SMACSS base) rules */ -/** - * @file - * Normalize.css is intended to be used as an alternative to CSS resets. - * - * This file is a slight fork of these original sources: - * - normalize.css v2.1.2 | MIT License | git.io/normalize - * - normalize.scss v2.1.2 | MIT/GPLv2 License | bit.ly/normalize-with-compass - * - * It's suggested that you read the normalize.scss file and customise it to meet - * your needs, rather then including the file in your project and overriding the - * defaults later in your CSS. - * @see http://nicolasgallagher.com/about-normalize-css/ - * - * Also: @see http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/ - * @see http://snook.ca/archives/html_and_css/no_css_reset/ - */ -/** - * HTML5 display definitions - */ -/* Correct `block` display not defined in IE 8/9. */ -article, -aside, -details, -figcaption, -figure, -footer, -header, -main, -nav, -section, -summary { - display: block; -} - -/* Correct `inline-block` display not defined in IE 8/9. */ -audio, -canvas, -video { - display: inline-block; -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ -audio:not([controls]) { - display: none; - height: 0; -} - -/* Address styling not present in IE 8/9. */ -[hidden] { - display: none; -} - -/** - * Base - * - * Instead of relying on the fonts that are available on a user's computer, you - * can use web fonts which, like images, are resources downloaded to the user's - * browser. Because of the bandwidth and rendering resources required, web fonts - * should be used with care. - * - * Numerous resources for web fonts can be found on Google. Here are a few - * websites where you can find Open Source fonts to download: - * - http://www.fontsquirrel.com/fontface - * - http://www.theleagueofmoveabletype.com - * - * In order to use these fonts, you will need to convert them into formats - * suitable for web fonts. We recommend the free-to-use Font Squirrel's - * Font-Face Generator: - * http://www.fontsquirrel.com/fontface/generator - * - * The following is an example @font-face declaration. This font can then be - * used in any ruleset using a property like this: font-family: Example, serif; - * - * Since we're using Sass, you'll need to declare your font faces here, then you - * can add them to the font variables in the _base.scss partial. - */ -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Correct text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - * 4. Makes it pretty — banishes chunky type. - */ -html { - font-family: Helvetica, Arial, "Nimbus Sans L", sans-serif; - /* 1 */ - font-weight: 400; - font-size: 93.75%; - /* 3 */ - -ms-text-size-adjust: 100%; - /* 2 */ - -webkit-text-size-adjust: 100%; - /* 2 */ - -webkit-font-smoothing: antialiased; - /* 4 */ - text-rendering: optimizeLegibility; - /* 4 */ - color: #444444; - background: #ffffff; - line-height: 1.6em; -} -@media (min-width: 600px) { - html { - font-size: 105%; - } -} -@media (min-width: 900px) { - html { - font-size: 116.25%; - } -} -@media (min-width: 1100px) { - html { - font-size: 127.5%; - } -} - -/* Remove default margin. */ -body { - margin: 0; - padding: 0; -} - -/** - * Links - * - * The order of link states are based on Eric Meyer's article: - * http://meyerweb.com/eric/thoughts/2007/06/11/who-ordered-the-link-states - */ -a:link, -a:visited { - color: #888888; - text-decoration: none; -} - -a:hover, -a:focus, -a:active { - transition: all 0.5s ease-out; - color: #F0F0F0; - text-decoration: underline; -} - -/* Address `outline` inconsistency between Chrome and other browsers. */ -a:focus { - outline: thin dotted; -} - -/* Improve readability when focused and also mouse hovered in all browsers. */ -a:active, -a:hover { - outline: 0; -} - -/** - * Typography - * - * To achieve a pleasant vertical rhythm, we use Compass' Vertical Rhythm mixins - * so that the line height of our base font becomes the basic unit of vertical - * measurement. We use multiples of that unit to set the top and bottom margins - * for our block level elements and to set the line heights of any fonts. - * For more information, see http://24ways.org/2006/compose-to-a-vertical-rhythm - */ -/* Set 1 unit of vertical rhythm on the top and bottom margin. */ -p, -pre { - margin: 0 0 1em 0; -} - -blockquote { - /* Also indent the quote on both sides. */ - margin: rhythm(1); - color: #888888; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari 5, and Chrome. - */ -h1 { - /* Set the font-size and line-height while keeping a proper vertical rhythm. */ - font-size: 1.95em; - line-height: 1.33333em; - /* Set 1 unit of vertical rhythm on the top and bottom margins. */ - margin-top: 1.23077em; - margin-bottom: 0.30769em; -} - -h2 { - font-size: 1.56em; - line-height: 1.53846em; - margin-top: 1.53846em; - margin-bottom: 0.38462em; -} - -h3 { - font-size: 1.25em; - line-height: 1.76em; - margin-top: 1.92em; - margin-bottom: 0.48em; -} - -h4 { - font-size: 1em; - line-height: 1.6em; - margin-top: 2.4em; - margin-bottom: 0.6em; -} - -h5 { - font-size: 0.8em; - line-height: 1.75em; - margin-top: 3em; - margin-bottom: 0.5em; -} - -h6 { - font-weight: 400; - font-size: 0.8em; - line-height: 1.75em; - margin-top: 2em; - margin-bottom: 0.5em; -} - -/* Address styling not present in IE 8/9, Safari 5, and Chrome. */ -abbr[title] { - border-bottom: 1px dotted; -} - -/* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ -b, -strong { - font-weight: 700; -} - -/* Address styling not present in Safari 5 and Chrome. */ -dfn { - font-style: italic; -} - -/* Address differences between Firefox and other browsers. */ -hr { - box-sizing: content-box; - height: 0; - border: 1px solid #ddd; - padding-bottom: -1px; - margin: 1.6em 0; -} - -/* Address styling not present in IE 8/9. */ -mark { - background: #ff0; - color: #000; -} - -/* Correct font family set oddly in Safari 5 and Chrome. */ -code, -kbd, -pre, -samp, -tt, -var { - font-family: "Courier New", "DejaVu Sans Mono", monospace, sans-serif; - font-size: 1em; - line-height: 1.6em; -} - -/* Improve readability of pre-formatted text in all browsers. */ -pre { - white-space: pre-wrap; -} - -/* Set consistent quote types. */ -q { - quotes: "\201C" "\201D" "\2018" "\2019"; -} - -/* 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; -} - -/** - * Lists - */ -dl, -menu, -ol, -ul { - /* Address margins set differently in IE 6/7. */ - margin: 0 0 0.8em 0; -} - -ol ol, -ol ul, -ul ol, -ul ul { - /* Turn off margins on nested lists. */ - margin: 0 0 0.8em 0; -} - -dd { - margin: 0 0 0 rhythm(1); - /* LTR */ -} - -/* Address paddings set differently in IE 6/7. */ -menu, -ol, -ul { - padding: 0 0 0 rhythm(1); - /* LTR */ -} - -/** - * Embedded content and figures - * - * @todo Look into adding responsive embedded video. - */ -img { - /* Remove border when inside `a` element in IE 8/9. */ - border: 0; - /* Suppress the space beneath the baseline */ - vertical-align: bottom; - /* Responsive images */ - max-width: 100%; - /* Correct IE 8 not scaling image height when resized. */ - width: auto; -} - -figcaption { - color: #888888; - font-style: italic; - margin-top: 0.5em; - font-size: 0.8em; - line-height: 2.1em; -} - -/* Responsive video styles for youtube and vimeo. - * Requires a "video-wrapper" class on the - * tag containing the iframe embed code. -*/ -.video-wrapper { - position: relative; - padding-bottom: 56.25%; - /* 16:9 ratio */ - height: 0; -} - -.video-wrapper iframe { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -/** - * Correct overflow displayed oddly in IE 9. - */ -svg:not(:root) { - overflow: hidden; -} - -/* Address margin not present in IE 8/9 and Safari 5. */ -figure { - margin: 1.2em 0; -} - -/** - * Forms - */ -/* Define consistent border, margin, and padding. */ -fieldset { - margin: 0 2px; - /* Apply borders and padding that keep the vertical rhythm. */ - border-color: #c0c0c0; - border-top-width: 0.06667em; - border-top-style: solid; - padding-top: 0.21333em; - border-bottom-width: 0.06667em; - border-bottom-style: solid; - padding-bottom: 0.45333em; - border-left-width: 0.06667em; - border-left-style: solid; - padding-left: 0.45333em; - border-right-width: 0.06667em; - border-right-style: solid; - padding-right: 0.45333em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Correct alignment displayed oddly in IE 6/7. - */ -legend { - border: 0; - /* 1 */ - padding: 0; - /* 2 */ -} - -/** - * 1. Correct font family not being inherited in all browsers. - * 2. Correct font size not being inherited in all browsers. - * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. - * 4. Improve appearance and consistency with IE 6/7. - * 5. Keep form elements constrained in their containers. - */ -button, -input, -select, -textarea { - font-family: inherit; - /* 1 */ - font-size: 100%; - /* 2 */ - margin: 0; - /* 3 */ - max-width: 100%; - /* 5 */ - box-sizing: border-box; - /* 5 */ -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ -button, -input { - line-height: normal; -} - -/** - * 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 Chrome, Safari 5+, and IE 8+. - * Correct `select` style inheritance in Firefox 4+ and Opera. - */ -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. - * 4. Remove inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ -button, -html input[type="button"], -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; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9. - * 2. Remove excess padding in IE 8/9. - * 3. Remove excess padding in IE 7. - * Known issue: excess padding remains in IE 6. - */ -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - /* 1 */ - padding: 0; - /* 2 */ -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome - * (include `-moz` to future-proof). - */ -input[type="search"] { - -webkit-appearance: textfield; - /* 1 */ - box-sizing: content-box; - /* 2 */ -} - -/** - * Remove inner padding and search cancel button in Safari 5 and Chrome - * on OS X. - */ -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* Remove inner padding and border in Firefox 4+. */ -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * 1. Remove default vertical scrollbar in IE 8/9. - * 2. Improve readability and alignment in all browsers. - */ -textarea { - overflow: auto; - /* 1 */ - vertical-align: top; - /* 2 */ -} - -/* Drupal-style form labels. */ -label { - display: block; -} -/** - * SITE SPECIFIC form element styles. Adapted from purecss, under the Yahoo! Inc. BSD license - * Please visit http://purecss.io/ for more information - * purecss.io: Copyright 2014 Yahoo! Inc. All rights reserved. - */ -input[type="text"], -input[type="password"], -input[type="email"], -input[type="url"], -input[type="date"], -input[type="month"], -input[type="time"], -input[type="datetime"], -input[type="datetime-local"], -input[type="week"], -input[type="number"], -input[type="search"], -input[type="tel"], -input[type="color"], -select, -textarea { - box-sizing: border-box; - color: #888888; - -webkit-user-select: none; - -webkit-appearance: none; - background: #ffffff; - width: 100%; - text-indent: .5em; - border: 1px solid #F0F0F0; - outline: none; - transition: all 0.1s ease-out; -} -input[type="text"]:hover, input[type="text"]:focus, input[type="text"]:active, -input[type="password"]:hover, -input[type="password"]:focus, -input[type="password"]:active, -input[type="email"]:hover, -input[type="email"]:focus, -input[type="email"]:active, -input[type="url"]:hover, -input[type="url"]:focus, -input[type="url"]:active, -input[type="date"]:hover, -input[type="date"]:focus, -input[type="date"]:active, -input[type="month"]:hover, -input[type="month"]:focus, -input[type="month"]:active, -input[type="time"]:hover, -input[type="time"]:focus, -input[type="time"]:active, -input[type="datetime"]:hover, -input[type="datetime"]:focus, -input[type="datetime"]:active, -input[type="datetime-local"]:hover, -input[type="datetime-local"]:focus, -input[type="datetime-local"]:active, -input[type="week"]:hover, -input[type="week"]:focus, -input[type="week"]:active, -input[type="number"]:hover, -input[type="number"]:focus, -input[type="number"]:active, -input[type="search"]:hover, -input[type="search"]:focus, -input[type="search"]:active, -input[type="tel"]:hover, -input[type="tel"]:focus, -input[type="tel"]:active, -input[type="color"]:hover, -input[type="color"]:focus, -input[type="color"]:active, -select:hover, -select:focus, -select:active, -textarea:hover, -textarea:focus, -textarea:active { - border: 1px solid #444444; - outline: none; -} - -input[type="text"], -input[type="password"], -input[type="email"], -input[type="url"], -input[type="date"], -input[type="month"], -input[type="time"], -input[type="datetime"], -input[type="datetime-local"], -input[type="week"], -input[type="number"], -input[type="search"], -input[type="tel"], -input[type="color"], -select { - height: 2.5em; -} - -/* -Need to separate out the :not() selector from the rest of the CSS 2.1 selectors -since IE8 won't execute CSS that contains a CSS3 selector. -*/ -input:not([type]) { - box-sizing: border-box; - color: #888888; - -webkit-user-select: none; - -webkit-appearance: none; - background: #F0F0F0; - width: 100%; - text-indent: .5em; - border: 1px solid #888888; - outline: none; - transition: all 0.1s ease-out; -} -input:not([type]):hover, input:not([type]):focus, input:not([type]):active { - border: 1px solid #444444; - outline: none; -} - -/* Chrome (as of v.32/34 on OS X) needs additional room for color to display. */ -/* May be able to remove this tweak as color inputs become more standardized across browsers. */ -input[type="color"] { - padding: 0.2em 0.5em; -} - -/* -Need to separate out the :not() selector from the rest of the CSS 2.1 selectors -since IE8 won't execute CSS that contains a CSS3 selector. -*/ -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted #444444; - outline: 1px auto #444444; -} - -input[type="text"][disabled], -input[type="password"][disabled], -input[type="email"][disabled], -input[type="url"][disabled], -input[type="date"][disabled], -input[type="month"][disabled], -input[type="time"][disabled], -input[type="datetime"][disabled], -input[type="datetime-local"][disabled], -input[type="week"][disabled], -input[type="number"][disabled], -input[type="search"][disabled], -input[type="tel"][disabled], -input[type="color"][disabled], -select[disabled], -textarea[disabled] { - cursor: not-allowed; - background-color: #F0F0F0; - color: #888888; -} - -/* -Need to separate out the :not() selector from the rest of the CSS 2.1 selectors -since IE8 won't execute CSS that contains a CSS3 selector. -*/ -input:not([type])[disabled] { - cursor: not-allowed; - background-color: #F0F0F0; - color: #888888; -} - -input[readonly], -select[readonly], -textarea[readonly] { - background: #F0F0F0; - color: #888888; - border-color: #888888; -} - -input:focus:invalid, -textarea:focus:invalid, -select:focus:invalid { - color: #b94a48; - border-color: #ee5f5b; -} - -input:focus:invalid:focus, -textarea:focus:invalid:focus, -select:focus:invalid:focus { - border-color: #e9322d; -} - -input[type="file"]:focus:invalid:focus, -input[type="radio"]:focus:invalid:focus, -input[type="checkbox"]:focus:invalid:focus { - outline-color: #e9322d; -} - -input[type="checkbox"], -input[type="radio"] { - position: relative; - top: 7px; - margin-right: .5em; - float: left; -} - -select { - box-sizing: border-box; - width: 100%; - -webkit-appearance: none; - border-radius: 0; - height: 2em; - text-indent: .5em; - background-color: #ffffff; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkU4QTMzNkUyNDAwQzExRTNBOEY4OTE4N0E1NkQ4QjVCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkU4QTMzNkUzNDAwQzExRTNBOEY4OTE4N0E1NkQ4QjVCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RThBMzM2RTA0MDBDMTFFM0E4Rjg5MTg3QTU2RDhCNUIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RThBMzM2RTE0MDBDMTFFM0E4Rjg5MTg3QTU2RDhCNUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4x37VGAAAAWklEQVR42mI0NjZeysDAEMWAHyxlAhKZQPwAj6L7QJwFUvgJiKOB+C8WRX+gcp+YoALHgLgZi0KQ2HEQgwlJsAWIjyLxjwBxK4yDrBBkdQwQf4DiGGTnAAQYAGJbEyV4nwHtAAAAAElFTkSuQmCC); - background-repeat: no-repeat; - background-position: 97% 50%; - border: 1px solid #F0F0F0; - outline: none; - transition: all 0.1s ease-out; -} -select:hover, select:focus, select:active { - outline: 0; - border: 1px solid #888888; -} - -select[multiple] { - height: auto; -} - -fieldset { - margin: 0; - padding: 0.2em 0 0.6em; - border: 0; -} - -legend { - display: block; - width: 100%; - padding: 0.4em 0; - margin-bottom: 1.2em; -} - -input + input, -select + select, -input + select, -select + input { - margin-top: .5em; -} - -button { - background: #888888; - border: 1px solid transparent; - color: #ffffff; - margin: 0.8em 0; - padding: 0.8em; - transition: all 0.1s ease-out; -} - -button:hover { - background: #444444; - color: #ffffff; -} - -button:focus { - outline-style: dotted; - outline-color: #444444; - outline-width: 1px; -} - -button[type="reset"] { - color: #888888; - font-size: 14px; - text-decoration: underline; - background: transparent; - border: none; - padding: 0.8em 0.8em; -} - -button[type="reset"]:hover { - color: #444444; -} - -/* Styles for placeholder text */ -::-webkit-input-placeholder { - color: #F0F0F0; -} - -:-moz-placeholder { - /* Firefox 18- */ - color: #F0F0F0; -} - -::-moz-placeholder { - /* Firefox 19+ */ - color: #F0F0F0; -} - -:-ms-input-placeholder { - color: #F0F0F0; -} - -/* ========================================================================== - Tables - ========================================================================== */ -table { - /* Remove most spacing between table cells. */ - border-collapse: collapse; - border-spacing: 0; - /* Prevent cramped-looking tables */ - /* width: 100%; */ - /* Add vertical rhythm margins. */ - margin-top: 0.8em; - margin-bottom: 0.8em; -} - -/* Layout rules */ -/** - * @file - * Define zen grids base settings here. - * @see http://zengrids.com - */ -/* - * Center the page. - */ -.container { - /* For screen sizes larger than 1200px, prevent excessively long lines of text - by setting a max-width. */ - margin-left: auto; - margin-right: auto; - min-width: 260px; - /* enforces a min-width in FF. */ -} -@media (min-width: 600px) { - .container { - width: 90%; - } -} -@media (min-width: 900px) { - .container { - max-width: 1400px; - } -} - -/* - * Apply the shared properties of grid items in a single, efficient ruleset. - */ -.container, -.grid-item { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} - -/* - * Containers for grid items and flow items. - */ -.container:before, .container:after { - content: ""; - display: table; -} -.container:after { - clear: both; -} - -.container { - padding-left: 0; - padding-right: 0; -} - -/** - * @file - * Layout rules for full-width content - */ -.l-1up { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} - -/** - * @file - * Layout rules for two thirds / one third (66/33) content - */ -.l-66-33--1 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-66-33--1 { - float: left; - width: 66.66667%; - margin-left: 0%; - margin-right: -66.66667%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-66-33--2 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-66-33--2 { - clear: none; - float: left; - width: 33.33333%; - margin-left: 66.66667%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -/** - * @file - * Layout rules for one third / two thirds (33/66) content - */ -.l-33-66--1 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-33-66--1 { - float: left; - width: 33.33333%; - margin-left: 0%; - margin-right: -33.33333%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-33-66--2 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-33-66--2 { - clear: none; - float: left; - width: 66.66667%; - margin-left: 33.33333%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -/** - * @file - * Layout rules for 2-up content - */ -.l-2up { - float: left; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 100%; - padding-left: 0; - padding-right: 0px; - margin-right: 0px; -} -@media (min-width: 900px) { - .l-2up { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 50%; - padding-left: 0; - padding-right: 12px; - margin-right: 12px; - } -} - -@media (min-width: 900px) { - .l-2up:nth-of-type(2n) { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 50%; - padding-left: 0; - padding-right: 12px; - margin-right: -12px; - } -} - -@media (min-width: 900px) { - .l-2up:nth-of-type(2n+1) { - clear: left; - } -} - -.l-2up--1 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-2up--1 { - float: left; - width: 50%; - margin-left: 0%; - margin-right: -50%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-2up--2 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-2up--2 { - clear: none; - float: left; - width: 50%; - margin-left: 50%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -/** - * @file - * Layout rules for 3-up content - */ -.l-3up { - float: left; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 100%; - padding-left: 0; - padding-right: 0px; - margin-right: 0px; -} -@media (min-width: 600px) { - .l-3up { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 50%; - padding-left: 0; - padding-right: 12px; - margin-right: 12px; - } -} -@media (min-width: 1100px) { - .l-3up { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 33.33333%; - padding-left: 0; - padding-right: 16px; - margin-right: 8px; - } -} - -@media (min-width: 600px) { - .l-3up:nth-of-type(2n) { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 50%; - padding-left: 0; - padding-right: 12px; - margin-right: -12px; - } -} -@media (min-width: 1100px) { - .l-3up:nth-of-type(2n) { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 33.33333%; - padding-left: 0; - padding-right: 16px; - margin-right: 8px; - } -} - -@media (min-width: 1100px) { - .l-3up:nth-of-type(3n) { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 33.33333%; - padding-left: 0; - padding-right: 16px; - margin-right: -16px; - } -} - -@media (min-width: 1100px) { - .l-3up:nth-of-type(3n+1) { - clear: left; - } -} - -.l-3up--1 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-3up--1 { - float: left; - width: 33.33333%; - margin-left: 0%; - margin-right: -33.33333%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-3up--2 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-3up--2 { - clear: none; - float: left; - width: 33.33333%; - margin-left: 33.33333%; - margin-right: -66.66667%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-3up--3 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-3up--3 { - clear: none; - float: left; - width: 33.33333%; - margin-left: 66.66667%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -/** - * @file - * Layout rules for 4-up content - */ -.l-4up { - float: left; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 100%; - padding-left: 0; - padding-right: 0px; - margin-right: 0px; -} -@media (min-width: 600px) { - .l-4up { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 50%; - padding-left: 0; - padding-right: 12px; - margin-right: 12px; - } -} -@media (min-width: 1100px) { - .l-4up { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 25%; - padding-left: 0; - padding-right: 18px; - margin-right: 6px; - } -} - -@media (min-width: 600px) { - .l-4up:nth-of-type(2n) { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 50%; - padding-left: 0; - padding-right: 12px; - margin-right: -12px; - } -} -@media (min-width: 1100px) { - .l-4up:nth-of-type(2n) { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 25%; - padding-left: 0; - padding-right: 18px; - margin-right: 6px; - } -} - -@media (min-width: 1100px) { - .l-4up:nth-of-type(4n) { - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - width: 25%; - padding-left: 0; - padding-right: 18px; - margin-right: -18px; - } -} - -@media (min-width: 1100px) { - .l-4up:nth-of-type(4n+1) { - clear: left; - } -} - -.l-4up--1 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-4up--1 { - float: left; - width: 25%; - margin-left: 0%; - margin-right: -25%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-4up--2 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-4up--2 { - clear: none; - float: left; - width: 25%; - margin-left: 25%; - margin-right: -50%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-4up--3 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-4up--3 { - clear: none; - float: left; - width: 25%; - margin-left: 50%; - margin-right: -75%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-4up--4 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-4up--4 { - clear: none; - float: left; - width: 25%; - margin-left: 75%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -/** - * @file - * Layout rules for 6-up content - */ -.l-6up--1 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-6up--1 { - float: left; - width: 16.66667%; - margin-left: 0%; - margin-right: -16.66667%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-6up--2 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-6up--2 { - clear: none; - float: left; - width: 16.66667%; - margin-left: 16.66667%; - margin-right: -33.33333%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-6up--3 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-6up--3 { - clear: none; - float: left; - width: 16.66667%; - margin-left: 33.33333%; - margin-right: -50%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-6up--4 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-6up--4 { - clear: none; - float: left; - width: 16.66667%; - margin-left: 50%; - margin-right: -66.66667%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-6up--5 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-6up--5 { - clear: none; - float: left; - width: 16.66667%; - margin-left: 66.66667%; - margin-right: -83.33333%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-6up--6 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-6up--6 { - clear: none; - float: left; - width: 16.66667%; - margin-left: 83.33333%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -/* Component (SMACSS module) rules */ -/* Styleguide Specific rules */ -/** - * @file - * Define the styles for the styleguide. This is not css for the site. - * - * @copyright Copyright (c) 2014 Palantir.net - */ -.l-styleguide-column { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-styleguide-column { - float: left; - width: 66.66667%; - margin-left: 0%; - margin-right: -66.66667%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} -@media (min-width: 900px) { - .l-styleguide-column { - float: left; - width: 58.33333%; - margin-left: 8.33333%; - margin-right: -66.66667%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.l-styleguide-rail { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; -} -@media (min-width: 600px) { - .l-styleguide-rail { - clear: none; - float: left; - width: 33.33333%; - margin-left: 0%; - margin-right: -33.33333%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} -@media (min-width: 900px) { - .l-styleguide-rail { - float: left; - width: 25%; - margin-left: 8.33333%; - margin-right: -33.33333%; - padding-left: 12px; - padding-right: 12px; - -ms-box-sizing: border-box; - box-sizing: border-box; - word-wrap: break-word; - } -} - -.styleguide-copyright { - font-size: 0.8em; - line-height: 1.5em; - color: #888888; - padding: 4.8em 0; - margin-top: 8em; - border-top: 1px solid #F0F0F0; -} - -.styleguide-label { - color: #444444; -} - -.styleguide-section { - margin-top: 4.8em; - border-top: 1px solid #F0F0F0; - padding-top: 2.4em; -} - -.styleguide-list { - padding: 0 0 0 1.6em; -} -.styleguide-list h4 { - margin-top: 0em; - margin-bottom: 0.2em; - font-weight: 400; -} - -.styleguide-component { - background-color: #ffffff; - padding: 1.6em 0; -} - -.component-header { - background-color: #F0F0F0; - margin: 3.2em 0; - padding: 3.2em 0; -} - -.color-title { - border-bottom: 1px solid #F0F0F0; - padding-bottom: 0.8em; - margin: 1.6em 0; -} - -.color-block { - width: 100%; - height: 50px; - margin-top: 0.8em; -} - -.color-label { - color: #888888; - margin-bottom: 1.6em; -} - -.styleguide-swatch { - width: 50%; - padding: 25px; -} - -/* print rules */ -/** - * @file - * Define print styles here. - */ +/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXMiOlsic3R5bGVzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICogQ2VudHJhbGl6ZSB5b3VyIGltcG9ydHMgaGVyZS5cbiAqIFN0eWxlcyBhcmUgb3JnYW5pemVkIHVzaW5nIHRoZSBTTUFDU1MgdGVjaG5pcXVlLlxuICogQHNlZSBodHRwOi8vc21hY3NzLmNvbS9ib29rL1xuICovXG5cbi8vLyogSW1wb3J0IFNhc3MgbWl4aW5zLCB2YXJpYWJsZXMsIENvbXBhc3MgbW9kdWxlcywgZXRjLiAqL1xuLy9AaW1wb3J0IFwiaW5pdFwiO1xuLy9cbi8vLyogSFRNTCBlbGVtZW50IChTTUFDU1MgYmFzZSkgcnVsZXMgKi9cbi8vQGltcG9ydCBcIm5vcm1hbGl6ZVwiO1xuLy9cbi8vLyogTGF5b3V0IHJ1bGVzICovXG4vL0BpbXBvcnQgXCJsYXlvdXRzL2wtemVuLWdyaWRzLWJhc2VcIjtcbi8vQGltcG9ydCBcImxheW91dHMvbC0xdXBcIjtcbi8vQGltcG9ydCBcImxheW91dHMvbC02Ni0zM1wiO1xuLy9AaW1wb3J0IFwibGF5b3V0cy9sLTMzLTY2XCI7XG4vL0BpbXBvcnQgXCJsYXlvdXRzL2wtMnVwXCI7XG4vL0BpbXBvcnQgXCJsYXlvdXRzL2wtM3VwXCI7XG4vL0BpbXBvcnQgXCJsYXlvdXRzL2wtNHVwXCI7XG4vL0BpbXBvcnQgXCJsYXlvdXRzL2wtNnVwXCI7XG4vL1xuLy8vKiBDb21wb25lbnQgKFNNQUNTUyBtb2R1bGUpIHJ1bGVzICovXG4vL1xuLy9cbi8vLyogU3R5bGVndWlkZSBTcGVjaWZpYyBydWxlcyAqL1xuLy9AaW1wb3J0IFwic3R5bGVndWlkZS9zdHlsZWd1aWRlXCI7XG4vL1xuLy8vKiBwcmludCBydWxlcyAqL1xuLy9AaW1wb3J0IFwicHJpbnRcIjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0ciLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ diff --git a/source/code/sass/_init.scss b/source/code/sass/_init.scss index 20a784a..32788e0 100644 --- a/source/code/sass/_init.scss +++ b/source/code/sass/_init.scss @@ -170,24 +170,5 @@ $easing: ease-out; -// ============================================================================= -// Partials to be shared with all .scss files. -// ============================================================================= - -// Add Compass' IE and vendor prefix support variables. -@import "compass/support"; -// Better than Drupal's clearfix. -@import "compass/utilities/general/clearfix"; -// See http://compass-style.org/help/tutorials/spriting/ -@import "compass/utilities/sprites"; -// Use one CSS3 mixin instead of multiple vendor prefixes. -@import "compass/css3"; -// Helps set up a vertical rhythm. -@import "compass/typography/vertical_rhythm"; -// Add the Zen Grids responsive layout mixins. -@import "zen"; -// Add the Breakpoint mixin. -@import "breakpoint"; - // Now we add our custom helper mixins. @import "mixins"; diff --git a/source/code/sass/styles.scss b/source/code/sass/styles.scss index bf0fb44..f3cb29d 100644 --- a/source/code/sass/styles.scss +++ b/source/code/sass/styles.scss @@ -5,27 +5,27 @@ * @see http://smacss.com/book/ */ -/* Import Sass mixins, variables, Compass modules, etc. */ -@import "init"; - -/* HTML element (SMACSS base) rules */ -@import "normalize"; - -/* Layout rules */ -@import "layouts/l-zen-grids-base"; -@import "layouts/l-1up"; -@import "layouts/l-66-33"; -@import "layouts/l-33-66"; -@import "layouts/l-2up"; -@import "layouts/l-3up"; -@import "layouts/l-4up"; -@import "layouts/l-6up"; - -/* Component (SMACSS module) rules */ - - -/* Styleguide Specific rules */ -@import "styleguide/styleguide"; - -/* print rules */ -@import "print"; +///* Import Sass mixins, variables, Compass modules, etc. */ +//@import "init"; +// +///* HTML element (SMACSS base) rules */ +//@import "normalize"; +// +///* Layout rules */ +//@import "layouts/l-zen-grids-base"; +//@import "layouts/l-1up"; +//@import "layouts/l-66-33"; +//@import "layouts/l-33-66"; +//@import "layouts/l-2up"; +//@import "layouts/l-3up"; +//@import "layouts/l-4up"; +//@import "layouts/l-6up"; +// +///* Component (SMACSS module) rules */ +// +// +///* Styleguide Specific rules */ +//@import "styleguide/styleguide"; +// +///* print rules */ +//@import "print"; From b19aec520c78d52b44f145e786237feeb47c93be Mon Sep 17 00:00:00 2001 From: palantir-team Date: Wed, 2 Mar 2016 16:15:18 -0600 Subject: [PATCH 02/22] add npm-breakpoint and npm zen-grids --- package.json | 4 ++- source/code/sass/_init.scss | 9 +++++++ source/code/sass/styles.scss | 48 ++++++++++++++++++------------------ 3 files changed, 36 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 383e54b..283bca4 100644 --- a/package.json +++ b/package.json @@ -17,10 +17,12 @@ }, "homepage": "https://github.com/palantirnet/butler#readme", "devDependencies": { + "breakpoint-sass": "^2.7.0", "gulp": "^3.9.1", "gulp-autoprefixer": "^3.1.0", "gulp-exec": "^2.1.2", "gulp-sass": "^2.2.0", - "gulp-sourcemaps": "^1.6.0" + "gulp-sourcemaps": "^1.6.0", + "zen-grids": "^2.0.1" } } diff --git a/source/code/sass/_init.scss b/source/code/sass/_init.scss index 32788e0..af0ab7d 100644 --- a/source/code/sass/_init.scss +++ b/source/code/sass/_init.scss @@ -170,5 +170,14 @@ $easing: ease-out; +// ============================================================================= +// Partials to be shared with all .scss files. +// ============================================================================= + +// Add the Zen Grids responsive layout mixins. +@import "zen-grids"; +// Add the Breakpoint mixin. +@import "breakpoint"; + // Now we add our custom helper mixins. @import "mixins"; diff --git a/source/code/sass/styles.scss b/source/code/sass/styles.scss index f3cb29d..bf0fb44 100644 --- a/source/code/sass/styles.scss +++ b/source/code/sass/styles.scss @@ -5,27 +5,27 @@ * @see http://smacss.com/book/ */ -///* Import Sass mixins, variables, Compass modules, etc. */ -//@import "init"; -// -///* HTML element (SMACSS base) rules */ -//@import "normalize"; -// -///* Layout rules */ -//@import "layouts/l-zen-grids-base"; -//@import "layouts/l-1up"; -//@import "layouts/l-66-33"; -//@import "layouts/l-33-66"; -//@import "layouts/l-2up"; -//@import "layouts/l-3up"; -//@import "layouts/l-4up"; -//@import "layouts/l-6up"; -// -///* Component (SMACSS module) rules */ -// -// -///* Styleguide Specific rules */ -//@import "styleguide/styleguide"; -// -///* print rules */ -//@import "print"; +/* Import Sass mixins, variables, Compass modules, etc. */ +@import "init"; + +/* HTML element (SMACSS base) rules */ +@import "normalize"; + +/* Layout rules */ +@import "layouts/l-zen-grids-base"; +@import "layouts/l-1up"; +@import "layouts/l-66-33"; +@import "layouts/l-33-66"; +@import "layouts/l-2up"; +@import "layouts/l-3up"; +@import "layouts/l-4up"; +@import "layouts/l-6up"; + +/* Component (SMACSS module) rules */ + + +/* Styleguide Specific rules */ +@import "styleguide/styleguide"; + +/* print rules */ +@import "print"; From 289eb260fb8730e5258ffd72d9c24736bae129f6 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Wed, 2 Mar 2016 16:39:26 -0600 Subject: [PATCH 03/22] point to the correct zen-grids and breakpoint --- source/code/sass/_init.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/code/sass/_init.scss b/source/code/sass/_init.scss index af0ab7d..ef33a2d 100644 --- a/source/code/sass/_init.scss +++ b/source/code/sass/_init.scss @@ -175,9 +175,9 @@ $easing: ease-out; // ============================================================================= // Add the Zen Grids responsive layout mixins. -@import "zen-grids"; +@import "../../../node_modules/zen-grids/sass/zen-grids"; // Add the Breakpoint mixin. -@import "breakpoint"; +@import "../../../node_modules/breakpoint-sass/stylesheets/breakpoint"; // Now we add our custom helper mixins. @import "mixins"; From c353c274e9d9f838ed227e3590b82e2b7846bb69 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Wed, 2 Mar 2016 16:57:54 -0600 Subject: [PATCH 04/22] comment out compass mixins and deprecated zen-grids mixings --- Gulpfile.js | 4 - package.json | 1 - source/code/css/styles.css | 1495 ++++++++++++++++- source/code/sass/_init.scss | 3 + source/code/sass/_normalize.scss | 82 +- source/code/sass/layouts/_l-1up.scss | 2 +- source/code/sass/layouts/_l-2up.scss | 14 +- source/code/sass/layouts/_l-33-66.scss | 6 +- source/code/sass/layouts/_l-3up.scss | 24 +- source/code/sass/layouts/_l-4up.scss | 28 +- source/code/sass/layouts/_l-66-33.scss | 6 +- source/code/sass/layouts/_l-6up.scss | 22 +- .../code/sass/layouts/_l-zen-grids-base.scss | 70 +- source/code/sass/styleguide/_styleguide.scss | 14 +- 14 files changed, 1631 insertions(+), 140 deletions(-) diff --git a/Gulpfile.js b/Gulpfile.js index 1e722a7..d811dec 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -1,7 +1,6 @@ // Require the dependencies so that we can use their functionality var gulp = require('gulp'); var sass = require('gulp-sass'); -var sourcemaps = require('gulp-sourcemaps'); var autoprefixer = require('gulp-autoprefixer'); var exec = require('gulp-exec'); @@ -29,11 +28,8 @@ gulp.task('compile-sass', function() { return gulp // Find all `.scss` from the `source/code/sass` .src(scss) - .pipe(sourcemaps.init()) // Run Sass on those files .pipe(sass(sassDev).on('error',sass.logError)) - // Write the sourcemap for the CSS - .pipe(sourcemaps.write()) // Update the stylesheets to add vendor prefixes .pipe(autoprefixer(browserSupport)) // Put the CSS in the destination dir diff --git a/package.json b/package.json index 283bca4..de97754 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,6 @@ "gulp-autoprefixer": "^3.1.0", "gulp-exec": "^2.1.2", "gulp-sass": "^2.2.0", - "gulp-sourcemaps": "^1.6.0", "zen-grids": "^2.0.1" } } diff --git a/source/code/css/styles.css b/source/code/css/styles.css index b2cbe27..4ace3bb 100644 --- a/source/code/css/styles.css +++ b/source/code/css/styles.css @@ -1,8 +1,1501 @@ +@charset "UTF-8"; /** * @file * Centralize your imports here. * Styles are organized using the SMACSS technique. * @see http://smacss.com/book/ */ +/* Import Sass mixins, variables, Compass modules, etc. */ +/* body */ +/* Link (a:) */ +/* Blockquote*/ +/* Figcaption */ +/* forms */ +/* Buttons */ +/** + * @file + * Define your custom Sass mixins and extends here. + * @see http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#defining_a_mixin + */ +/* ========================================================================== + Typography grooming extends + ========================================================================== */ +/* Tight tracking */ +h1, h2, h3 { + letter-spacing: -0.0125em; +} + +/* Open tracking */ +h5, h6 { + letter-spacing: 0.1em; +} + +/* Style larger text with a tighter tracking, change weight, etc. */ +h1, h2, h3 { + font-weight: 700; +} + +/* Style all caps with a slightly open tracking. */ +h5, h6 { + text-transform: uppercase; +} + +/* ========================================================================== + Clearfix extend + ========================================================================== */ +/** + * Applies a clearfix ruleset using a placeholder selector. Placeholder selectors + * do not get compiled uless they are called - removing the nesting issues that + * can otherwise occur with extends. + */ +/* ============================================================== + Visually hidden extend + ============================================================== */ +/** + * Element-invisible as defined by snook.ca + * @see http://snook.ca/archives/html_and_css/hiding-content-for-accessibility + */ +.element-invisible, +.element-focusable { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); +} + +/* Turns off the element-invisible effect. */ +.element-focusable:active, .element-focusable:focus { + position: static !important; + clip: auto; + height: auto; + width: auto; + overflow: auto; +} + +/* ============================================================== + Transition mixin + ============================================================== */ +/* HTML element (SMACSS base) rules */ +/** + * @file + * Normalize.css is intended to be used as an alternative to CSS resets. + * + * This file is a slight fork of these original sources: + * - normalize.css v2.1.2 | MIT License | git.io/normalize + * - normalize.scss v2.1.2 | MIT/GPLv2 License | bit.ly/normalize-with-compass + * + * It's suggested that you read the normalize.scss file and customise it to meet + * your needs, rather then including the file in your project and overriding the + * defaults later in your CSS. + * @see http://nicolasgallagher.com/about-normalize-css/ + * + * Also: @see http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/ + * @see http://snook.ca/archives/html_and_css/no_css_reset/ + */ +/** + * HTML5 display definitions + */ +/* Correct `block` display not defined in IE 8/9. */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +nav, +section, +summary { + display: block; +} + +/* Correct `inline-block` display not defined in IE 8/9. */ +audio, +canvas, +video { + display: inline-block; +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; +} + +/* Address styling not present in IE 8/9. */ +[hidden] { + display: none; +} + +/** + * Base + * + * Instead of relying on the fonts that are available on a user's computer, you + * can use web fonts which, like images, are resources downloaded to the user's + * browser. Because of the bandwidth and rendering resources required, web fonts + * should be used with care. + * + * Numerous resources for web fonts can be found on Google. Here are a few + * websites where you can find Open Source fonts to download: + * - http://www.fontsquirrel.com/fontface + * - http://www.theleagueofmoveabletype.com + * + * In order to use these fonts, you will need to convert them into formats + * suitable for web fonts. We recommend the free-to-use Font Squirrel's + * Font-Face Generator: + * http://www.fontsquirrel.com/fontface/generator + * + * The following is an example @font-face declaration. This font can then be + * used in any ruleset using a property like this: font-family: Example, serif; + * + * Since we're using Sass, you'll need to declare your font faces here, then you + * can add them to the font variables in the _base.scss partial. + */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + * 3. Correct text resizing oddly in IE 6/7 when body `font-size` is set using + * `em` units. + * 4. Makes it pretty — banishes chunky type. + */ +html { + font-family: Helvetica, Arial, "Nimbus Sans L", sans-serif; + /* 1 */ + font-weight: 400; + font-size: 93.75%; + /* 3 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + -webkit-font-smoothing: antialiased; + /* 4 */ + text-rendering: optimizeLegibility; + /* 4 */ + color: #444444; + background: #ffffff; +} + +@media (min-width: 600px) { + html { + font-size: 105%; + } +} + +@media (min-width: 900px) { + html { + font-size: 116.25%; + } +} + +@media (min-width: 1100px) { + html { + font-size: 127.5%; + } +} + +/* Remove default margin. */ +body { + margin: 0; + padding: 0; +} + +/** + * Links + * + * The order of link states are based on Eric Meyer's article: + * http://meyerweb.com/eric/thoughts/2007/06/11/who-ordered-the-link-states + */ +a:link, +a:visited { + color: #888888; + text-decoration: none; +} + +a:hover, +a:focus, +a:active { + color: #F0F0F0; + text-decoration: underline; +} + +/* Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { + outline: thin dotted; +} + +/* Improve readability when focused and also mouse hovered in all browsers. */ +a:active, +a:hover { + outline: 0; +} + +/** + * Typography + * + * To achieve a pleasant vertical rhythm, we use Compass' Vertical Rhythm mixins + * so that the line height of our base font becomes the basic unit of vertical + * measurement. We use multiples of that unit to set the top and bottom margins + * for our block level elements and to set the line heights of any fonts. + * For more information, see http://24ways.org/2006/compose-to-a-vertical-rhythm + */ +/* Set 1 unit of vertical rhythm on the top and bottom margin. */ +blockquote { + /* Also indent the quote on both sides. */ + margin: rhythm(1); + color: #888888; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari 5, and Chrome. + */ +h1 { + /* Set the font-size and line-height while keeping a proper vertical rhythm. */ + /* Set 1 unit of vertical rhythm on the top and bottom margins. */ +} + +h6 { + font-weight: 400; +} + +/* Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { + border-bottom: 1px dotted; +} + +/* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, +strong { + font-weight: 700; +} + +/* Address styling not present in Safari 5 and Chrome. */ +dfn { + font-style: italic; +} + +/* Address differences between Firefox and other browsers. */ +hr { + height: 0; + border: 1px solid #ddd; + padding-bottom: -1px; + margin: rhythm(2) 0; +} + +/* Address styling not present in IE 8/9. */ +mark { + background: #ff0; + color: #000; +} + +/* Correct font family set oddly in Safari 5 and Chrome. */ +code, +kbd, +pre, +samp, +tt, +var { + font-family: "Courier New", "DejaVu Sans Mono", monospace, sans-serif; +} + +/* Improve readability of pre-formatted text in all browsers. */ +pre { + white-space: pre-wrap; +} + +/* Set consistent quote types. */ +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} + +/* 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; +} + +/** + * Lists + */ +dl, +menu, +ol, +ul { + /* Address margins set differently in IE 6/7. */ + margin: 0 0 rhythm(1) 0; +} + +ol ol, +ol ul, +ul ol, +ul ul { + /* Turn off margins on nested lists. */ + margin: 0 0 rhythm(1) 0; +} + +dd { + margin: 0 0 0 rhythm(1); + /* LTR */ +} + +/* Address paddings set differently in IE 6/7. */ +menu, +ol, +ul { + padding: 0 0 0 rhythm(1); + /* LTR */ +} + +/** + * Embedded content and figures + * + * @todo Look into adding responsive embedded video. + */ +img { + /* Remove border when inside `a` element in IE 8/9. */ + border: 0; + /* Suppress the space beneath the baseline */ + vertical-align: bottom; + /* Responsive images */ + max-width: 100%; + /* Correct IE 8 not scaling image height when resized. */ + width: auto; +} + +figcaption { + color: #888888; + font-style: italic; + margin-top: rhythm(0.5, 12px); +} + +/* Responsive video styles for youtube and vimeo. + * Requires a "video-wrapper" class on the + * tag containing the iframe embed code. +*/ +.video-wrapper { + position: relative; + padding-bottom: 56.25%; + /* 16:9 ratio */ + height: 0; +} + +.video-wrapper iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +/** + * Correct overflow displayed oddly in IE 9. + */ +svg:not(:root) { + overflow: hidden; +} + +/* Address margin not present in IE 8/9 and Safari 5. */ +figure { + margin: rhythm(1.5, 15px) 0; +} + +/** + * Forms + */ +/* Define consistent border, margin, and padding. */ +fieldset { + margin: 0 2px; + /* Apply borders and padding that keep the vertical rhythm. */ + border-color: #c0c0c0; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + * 3. Correct alignment displayed oddly in IE 6/7. + */ +legend { + border: 0; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * 1. Correct font family not being inherited in all browsers. + * 2. Correct font size not being inherited in all browsers. + * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + * 4. Improve appearance and consistency with IE 6/7. + * 5. Keep form elements constrained in their containers. + */ +button, +input, +select, +textarea { + font-family: inherit; + /* 1 */ + font-size: 100%; + /* 2 */ + margin: 0; + /* 3 */ + max-width: 100%; + /* 5 */ +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +button, +input { + line-height: normal; +} + +/** + * 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 Chrome, Safari 5+, and IE 8+. + * Correct `select` style inheritance in Firefox 4+ and Opera. + */ +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. + * 4. Remove inner spacing in IE 7 without affecting normal text inputs. + * Known issue: inner spacing remains in IE 6. + */ +button, +html input[type="button"], +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; +} + +/** + * 1. Address box sizing set to `content-box` in IE 8/9. + * 2. Remove excess padding in IE 8/9. + * 3. Remove excess padding in IE 7. + * Known issue: excess padding remains in IE 6. + */ +input[type="checkbox"], +input[type="radio"] { + padding: 0; + /* 2 */ +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ +input[type="search"] { + -webkit-appearance: textfield; + /* 1 */ +} + +/** + * Remove inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * 1. Remove default vertical scrollbar in IE 8/9. + * 2. Improve readability and alignment in all browsers. + */ +textarea { + overflow: auto; + /* 1 */ + vertical-align: top; + /* 2 */ +} + +/* Drupal-style form labels. */ +label { + display: block; +} + +/** + * SITE SPECIFIC form element styles. Adapted from purecss, under the Yahoo! Inc. BSD license + * Please visit http://purecss.io/ for more information + * purecss.io: Copyright 2014 Yahoo! Inc. All rights reserved. + */ +input[type="text"], +input[type="password"], +input[type="email"], +input[type="url"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="datetime"], +input[type="datetime-local"], +input[type="week"], +input[type="number"], +input[type="search"], +input[type="tel"], +input[type="color"], +select, +textarea { + color: #888888; + -webkit-user-select: none; + -webkit-appearance: none; + background: #ffffff; + width: 100%; + text-indent: .5em; + border: 1px solid #F0F0F0; + outline: none; +} + +input[type="text"]:hover, input[type="text"]:focus, input[type="text"]:active, +input[type="password"]:hover, +input[type="password"]:focus, +input[type="password"]:active, +input[type="email"]:hover, +input[type="email"]:focus, +input[type="email"]:active, +input[type="url"]:hover, +input[type="url"]:focus, +input[type="url"]:active, +input[type="date"]:hover, +input[type="date"]:focus, +input[type="date"]:active, +input[type="month"]:hover, +input[type="month"]:focus, +input[type="month"]:active, +input[type="time"]:hover, +input[type="time"]:focus, +input[type="time"]:active, +input[type="datetime"]:hover, +input[type="datetime"]:focus, +input[type="datetime"]:active, +input[type="datetime-local"]:hover, +input[type="datetime-local"]:focus, +input[type="datetime-local"]:active, +input[type="week"]:hover, +input[type="week"]:focus, +input[type="week"]:active, +input[type="number"]:hover, +input[type="number"]:focus, +input[type="number"]:active, +input[type="search"]:hover, +input[type="search"]:focus, +input[type="search"]:active, +input[type="tel"]:hover, +input[type="tel"]:focus, +input[type="tel"]:active, +input[type="color"]:hover, +input[type="color"]:focus, +input[type="color"]:active, +select:hover, +select:focus, +select:active, +textarea:hover, +textarea:focus, +textarea:active { + border: 1px solid #444444; + outline: none; +} + +input[type="text"], +input[type="password"], +input[type="email"], +input[type="url"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="datetime"], +input[type="datetime-local"], +input[type="week"], +input[type="number"], +input[type="search"], +input[type="tel"], +input[type="color"], +select { + height: 2.5em; +} + +/* +Need to separate out the :not() selector from the rest of the CSS 2.1 selectors +since IE8 won't execute CSS that contains a CSS3 selector. +*/ +input:not([type]) { + color: #888888; + -webkit-user-select: none; + -webkit-appearance: none; + background: #F0F0F0; + width: 100%; + text-indent: .5em; + border: 1px solid #888888; + outline: none; +} + +input:not([type]):hover, input:not([type]):focus, input:not([type]):active { + border: 1px solid #444444; + outline: none; +} -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXMiOlsic3R5bGVzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICogQ2VudHJhbGl6ZSB5b3VyIGltcG9ydHMgaGVyZS5cbiAqIFN0eWxlcyBhcmUgb3JnYW5pemVkIHVzaW5nIHRoZSBTTUFDU1MgdGVjaG5pcXVlLlxuICogQHNlZSBodHRwOi8vc21hY3NzLmNvbS9ib29rL1xuICovXG5cbi8vLyogSW1wb3J0IFNhc3MgbWl4aW5zLCB2YXJpYWJsZXMsIENvbXBhc3MgbW9kdWxlcywgZXRjLiAqL1xuLy9AaW1wb3J0IFwiaW5pdFwiO1xuLy9cbi8vLyogSFRNTCBlbGVtZW50IChTTUFDU1MgYmFzZSkgcnVsZXMgKi9cbi8vQGltcG9ydCBcIm5vcm1hbGl6ZVwiO1xuLy9cbi8vLyogTGF5b3V0IHJ1bGVzICovXG4vL0BpbXBvcnQgXCJsYXlvdXRzL2wtemVuLWdyaWRzLWJhc2VcIjtcbi8vQGltcG9ydCBcImxheW91dHMvbC0xdXBcIjtcbi8vQGltcG9ydCBcImxheW91dHMvbC02Ni0zM1wiO1xuLy9AaW1wb3J0IFwibGF5b3V0cy9sLTMzLTY2XCI7XG4vL0BpbXBvcnQgXCJsYXlvdXRzL2wtMnVwXCI7XG4vL0BpbXBvcnQgXCJsYXlvdXRzL2wtM3VwXCI7XG4vL0BpbXBvcnQgXCJsYXlvdXRzL2wtNHVwXCI7XG4vL0BpbXBvcnQgXCJsYXlvdXRzL2wtNnVwXCI7XG4vL1xuLy8vKiBDb21wb25lbnQgKFNNQUNTUyBtb2R1bGUpIHJ1bGVzICovXG4vL1xuLy9cbi8vLyogU3R5bGVndWlkZSBTcGVjaWZpYyBydWxlcyAqL1xuLy9AaW1wb3J0IFwic3R5bGVndWlkZS9zdHlsZWd1aWRlXCI7XG4vL1xuLy8vKiBwcmludCBydWxlcyAqL1xuLy9AaW1wb3J0IFwicHJpbnRcIjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0ciLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ +/* Chrome (as of v.32/34 on OS X) needs additional room for color to display. */ +/* May be able to remove this tweak as color inputs become more standardized across browsers. */ +input[type="color"] { + padding: 0.2em 0.5em; +} + +/* +Need to separate out the :not() selector from the rest of the CSS 2.1 selectors +since IE8 won't execute CSS that contains a CSS3 selector. +*/ +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #444444; + outline: 1px auto #444444; +} + +input[type="text"][disabled], +input[type="password"][disabled], +input[type="email"][disabled], +input[type="url"][disabled], +input[type="date"][disabled], +input[type="month"][disabled], +input[type="time"][disabled], +input[type="datetime"][disabled], +input[type="datetime-local"][disabled], +input[type="week"][disabled], +input[type="number"][disabled], +input[type="search"][disabled], +input[type="tel"][disabled], +input[type="color"][disabled], +select[disabled], +textarea[disabled] { + cursor: not-allowed; + background-color: #F0F0F0; + color: #888888; +} + +/* +Need to separate out the :not() selector from the rest of the CSS 2.1 selectors +since IE8 won't execute CSS that contains a CSS3 selector. +*/ +input:not([type])[disabled] { + cursor: not-allowed; + background-color: #F0F0F0; + color: #888888; +} + +input[readonly], +select[readonly], +textarea[readonly] { + background: #F0F0F0; + color: #888888; + border-color: #888888; +} + +input:focus:invalid, +textarea:focus:invalid, +select:focus:invalid { + color: #b94a48; + border-color: #ee5f5b; +} + +input:focus:invalid:focus, +textarea:focus:invalid:focus, +select:focus:invalid:focus { + border-color: #e9322d; +} + +input[type="file"]:focus:invalid:focus, +input[type="radio"]:focus:invalid:focus, +input[type="checkbox"]:focus:invalid:focus { + outline-color: #e9322d; +} + +input[type="checkbox"], +input[type="radio"] { + position: relative; + top: 7px; + margin-right: .5em; + float: left; +} + +select { + width: 100%; + -webkit-appearance: none; + border-radius: 0; + height: 2em; + text-indent: .5em; + background-color: #ffffff; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkU4QTMzNkUyNDAwQzExRTNBOEY4OTE4N0E1NkQ4QjVCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkU4QTMzNkUzNDAwQzExRTNBOEY4OTE4N0E1NkQ4QjVCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RThBMzM2RTA0MDBDMTFFM0E4Rjg5MTg3QTU2RDhCNUIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RThBMzM2RTE0MDBDMTFFM0E4Rjg5MTg3QTU2RDhCNUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4x37VGAAAAWklEQVR42mI0NjZeysDAEMWAHyxlAhKZQPwAj6L7QJwFUvgJiKOB+C8WRX+gcp+YoALHgLgZi0KQ2HEQgwlJsAWIjyLxjwBxK4yDrBBkdQwQf4DiGGTnAAQYAGJbEyV4nwHtAAAAAElFTkSuQmCC); + background-repeat: no-repeat; + background-position: 97% 50%; + border: 1px solid #F0F0F0; + outline: none; +} + +select:hover, select:focus, select:active { + outline: 0; + border: 1px solid #888888; +} + +select[multiple] { + height: auto; +} + +fieldset { + margin: 0; + padding: rhythm(0.25, 15px) 0 rhythm(0.75, 15px); + border: 0; +} + +legend { + display: block; + width: 100%; + padding: rhythm(0.5, 15px) 0; +} + +input + input, +select + select, +input + select, +select + input { + margin-top: .5em; +} + +button { + background: #888888; + border: 1px solid transparent; + color: #ffffff; + margin: rhythm(1, 15px) 0; + padding: rhythm(1, 15px); +} + +button:hover { + background: #444444; + color: #ffffff; +} + +button:focus { + outline-style: dotted; + outline-color: #444444; + outline-width: 1px; +} + +button[type="reset"] { + color: #888888; + font-size: 14px; + text-decoration: underline; + background: transparent; + border: none; + padding: rhythm(1, 15px) rhythm(1, 15px); +} + +button[type="reset"]:hover { + color: #444444; +} + +/* Styles for placeholder text */ +::-webkit-input-placeholder { + color: #F0F0F0; +} + +:-moz-placeholder { + /* Firefox 18- */ + color: #F0F0F0; +} + +::-moz-placeholder { + /* Firefox 19+ */ + color: #F0F0F0; +} + +:-ms-input-placeholder { + color: #F0F0F0; +} + +/* ========================================================================== + Tables + ========================================================================== */ +table { + /* Remove most spacing between table cells. */ + border-collapse: collapse; + border-spacing: 0; + /* Prevent cramped-looking tables */ + /* width: 100%; */ + /* Add vertical rhythm margins. */ +} + +/* Layout rules */ +/** + * @file + * Define zen grids base settings here. + * @see http://zengrids.com + */ +.container { + padding-left: 0; + padding-right: 0; +} + +/** + * @file + * Layout rules for full-width content + */ +.l-1up { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +/** + * @file + * Layout rules for two thirds / one third (66/33) content + */ +.l-66-33--1 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-66-33--1 { + float: left; + width: 800%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-66-33--2 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-66-33--2 { + float: left; + width: 400%; + margin-left: 800%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +/** + * @file + * Layout rules for one third / two thirds (33/66) content + */ +.l-33-66--1 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-33-66--1 { + float: left; + width: 400%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-33-66--2 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-33-66--2 { + float: left; + width: 800%; + margin-left: 400%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +/** + * @file + * Layout rules for 2-up content + */ +.l-2up { + float: left; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +.l-2up--1 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-2up--1 { + float: left; + width: 600%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-2up--2 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-2up--2 { + float: left; + width: 600%; + margin-left: 600%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +/** + * @file + * Layout rules for 3-up content + */ +.l-3up { + float: left; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +.l-3up--1 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-3up--1 { + float: left; + width: 400%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-3up--2 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-3up--2 { + float: left; + width: 400%; + margin-left: 400%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-3up--3 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-3up--3 { + float: left; + width: 400%; + margin-left: 800%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +/** + * @file + * Layout rules for 4-up content + */ +.l-4up { + float: left; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +.l-4up--1 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-4up--1 { + float: left; + width: 300%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-4up--2 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-4up--2 { + float: left; + width: 300%; + margin-left: 300%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-4up--3 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-4up--3 { + float: left; + width: 300%; + margin-left: 600%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-4up--4 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-4up--4 { + float: left; + width: 300%; + margin-left: 900%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +/** + * @file + * Layout rules for 6-up content + */ +.l-6up--1 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-6up--1 { + float: left; + width: 200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-6up--2 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-6up--2 { + float: left; + width: 200%; + margin-left: 200%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-6up--3 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-6up--3 { + float: left; + width: 200%; + margin-left: 400%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-6up--4 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-6up--4 { + float: left; + width: 200%; + margin-left: 600%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-6up--5 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-6up--5 { + float: left; + width: 200%; + margin-left: 800%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-6up--6 { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-6up--6 { + float: left; + width: 200%; + margin-left: 1000%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +/* Component (SMACSS module) rules */ +/* Styleguide Specific rules */ +/** + * @file + * Define the styles for the styleguide. This is not css for the site. + * + * @copyright Copyright (c) 2014 Palantir.net + */ +.l-styleguide-column { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-styleguide-column { + float: left; + width: 800%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +@media (min-width: 900px) { + .l-styleguide-column { + float: left; + width: 700%; + margin-left: 100%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.l-styleguide-rail { + float: left; + width: 1200%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; +} + +@media (min-width: 600px) { + .l-styleguide-rail { + float: left; + width: 400%; + margin-left: 0%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +@media (min-width: 900px) { + .l-styleguide-rail { + float: left; + width: 300%; + margin-left: 100%; + margin-right: -100%; + padding-left: 10px; + padding-right: 10px; + box-sizing: border-box; + } +} + +.styleguide-copyright { + color: #888888; + padding: rhythm(6, 15px) 0; + margin-top: rhythm(10, 15px); + border-top: 1px solid #F0F0F0; +} + +.styleguide-label { + color: #444444; +} + +.styleguide-section { + margin-top: rhythm(6, 15px); + border-top: 1px solid #F0F0F0; + padding-top: rhythm(3, 15px); +} + +.styleguide-list { + padding: 0 0 0 rhythm(2, 15px); +} + +.styleguide-list h4 { + font-weight: 400; +} + +.styleguide-component { + background-color: #ffffff; + padding: rhythm(2, 15px) 0; +} + +.component-header { + background-color: #F0F0F0; + margin: rhythm(4, 15px) 0; + padding: rhythm(4, 15px) 0; +} + +.color-title { + border-bottom: 1px solid #F0F0F0; + padding-bottom: rhythm(1, 15px); + margin: rhythm(2, 15px) 0; +} + +.color-block { + width: 100%; + height: 50px; + margin-top: rhythm(1, 15px); +} + +.color-label { + color: #888888; +} + +.styleguide-swatch { + width: 50%; + padding: 25px; +} + +/* print rules */ +/** + * @file + * Define print styles here. + */ diff --git a/source/code/sass/_init.scss b/source/code/sass/_init.scss index ef33a2d..830a517 100644 --- a/source/code/sass/_init.scss +++ b/source/code/sass/_init.scss @@ -176,6 +176,9 @@ $easing: ease-out; // Add the Zen Grids responsive layout mixins. @import "../../../node_modules/zen-grids/sass/zen-grids"; +@import "../../../node_modules/zen-grids/sass/zen-grids/functions"; +@import "../../../node_modules/zen-grids/sass/zen-grids/background"; +@import "../../../node_modules/zen-grids/sass/zen-grids/flow"; // Add the Breakpoint mixin. @import "../../../node_modules/breakpoint-sass/stylesheets/breakpoint"; diff --git a/source/code/sass/_normalize.scss b/source/code/sass/_normalize.scss index abdc47e..e080221 100644 --- a/source/code/sass/_normalize.scss +++ b/source/code/sass/_normalize.scss @@ -106,7 +106,7 @@ html { background: $background-color; // Establish a vertical rhythm unit using $base-line-height. - @include adjust-leading-to(2); + //@include adjust-leading-to(2); // Adjust font-size globally per breakpoint. @include breakpoint($bp1) { font-size: ($base-font-size / 16px) * 112%; } @@ -144,7 +144,7 @@ a:visited { a:hover, a:focus, a:active { - @include trans($timing, $easing); + //@include trans($timing, $easing); color: $link-hover; text-decoration: underline; } @@ -173,7 +173,7 @@ a:hover { /* Set 1 unit of vertical rhythm on the top and bottom margin. */ p, pre, { - margin: 0 0 rhythm(1.25) 0; + //margin: 0 0 rhythm(1.25) 0; } blockquote { /* Also indent the quote on both sides. */ @@ -188,40 +188,40 @@ blockquote { h1 { @extend %display-type; /* Set the font-size and line-height while keeping a proper vertical rhythm. */ - @include adjust-font-size-to( $h1-font-size, 3.25); + //@include adjust-font-size-to( $h1-font-size, 3.25); /* Set 1 unit of vertical rhythm on the top and bottom margins. */ - @include leader(3, $h1-font-size); - @include trailer(0.75, $h1-font-size); + //@include leader(3, $h1-font-size); + //@include trailer(0.75, $h1-font-size); } h2 { @extend %display-type; - @include adjust-font-size-to( $h2-font-size, 3); - @include leader(3, $h2-font-size); - @include trailer(0.75, $h2-font-size); + //@include adjust-font-size-to( $h2-font-size, 3); + //@include leader(3, $h2-font-size); + //@include trailer(0.75, $h2-font-size); } h3 { @extend %display-type; - @include adjust-font-size-to( $h3-font-size, 2.75); - @include leader(3, $h3-font-size); - @include trailer(0.75, $h3-font-size); + //@include adjust-font-size-to( $h3-font-size, 2.75); + //@include leader(3, $h3-font-size); + //@include trailer(0.75, $h3-font-size); } h4 { - @include adjust-font-size-to( $h4-font-size, 2); - @include leader(3, $h4-font-size); - @include trailer(0.75, $h4-font-size); + //@include adjust-font-size-to( $h4-font-size, 2); + //@include leader(3, $h4-font-size); + //@include trailer(0.75, $h4-font-size); } h5 { @extend %allcaps; - @include adjust-font-size-to( $h5-font-size, 1.75); - @include leader(3, $h5-font-size); - @include trailer(0.5, $h5-font-size); + //@include adjust-font-size-to( $h5-font-size, 1.75); + //@include leader(3, $h5-font-size); + //@include trailer(0.5, $h5-font-size); } h6 { @extend %allcaps; font-weight: 400; - @include adjust-font-size-to( $h6-font-size, 1.75); - @include leader(2, $h6-font-size); - @include trailer(0.5, $h6-font-size); + //@include adjust-font-size-to( $h6-font-size, 1.75); + //@include leader(2, $h6-font-size); + //@include trailer(0.5, $h6-font-size); } @@ -243,7 +243,7 @@ dfn { /* Address differences between Firefox and other browsers. */ hr { - @include box-sizing(content-box); + //@include box-sizing(content-box); height: 0; border: 1px solid #ddd; padding-bottom: -1px; @@ -267,7 +267,7 @@ var { @if $legacy-support-for-ie6 { _font-family: 'courier new', monospace; } - @include adjust-font-size-to( $base-font-size ); + //@include adjust-font-size-to( $base-font-size ); } /* Improve readability of pre-formatted text in all browsers. */ @@ -374,7 +374,7 @@ figcaption { color: $figcaption-color; font-style: italic; margin-top: rhythm(0.5, $label); - @include adjust-font-size-to($label, 2.1); + //@include adjust-font-size-to($label, 2.1); } /* Responsive video styles for youtube and vimeo. @@ -423,10 +423,10 @@ fieldset { margin: 0 2px; /* Apply borders and padding that keep the vertical rhythm. */ border-color: #c0c0c0; - @include apply-side-rhythm-border(top, $width: 1px, $lines: 0.35); - @include apply-side-rhythm-border(bottom, $width: 1px, $lines: 0.65); - @include apply-side-rhythm-border(left, $width: 1px, $lines: 0.65); - @include apply-side-rhythm-border(right, $width: 1px, $lines: 0.65); + //@include apply-side-rhythm-border(top, $width: 1px, $lines: 0.35); + //@include apply-side-rhythm-border(bottom, $width: 1px, $lines: 0.65); + //@include apply-side-rhythm-border(left, $width: 1px, $lines: 0.65); + //@include apply-side-rhythm-border(right, $width: 1px, $lines: 0.65); } /** @@ -461,7 +461,7 @@ textarea { *vertical-align: middle; /* 4 */ } max-width: 100%; /* 5 */ - @include box-sizing(border-box); /* 5 */ + //@include box-sizing(border-box); /* 5 */ } /** @@ -520,7 +520,7 @@ html input[disabled] { */ input[type="checkbox"], input[type="radio"] { - @include box-sizing(border-box); /* 1 */ + //@include box-sizing(border-box); /* 1 */ padding: 0; /* 2 */ @if $legacy-support-for-ie7 { *height: 13px; /* 3 */ @@ -535,7 +535,7 @@ input[type="radio"] { */ input[type="search"] { -webkit-appearance: textfield; /* 1 */ - @include box-sizing(content-box); /* 2 */ + //@include box-sizing(content-box); /* 2 */ } /** @@ -590,7 +590,7 @@ input[type="tel"], input[type="color"], select, textarea { - @include box-sizing(border-box); + //@include box-sizing(border-box); color:$form-text; -webkit-user-select: none; -webkit-appearance: none; @@ -599,7 +599,7 @@ textarea { text-indent: .5em; border: 1px solid $input-border-color; outline: none; - @include trans(.1s, ease-out); + //@include trans(.1s, ease-out); &:hover, &:focus, &:active { @@ -632,7 +632,7 @@ Need to separate out the :not() selector from the rest of the CSS 2.1 selectors since IE8 won't execute CSS that contains a CSS3 selector. */ input:not([type]) { - @include box-sizing(border-box); + //@include box-sizing(border-box); color:$input-not; -webkit-user-select: none; -webkit-appearance: none; @@ -641,7 +641,7 @@ input:not([type]) { text-indent: .5em; border: 1px solid $input-not-border; outline: none; - @include trans(.1s, ease-out); + //@include trans(.1s, ease-out); &:hover, &:focus, &:active { @@ -732,7 +732,7 @@ input[type="radio"] { } select { - @include box-sizing(border-box); + //@include box-sizing(border-box); width: 100%; -webkit-appearance: none; border-radius: 0; @@ -744,7 +744,7 @@ select { background-position: 97% 50%; border: 1px solid $select-border; outline: none; - @include trans(.1s, ease-out); + //@include trans(.1s, ease-out); &:hover, &:focus, &:active { @@ -766,7 +766,7 @@ legend { display: block; width: 100%; padding: rhythm(0.5, $text) 0; - @include trailer(1.5); + //@include trailer(1.5); } input + input, @@ -782,7 +782,7 @@ button { color: $button-text; margin: rhythm(1, $text) 0; padding: rhythm(1, $text); - @include trans(.1s, ease-out); + //@include trans(.1s, ease-out); } button:hover { background: $button-hover-background; @@ -835,6 +835,6 @@ table { /* Prevent cramped-looking tables */ /* width: 100%; */ /* Add vertical rhythm margins. */ - @include leader(1); - @include trailer(1); + //@include leader(1); + //@include trailer(1); } diff --git a/source/code/sass/layouts/_l-1up.scss b/source/code/sass/layouts/_l-1up.scss index 13fa8fd..551ad06 100644 --- a/source/code/sass/layouts/_l-1up.scss +++ b/source/code/sass/layouts/_l-1up.scss @@ -4,6 +4,6 @@ */ .l-1up { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); } diff --git a/source/code/sass/layouts/_l-2up.scss b/source/code/sass/layouts/_l-2up.scss index e964384..f8f7ded 100644 --- a/source/code/sass/layouts/_l-2up.scss +++ b/source/code/sass/layouts/_l-2up.scss @@ -13,21 +13,21 @@ .l-2up { float: left; @include zen-grid-item-base(); - @include zen-grid-flow-item(12, 12, $omega-gutter: false); + //@include zen-grid-flow-item(12, 12, $omega-gutter: false); @include breakpoint($bp2){ - @include zen-grid-flow-item(6, 12, $omega-gutter: true); + //@include zen-grid-flow-item(6, 12, $omega-gutter: true); } } // make every 2nd list item wrap .l-2up:nth-of-type(2n) { @include breakpoint($bp2){ - @include zen-grid-flow-item(6, 12, $omega-gutter: false); + //@include zen-grid-flow-item(6, 12, $omega-gutter: false); } } // clears a new row from the tallest element in the row above .l-2up:nth-of-type(2n+1) { @include breakpoint($bp2){ - @include zen-clear(); + //@include zen-clear(); } } @@ -36,17 +36,17 @@ // ============================================================================= .l-2up--1 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ @include zen-grid-item(6,1); } } .l-2up--2 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(6,7); } } diff --git a/source/code/sass/layouts/_l-33-66.scss b/source/code/sass/layouts/_l-33-66.scss index 3aa887c..01fcd21 100644 --- a/source/code/sass/layouts/_l-33-66.scss +++ b/source/code/sass/layouts/_l-33-66.scss @@ -4,7 +4,7 @@ */ .l-33-66--1 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ @include zen-grid-item(4,1); @@ -12,10 +12,10 @@ } .l-33-66--2 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(8,5); } } diff --git a/source/code/sass/layouts/_l-3up.scss b/source/code/sass/layouts/_l-3up.scss index 6ad3b45..6634bbc 100644 --- a/source/code/sass/layouts/_l-3up.scss +++ b/source/code/sass/layouts/_l-3up.scss @@ -13,33 +13,33 @@ .l-3up { float: left; @include zen-grid-item-base(); - @include zen-grid-flow-item(12, 12, $omega-gutter: false); + //@include zen-grid-flow-item(12, 12, $omega-gutter: false); @include breakpoint($bp1){ - @include zen-grid-flow-item(6, 12, $omega-gutter: true); + //@include zen-grid-flow-item(6, 12, $omega-gutter: true); } @include breakpoint($bp3){ - @include zen-grid-flow-item(4, 12, $omega-gutter: true); + //@include zen-grid-flow-item(4, 12, $omega-gutter: true); } } // make every 2nd list item wrap .l-3up:nth-of-type(2n) { @include breakpoint($bp1){ - @include zen-grid-flow-item(6, 12, $omega-gutter: false); + //@include zen-grid-flow-item(6, 12, $omega-gutter: false); } @include breakpoint($bp3){ - @include zen-grid-flow-item(4, 12, $omega-gutter: true); + //@include zen-grid-flow-item(4, 12, $omega-gutter: true); } } // make every 3rd list item wrap .l-3up:nth-of-type(3n) { @include breakpoint($bp3){ - @include zen-grid-flow-item(4, 12, $omega-gutter: false); + //@include zen-grid-flow-item(4, 12, $omega-gutter: false); } } // clears a new row from the tallest element in the row above .l-3up:nth-of-type(3n+1) { @include breakpoint($bp3){ - @include zen-clear(); + //@include zen-clear(); } } @@ -48,25 +48,25 @@ // ============================================================================= .l-3up--1 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ @include zen-grid-item(4,1); } } .l-3up--2 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(4,5); } } .l-3up--3 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(4,9); } } diff --git a/source/code/sass/layouts/_l-4up.scss b/source/code/sass/layouts/_l-4up.scss index 7c57c7f..7731978 100644 --- a/source/code/sass/layouts/_l-4up.scss +++ b/source/code/sass/layouts/_l-4up.scss @@ -13,33 +13,33 @@ .l-4up { float: left; @include zen-grid-item-base(); - @include zen-grid-flow-item(12, 12, $omega-gutter: false); + //@include zen-grid-flow-item(12, 12, $omega-gutter: false); @include breakpoint($bp1){ - @include zen-grid-flow-item(6, 12, $omega-gutter: true); + //@include zen-grid-flow-item(6, 12, $omega-gutter: true); } @include breakpoint($bp3){ - @include zen-grid-flow-item(3, 12, $omega-gutter: true); + //@include zen-grid-flow-item(3, 12, $omega-gutter: true); } } // make every 2nd list item wrap .l-4up:nth-of-type(2n) { @include breakpoint($bp1){ - @include zen-grid-flow-item(6, 12, $omega-gutter: false); + //@include zen-grid-flow-item(6, 12, $omega-gutter: false); } @include breakpoint($bp3){ - @include zen-grid-flow-item(3, 12, $omega-gutter: true); + //@include zen-grid-flow-item(3, 12, $omega-gutter: true); } } // make every 4th list item wrap .l-4up:nth-of-type(4n) { @include breakpoint($bp3){ - @include zen-grid-flow-item(3, 12, $omega-gutter: false); + //@include zen-grid-flow-item(3, 12, $omega-gutter: false); } } // clears a new row from the tallest element in the row above .l-4up:nth-of-type(4n+1) { @include breakpoint($bp3){ - @include zen-clear(); + //@include zen-clear(); } } @@ -48,33 +48,33 @@ // ============================================================================= .l-4up--1 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ @include zen-grid-item(3,1); } } .l-4up--2 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(3,4); } } .l-4up--3 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(3,7); } } .l-4up--4 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(3,10); } } diff --git a/source/code/sass/layouts/_l-66-33.scss b/source/code/sass/layouts/_l-66-33.scss index 433d955..489193d 100644 --- a/source/code/sass/layouts/_l-66-33.scss +++ b/source/code/sass/layouts/_l-66-33.scss @@ -4,7 +4,7 @@ */ .l-66-33--1 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ @include zen-grid-item(8,1); @@ -12,10 +12,10 @@ } .l-66-33--2 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(4,9); } } diff --git a/source/code/sass/layouts/_l-6up.scss b/source/code/sass/layouts/_l-6up.scss index ef78ce7..aa6abdb 100644 --- a/source/code/sass/layouts/_l-6up.scss +++ b/source/code/sass/layouts/_l-6up.scss @@ -4,7 +4,7 @@ */ .l-6up--1 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ @include zen-grid-item(2,1); @@ -12,46 +12,46 @@ } .l-6up--2 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(2,3); } } .l-6up--3 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(2,5); } } .l-6up--4 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(2,7); } } .l-6up--5 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(2,9); } } .l-6up--6 { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(2,11); } } diff --git a/source/code/sass/layouts/_l-zen-grids-base.scss b/source/code/sass/layouts/_l-zen-grids-base.scss index f73668a..f022c31 100644 --- a/source/code/sass/layouts/_l-zen-grids-base.scss +++ b/source/code/sass/layouts/_l-zen-grids-base.scss @@ -20,41 +20,41 @@ $zen-auto-include-item-base: true; // Suppress this section of CSS for RTL layouts since it contains no LTR-specific styles. -@if $zen-reverse-all-floats == false { - -/* - * Center the page. - */ - -.container { - /* For screen sizes larger than 1200px, prevent excessively long lines of text - by setting a max-width. */ - margin-left: auto; - margin-right: auto; - min-width: 260px; /* enforces a min-width in FF. */ - @include breakpoint($bp1) { width: 90%; } - @include breakpoint($bp2) { max-width: 1400px; } -} - -/* - * Apply the shared properties of grid items in a single, efficient ruleset. - */ -// See the note about $zen-auto-include-item-base above. - -.container, -.grid-item { - @include zen-grid-item-base(); -} - -/* - * Containers for grid items and flow items. - */ - -.container { - @include zen-grid-container(); -} - -} // End of @if $zen-reverse-all-floats == true +//@if $zen-reverse-all-floats == false { +// +///* +// * Center the page. +// */ +// +//.container { +// /* For screen sizes larger than 1200px, prevent excessively long lines of text +// by setting a max-width. */ +// margin-left: auto; +// margin-right: auto; +// min-width: 260px; /* enforces a min-width in FF. */ +// @include breakpoint($bp1) { width: 90%; } +// @include breakpoint($bp2) { max-width: 1400px; } +//} +// +///* +// * Apply the shared properties of grid items in a single, efficient ruleset. +// */ +//// See the note about $zen-auto-include-item-base above. +// +//.container, +//.grid-item { +// @include zen-grid-item-base(); +//} +// +///* +// * Containers for grid items and flow items. +// */ +// +//.container { +// @include zen-grid-container(); +//} +// +//} // End of @if $zen-reverse-all-floats == true // Dynamically alters the outside padding on zengrid containers .container { diff --git a/source/code/sass/styleguide/_styleguide.scss b/source/code/sass/styleguide/_styleguide.scss index 8a09258..10b26a1 100644 --- a/source/code/sass/styleguide/_styleguide.scss +++ b/source/code/sass/styleguide/_styleguide.scss @@ -6,7 +6,7 @@ */ .l-styleguide-column { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12, 1); @include breakpoint($bp1){ @include zen-grid-item(8, 1); @@ -18,10 +18,10 @@ } .l-styleguide-rail { - @include zen-clear(); + //@include zen-clear(); @include zen-grid-item(12, 1); @include breakpoint($bp1){ - @include zen-clear(none); + //@include zen-clear(none); @include zen-grid-item(4, 1); } @include breakpoint($bp2){ @@ -30,7 +30,7 @@ } .styleguide-copyright { - @include adjust-font-size-to($label, 1.5); + //@include adjust-font-size-to($label, 1.5); color:$gray-medium; padding: rhythm(6, $text) 0; margin-top: rhythm(10, $text); @@ -53,8 +53,8 @@ .styleguide-list { padding: 0 0 0 rhythm(2, $text); h4 { - @include leader(0); - @include trailer(0.25); + //@include leader(0); + //@include trailer(0.25); font-weight: 400; } } @@ -84,7 +84,7 @@ .color-label { color:$gray-medium; - @include trailer(2); + //@include trailer(2); } .styleguide-swatch { From 3910785ef1bc0e69aa06136a3e10692aec94c50b Mon Sep 17 00:00:00 2001 From: palantir-team Date: Wed, 2 Mar 2016 17:30:09 -0600 Subject: [PATCH 05/22] fix zen-grids mixin name changes --- source/code/css/styles.css | 492 ++++++++++++------ source/code/sass/layouts/_l-1up.scss | 2 +- source/code/sass/layouts/_l-2up.scss | 14 +- source/code/sass/layouts/_l-33-66.scss | 6 +- source/code/sass/layouts/_l-3up.scss | 13 +- source/code/sass/layouts/_l-4up.scss | 28 +- source/code/sass/layouts/_l-66-33.scss | 6 +- source/code/sass/layouts/_l-6up.scss | 22 +- .../code/sass/layouts/_l-zen-grids-base.scss | 70 ++- 9 files changed, 414 insertions(+), 239 deletions(-) diff --git a/source/code/css/styles.css b/source/code/css/styles.css index 4ace3bb..dd362a9 100644 --- a/source/code/css/styles.css +++ b/source/code/css/styles.css @@ -879,6 +879,54 @@ table { * Define zen grids base settings here. * @see http://zengrids.com */ +/* + * Center the page. + */ +.container { + /* For screen sizes larger than 1200px, prevent excessively long lines of text + by setting a max-width. */ + margin-left: auto; + margin-right: auto; + min-width: 260px; + /* enforces a min-width in FF. */ +} + +@media (min-width: 600px) { + .container { + width: 90%; + } +} + +@media (min-width: 900px) { + .container { + max-width: 1400px; + } +} + +/* + * Apply the shared properties of grid items in a single, efficient ruleset. + */ +.container, +.grid-item { + padding-left: 12px; + padding-right: 12px; + box-sizing: border-box; +} + +/* + * Containers for grid items and flow items. + */ +.container:before { + content: ""; + display: table; +} + +.container:after { + content: ""; + display: table; + clear: both; +} + .container { padding-left: 0; padding-right: 0; @@ -889,12 +937,13 @@ table { * Layout rules for full-width content */ .l-1up { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @@ -903,45 +952,48 @@ table { * Layout rules for two thirds / one third (66/33) content */ .l-66-33--1 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-66-33--1 { float: left; - width: 800%; + width: 66.66667%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-66-33--2 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-66-33--2 { + clear: none; float: left; - width: 400%; - margin-left: 800%; + width: 33.33333%; + margin-left: 66.66667%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } @@ -951,45 +1003,48 @@ table { * Layout rules for one third / two thirds (33/66) content */ .l-33-66--1 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-33-66--1 { float: left; - width: 400%; + width: 33.33333%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-33-66--2 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-33-66--2 { + clear: none; float: left; - width: 800%; - margin-left: 400%; + width: 66.66667%; + margin-left: 33.33333%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } @@ -1000,51 +1055,85 @@ table { */ .l-2up { float: left; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; + box-sizing: border-box; + width: 100%; + padding-left: 0; + padding-right: 0px; + margin-right: 0px; +} + +@media (min-width: 900px) { + .l-2up { + box-sizing: border-box; + width: 50%; + padding-left: 0; + padding-right: 12px; + margin-right: 12px; + } +} + +@media (min-width: 900px) { + .l-2up:nth-of-type(2n) { + box-sizing: border-box; + width: 50%; + padding-left: 0; + padding-right: 12px; + margin-right: -12px; + } +} + +@media (min-width: 900px) { + .l-2up:nth-of-type(2n+1) { + clear: left; + } } .l-2up--1 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-2up--1 { float: left; - width: 600%; + width: 50%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-2up--2 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-2up--2 { + clear: none; float: left; - width: 600%; - margin-left: 600%; + width: 50%; + margin-left: 50%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } @@ -1055,73 +1144,85 @@ table { */ .l-3up { float: left; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } +@media (min-width: 1100px) { + .l-3up:nth-of-type(3n+1) { + clear: left; + } +} + .l-3up--1 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-3up--1 { + clear: left; float: left; - width: 400%; + width: 33.33333%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-3up--2 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-3up--2 { + clear: none; float: left; - width: 400%; - margin-left: 400%; + width: 33.33333%; + margin-left: 33.33333%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-3up--3 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-3up--3 { + clear: none; float: left; - width: 400%; - margin-left: 800%; + width: 33.33333%; + margin-left: 66.66667%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } @@ -1132,95 +1233,163 @@ table { */ .l-4up { float: left; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; + box-sizing: border-box; box-sizing: border-box; + width: 100%; + padding-left: 0; + padding-right: 0px; + margin-right: 0px; +} + +@media (min-width: 600px) { + .l-4up { + box-sizing: border-box; + width: 50%; + padding-left: 0; + padding-right: 12px; + margin-right: 12px; + } +} + +@media (min-width: 1100px) { + .l-4up { + box-sizing: border-box; + width: 25%; + padding-left: 0; + padding-right: 18px; + margin-right: 6px; + } +} + +@media (min-width: 600px) { + .l-4up:nth-of-type(2n) { + box-sizing: border-box; + width: 50%; + padding-left: 0; + padding-right: 12px; + margin-right: -12px; + } +} + +@media (min-width: 1100px) { + .l-4up:nth-of-type(2n) { + box-sizing: border-box; + width: 25%; + padding-left: 0; + padding-right: 18px; + margin-right: 6px; + } +} + +@media (min-width: 1100px) { + .l-4up:nth-of-type(4n) { + box-sizing: border-box; + width: 25%; + padding-left: 0; + padding-right: 18px; + margin-right: -18px; + } +} + +@media (min-width: 1100px) { + .l-4up:nth-of-type(4n+1) { + clear: left; + } } .l-4up--1 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-4up--1 { float: left; - width: 300%; + width: 25%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-4up--2 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-4up--2 { + clear: none; float: left; - width: 300%; - margin-left: 300%; + width: 25%; + margin-left: 25%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-4up--3 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-4up--3 { + clear: none; float: left; - width: 300%; - margin-left: 600%; + width: 25%; + margin-left: 50%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-4up--4 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-4up--4 { + clear: none; float: left; - width: 300%; - margin-left: 900%; + width: 25%; + margin-left: 75%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } @@ -1230,133 +1399,144 @@ table { * Layout rules for 6-up content */ .l-6up--1 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-6up--1 { float: left; - width: 200%; + width: 16.66667%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-6up--2 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-6up--2 { + clear: none; float: left; - width: 200%; - margin-left: 200%; + width: 16.66667%; + margin-left: 16.66667%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-6up--3 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-6up--3 { + clear: none; float: left; - width: 200%; - margin-left: 400%; + width: 16.66667%; + margin-left: 33.33333%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-6up--4 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-6up--4 { + clear: none; float: left; - width: 200%; - margin-left: 600%; + width: 16.66667%; + margin-left: 50%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-6up--5 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-6up--5 { + clear: none; float: left; - width: 200%; - margin-left: 800%; + width: 16.66667%; + margin-left: 66.66667%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-6up--6 { + clear: left; float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-6up--6 { + clear: none; float: left; - width: 200%; - margin-left: 1000%; + width: 16.66667%; + margin-left: 83.33333%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } @@ -1371,22 +1551,22 @@ table { */ .l-styleguide-column { float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-styleguide-column { float: left; - width: 800%; + width: 66.66667%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } @@ -1394,33 +1574,33 @@ table { @media (min-width: 900px) { .l-styleguide-column { float: left; - width: 700%; - margin-left: 100%; + width: 58.33333%; + margin-left: 8.33333%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } .l-styleguide-rail { float: left; - width: 1200%; + width: 100%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } @media (min-width: 600px) { .l-styleguide-rail { float: left; - width: 400%; + width: 33.33333%; margin-left: 0%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } @@ -1428,11 +1608,11 @@ table { @media (min-width: 900px) { .l-styleguide-rail { float: left; - width: 300%; - margin-left: 100%; + width: 25%; + margin-left: 8.33333%; margin-right: -100%; - padding-left: 10px; - padding-right: 10px; + padding-left: 12px; + padding-right: 12px; box-sizing: border-box; } } diff --git a/source/code/sass/layouts/_l-1up.scss b/source/code/sass/layouts/_l-1up.scss index 551ad06..e759132 100644 --- a/source/code/sass/layouts/_l-1up.scss +++ b/source/code/sass/layouts/_l-1up.scss @@ -4,6 +4,6 @@ */ .l-1up { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); } diff --git a/source/code/sass/layouts/_l-2up.scss b/source/code/sass/layouts/_l-2up.scss index f8f7ded..9064643 100644 --- a/source/code/sass/layouts/_l-2up.scss +++ b/source/code/sass/layouts/_l-2up.scss @@ -13,21 +13,21 @@ .l-2up { float: left; @include zen-grid-item-base(); - //@include zen-grid-flow-item(12, 12, $omega-gutter: false); + @include zen-flow-item-width(12, 12, $omega-gutter: false); @include breakpoint($bp2){ - //@include zen-grid-flow-item(6, 12, $omega-gutter: true); + @include zen-flow-item-width(6, 12, $omega-gutter: true); } } // make every 2nd list item wrap .l-2up:nth-of-type(2n) { @include breakpoint($bp2){ - //@include zen-grid-flow-item(6, 12, $omega-gutter: false); + @include zen-flow-item-width(6, 12, $omega-gutter: false); } } // clears a new row from the tallest element in the row above .l-2up:nth-of-type(2n+1) { @include breakpoint($bp2){ - //@include zen-clear(); + @include zen-new-row(); } } @@ -36,17 +36,17 @@ // ============================================================================= .l-2up--1 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ @include zen-grid-item(6,1); } } .l-2up--2 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(6,7); } } diff --git a/source/code/sass/layouts/_l-33-66.scss b/source/code/sass/layouts/_l-33-66.scss index 01fcd21..4220c68 100644 --- a/source/code/sass/layouts/_l-33-66.scss +++ b/source/code/sass/layouts/_l-33-66.scss @@ -4,7 +4,7 @@ */ .l-33-66--1 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ @include zen-grid-item(4,1); @@ -12,10 +12,10 @@ } .l-33-66--2 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(8,5); } } diff --git a/source/code/sass/layouts/_l-3up.scss b/source/code/sass/layouts/_l-3up.scss index 6634bbc..37cef31 100644 --- a/source/code/sass/layouts/_l-3up.scss +++ b/source/code/sass/layouts/_l-3up.scss @@ -39,7 +39,7 @@ // clears a new row from the tallest element in the row above .l-3up:nth-of-type(3n+1) { @include breakpoint($bp3){ - //@include zen-clear(); + @include zen-new-row(); } } @@ -48,25 +48,26 @@ // ============================================================================= .l-3up--1 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ + @include zen-new-row(); @include zen-grid-item(4,1); } } .l-3up--2 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(4,5); } } .l-3up--3 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(4,9); } } diff --git a/source/code/sass/layouts/_l-4up.scss b/source/code/sass/layouts/_l-4up.scss index 7731978..08b662b 100644 --- a/source/code/sass/layouts/_l-4up.scss +++ b/source/code/sass/layouts/_l-4up.scss @@ -13,33 +13,33 @@ .l-4up { float: left; @include zen-grid-item-base(); - //@include zen-grid-flow-item(12, 12, $omega-gutter: false); + @include zen-flow-item-width(12, 12, $omega-gutter: false); @include breakpoint($bp1){ - //@include zen-grid-flow-item(6, 12, $omega-gutter: true); + @include zen-flow-item-width(6, 12, $omega-gutter: true); } @include breakpoint($bp3){ - //@include zen-grid-flow-item(3, 12, $omega-gutter: true); + @include zen-flow-item-width(3, 12, $omega-gutter: true); } } // make every 2nd list item wrap .l-4up:nth-of-type(2n) { @include breakpoint($bp1){ - //@include zen-grid-flow-item(6, 12, $omega-gutter: false); + @include zen-flow-item-width(6, 12, $omega-gutter: false); } @include breakpoint($bp3){ - //@include zen-grid-flow-item(3, 12, $omega-gutter: true); + @include zen-flow-item-width(3, 12, $omega-gutter: true); } } // make every 4th list item wrap .l-4up:nth-of-type(4n) { @include breakpoint($bp3){ - //@include zen-grid-flow-item(3, 12, $omega-gutter: false); + @include zen-flow-item-width(3, 12, $omega-gutter: false); } } // clears a new row from the tallest element in the row above .l-4up:nth-of-type(4n+1) { @include breakpoint($bp3){ - //@include zen-clear(); + @include zen-new-row(); } } @@ -48,33 +48,33 @@ // ============================================================================= .l-4up--1 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ @include zen-grid-item(3,1); } } .l-4up--2 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(3,4); } } .l-4up--3 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(3,7); } } .l-4up--4 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(3,10); } } diff --git a/source/code/sass/layouts/_l-66-33.scss b/source/code/sass/layouts/_l-66-33.scss index 489193d..0c38eb2 100644 --- a/source/code/sass/layouts/_l-66-33.scss +++ b/source/code/sass/layouts/_l-66-33.scss @@ -4,7 +4,7 @@ */ .l-66-33--1 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ @include zen-grid-item(8,1); @@ -12,10 +12,10 @@ } .l-66-33--2 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(4,9); } } diff --git a/source/code/sass/layouts/_l-6up.scss b/source/code/sass/layouts/_l-6up.scss index aa6abdb..f4ad4fc 100644 --- a/source/code/sass/layouts/_l-6up.scss +++ b/source/code/sass/layouts/_l-6up.scss @@ -4,7 +4,7 @@ */ .l-6up--1 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ @include zen-grid-item(2,1); @@ -12,46 +12,46 @@ } .l-6up--2 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(2,3); } } .l-6up--3 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(2,5); } } .l-6up--4 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(2,7); } } .l-6up--5 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(2,9); } } .l-6up--6 { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12,1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(2,11); } } diff --git a/source/code/sass/layouts/_l-zen-grids-base.scss b/source/code/sass/layouts/_l-zen-grids-base.scss index f022c31..0ff403d 100644 --- a/source/code/sass/layouts/_l-zen-grids-base.scss +++ b/source/code/sass/layouts/_l-zen-grids-base.scss @@ -6,8 +6,8 @@ // We are going to create a 980px wide, 12 column grid with 48px gutters between // columns (applied as 24px of left/right padding on each column). -$zen-column-count: 12; -$zen-gutter-width: $base-line-height * 2; +$zen-columns: 12; +$zen-gutters: $base-line-height * 2; // If you need IE6/7 support for box-sizing: border-box (default), see _base.scss //$zen-box-sizing: content-box; @@ -18,43 +18,37 @@ $zen-gutter-width: $base-line-height * 2; $zen-auto-include-item-base: true; // $zen-auto-include-flow-item-base: false; +/* + * Center the page. + */ + +.container { + /* For screen sizes larger than 1200px, prevent excessively long lines of text + by setting a max-width. */ + margin-left: auto; + margin-right: auto; + min-width: 260px; /* enforces a min-width in FF. */ + @include breakpoint($bp1) { width: 90%; } + @include breakpoint($bp2) { max-width: 1400px; } +} + +/* + * Apply the shared properties of grid items in a single, efficient ruleset. + */ +// See the note about $zen-auto-include-item-base above. -// Suppress this section of CSS for RTL layouts since it contains no LTR-specific styles. -//@if $zen-reverse-all-floats == false { -// -///* -// * Center the page. -// */ -// -//.container { -// /* For screen sizes larger than 1200px, prevent excessively long lines of text -// by setting a max-width. */ -// margin-left: auto; -// margin-right: auto; -// min-width: 260px; /* enforces a min-width in FF. */ -// @include breakpoint($bp1) { width: 90%; } -// @include breakpoint($bp2) { max-width: 1400px; } -//} -// -///* -// * Apply the shared properties of grid items in a single, efficient ruleset. -// */ -//// See the note about $zen-auto-include-item-base above. -// -//.container, -//.grid-item { -// @include zen-grid-item-base(); -//} -// -///* -// * Containers for grid items and flow items. -// */ -// -//.container { -// @include zen-grid-container(); -//} -// -//} // End of @if $zen-reverse-all-floats == true +.container, +.grid-item { + @include zen-grid-item-base(); +} + +/* + * Containers for grid items and flow items. + */ + +.container { + @include zen-grid-container(); +} // Dynamically alters the outside padding on zengrid containers .container { From 1a063fe9562a4a0912308bdba7713488d15cb8dd Mon Sep 17 00:00:00 2001 From: palantir-team Date: Thu, 3 Mar 2016 09:55:59 -0600 Subject: [PATCH 06/22] add npm-shrinkwrap.json --- npm-shrinkwrap.json | 1455 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1455 insertions(+) create mode 100644 npm-shrinkwrap.json diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json new file mode 100644 index 0000000..4bdac79 --- /dev/null +++ b/npm-shrinkwrap.json @@ -0,0 +1,1455 @@ +{ + "name": "butler", + "version": "1.0.0", + "dependencies": { + "abbrev": { + "version": "1.0.7", + "from": "abbrev@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz" + }, + "ansi": { + "version": "0.3.1", + "from": "ansi@>=0.3.1 <0.4.0", + "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz" + }, + "ansi-regex": { + "version": "2.0.0", + "from": "ansi-regex@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + }, + "ansi-styles": { + "version": "2.2.0", + "from": "ansi-styles@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.0.tgz" + }, + "archy": { + "version": "1.0.0", + "from": "archy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" + }, + "are-we-there-yet": { + "version": "1.0.6", + "from": "are-we-there-yet@>=1.0.6 <1.1.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz" + }, + "array-differ": { + "version": "1.0.0", + "from": "array-differ@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz" + }, + "array-find-index": { + "version": "1.0.1", + "from": "array-find-index@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz" + }, + "array-index": { + "version": "1.0.0", + "from": "array-index@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz" + }, + "array-uniq": { + "version": "1.0.2", + "from": "array-uniq@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz" + }, + "asn1": { + "version": "0.2.3", + "from": "asn1@>=0.2.3 <0.3.0", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" + }, + "assert-plus": { + "version": "0.2.0", + "from": "assert-plus@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" + }, + "async": { + "version": "1.5.2", + "from": "async@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" + }, + "async-foreach": { + "version": "0.1.3", + "from": "async-foreach@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz" + }, + "autoprefixer": { + "version": "6.3.3", + "from": "autoprefixer@>=6.0.0 <7.0.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.3.3.tgz" + }, + "aws-sign2": { + "version": "0.6.0", + "from": "aws-sign2@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" + }, + "aws4": { + "version": "1.3.2", + "from": "aws4@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.3.2.tgz", + "dependencies": { + "lru-cache": { + "version": "4.0.0", + "from": "lru-cache@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz" + } + } + }, + "balanced-match": { + "version": "0.3.0", + "from": "balanced-match@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz" + }, + "beeper": { + "version": "1.1.0", + "from": "beeper@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz" + }, + "bl": { + "version": "1.0.3", + "from": "bl@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.5", + "from": "readable-stream@>=2.0.5 <2.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz" + } + } + }, + "block-stream": { + "version": "0.0.8", + "from": "block-stream@*", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz" + }, + "boom": { + "version": "2.10.1", + "from": "boom@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + }, + "brace-expansion": { + "version": "1.1.3", + "from": "brace-expansion@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz" + }, + "browserslist": { + "version": "1.1.3", + "from": "browserslist@>=1.1.3 <1.2.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.1.3.tgz" + }, + "builtin-modules": { + "version": "1.1.1", + "from": "builtin-modules@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" + }, + "camelcase": { + "version": "2.1.0", + "from": "camelcase@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.0.tgz" + }, + "camelcase-keys": { + "version": "2.0.0", + "from": "camelcase-keys@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.0.0.tgz" + }, + "caniuse-db": { + "version": "1.0.30000414", + "from": "caniuse-db@>=1.0.30000409 <2.0.0", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000414.tgz" + }, + "caseless": { + "version": "0.11.0", + "from": "caseless@>=0.11.0 <0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" + }, + "chalk": { + "version": "1.1.1", + "from": "chalk@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz" + }, + "cliui": { + "version": "3.1.0", + "from": "cliui@>=3.0.3 <4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.1.0.tgz" + }, + "clone": { + "version": "1.0.2", + "from": "clone@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz" + }, + "clone-stats": { + "version": "0.0.1", + "from": "clone-stats@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + }, + "code-point-at": { + "version": "1.0.0", + "from": "code-point-at@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz" + }, + "color-convert": { + "version": "1.0.0", + "from": "color-convert@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.0.0.tgz" + }, + "combined-stream": { + "version": "1.0.5", + "from": "combined-stream@>=1.0.5 <1.1.0", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" + }, + "commander": { + "version": "2.9.0", + "from": "commander@>=2.9.0 <3.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + }, + "concat-stream": { + "version": "1.5.1", + "from": "concat-stream@>=1.4.7 <2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.5", + "from": "readable-stream@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz" + } + } + }, + "config-chain": { + "version": "1.1.10", + "from": "config-chain@>=1.1.8 <1.2.0", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.10.tgz" + }, + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "cross-spawn": { + "version": "2.1.5", + "from": "cross-spawn@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-2.1.5.tgz" + }, + "cross-spawn-async": { + "version": "2.1.9", + "from": "cross-spawn-async@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.1.9.tgz", + "dependencies": { + "lru-cache": { + "version": "4.0.0", + "from": "lru-cache@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz" + } + } + }, + "cryptiles": { + "version": "2.0.5", + "from": "cryptiles@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" + }, + "d": { + "version": "0.1.1", + "from": "d@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz" + }, + "dashdash": { + "version": "1.13.0", + "from": "dashdash@>=1.10.1 <2.0.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.13.0.tgz", + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + } + } + }, + "dateformat": { + "version": "1.0.12", + "from": "dateformat@>=1.0.11 <2.0.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz" + }, + "debug": { + "version": "2.2.0", + "from": "debug@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" + }, + "decamelize": { + "version": "1.1.2", + "from": "decamelize@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.1.2.tgz" + }, + "defaults": { + "version": "1.0.3", + "from": "defaults@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" + }, + "delayed-stream": { + "version": "1.0.0", + "from": "delayed-stream@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + }, + "delegates": { + "version": "1.0.0", + "from": "delegates@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" + }, + "deprecated": { + "version": "0.0.1", + "from": "deprecated@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz" + }, + "duplexer2": { + "version": "0.0.2", + "from": "duplexer2@0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz" + }, + "ecc-jsbn": { + "version": "0.1.1", + "from": "ecc-jsbn@>=0.0.1 <1.0.0", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" + }, + "end-of-stream": { + "version": "0.1.5", + "from": "end-of-stream@>=0.1.5 <0.2.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz" + }, + "error-ex": { + "version": "1.3.0", + "from": "error-ex@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz" + }, + "es5-ext": { + "version": "0.10.11", + "from": "es5-ext@>=0.10.10 <0.11.0", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.11.tgz" + }, + "es6-iterator": { + "version": "2.0.0", + "from": "es6-iterator@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz" + }, + "es6-symbol": { + "version": "3.0.2", + "from": "es6-symbol@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.0.2.tgz" + }, + "escape-string-regexp": { + "version": "1.0.5", + "from": "escape-string-regexp@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + }, + "extend": { + "version": "2.0.1", + "from": "extend@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-2.0.1.tgz" + }, + "extsprintf": { + "version": "1.0.2", + "from": "extsprintf@1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" + }, + "fancy-log": { + "version": "1.2.0", + "from": "fancy-log@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz" + }, + "find-index": { + "version": "0.1.1", + "from": "find-index@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz" + }, + "find-up": { + "version": "1.1.1", + "from": "find-up@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.1.tgz" + }, + "findup-sync": { + "version": "0.3.0", + "from": "findup-sync@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz" + }, + "first-chunk-stream": { + "version": "1.0.0", + "from": "first-chunk-stream@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz" + }, + "flagged-respawn": { + "version": "0.3.1", + "from": "flagged-respawn@>=0.3.1 <0.4.0", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.1.tgz" + }, + "forever-agent": { + "version": "0.6.1", + "from": "forever-agent@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + }, + "form-data": { + "version": "1.0.0-rc3", + "from": "form-data@>=1.0.0-rc3 <1.1.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz" + }, + "fstream": { + "version": "1.0.8", + "from": "fstream@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.8.tgz" + }, + "gauge": { + "version": "1.2.7", + "from": "gauge@>=1.2.5 <1.3.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz" + }, + "gaze": { + "version": "0.5.2", + "from": "gaze@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz" + }, + "generate-function": { + "version": "2.0.0", + "from": "generate-function@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" + }, + "generate-object-property": { + "version": "1.2.0", + "from": "generate-object-property@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" + }, + "get-stdin": { + "version": "4.0.1", + "from": "get-stdin@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" + }, + "glob": { + "version": "5.0.15", + "from": "glob@>=5.0.0 <5.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" + }, + "glob-stream": { + "version": "3.1.18", + "from": "glob-stream@>=3.1.5 <4.0.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", + "dependencies": { + "glob": { + "version": "4.5.3", + "from": "glob@>=4.3.1 <5.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz" + }, + "minimatch": { + "version": "2.0.10", + "from": "minimatch@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz" + }, + "readable-stream": { + "version": "1.0.33", + "from": "readable-stream@>=1.0.33-1 <1.1.0-0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz" + }, + "through2": { + "version": "0.6.5", + "from": "through2@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" + } + } + }, + "glob-watcher": { + "version": "0.0.6", + "from": "glob-watcher@>=0.0.6 <0.0.7", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz" + }, + "glob2base": { + "version": "0.0.12", + "from": "glob2base@>=0.0.12 <0.0.13", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz" + }, + "globule": { + "version": "0.1.0", + "from": "globule@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "dependencies": { + "glob": { + "version": "3.1.21", + "from": "glob@>=3.1.21 <3.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz" + }, + "graceful-fs": { + "version": "1.2.3", + "from": "graceful-fs@>=1.2.0 <1.3.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + }, + "inherits": { + "version": "1.0.2", + "from": "inherits@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz" + }, + "minimatch": { + "version": "0.2.14", + "from": "minimatch@>=0.2.11 <0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz" + } + } + }, + "glogg": { + "version": "1.0.0", + "from": "glogg@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz" + }, + "graceful-fs": { + "version": "4.1.3", + "from": "graceful-fs@>=4.1.2 <5.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz" + }, + "graceful-readlink": { + "version": "1.0.1", + "from": "graceful-readlink@>=1.0.0", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" + }, + "gulp-util": { + "version": "3.0.7", + "from": "gulp-util@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz" + }, + "gulplog": { + "version": "1.0.0", + "from": "gulplog@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz" + }, + "har-validator": { + "version": "2.0.6", + "from": "har-validator@>=2.0.6 <2.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" + }, + "has-ansi": { + "version": "2.0.0", + "from": "has-ansi@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + }, + "has-flag": { + "version": "1.0.0", + "from": "has-flag@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" + }, + "has-gulplog": { + "version": "0.1.0", + "from": "has-gulplog@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz" + }, + "has-unicode": { + "version": "2.0.0", + "from": "has-unicode@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.0.tgz" + }, + "hawk": { + "version": "3.1.3", + "from": "hawk@>=3.1.0 <3.2.0", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" + }, + "hoek": { + "version": "2.16.3", + "from": "hoek@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + }, + "hosted-git-info": { + "version": "2.1.4", + "from": "hosted-git-info@>=2.1.4 <3.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz" + }, + "http-signature": { + "version": "1.1.1", + "from": "http-signature@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" + }, + "indent-string": { + "version": "2.1.0", + "from": "indent-string@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" + }, + "inflight": { + "version": "1.0.4", + "from": "inflight@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz" + }, + "inherits": { + "version": "2.0.1", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + }, + "ini": { + "version": "1.3.4", + "from": "ini@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" + }, + "interpret": { + "version": "1.0.0", + "from": "interpret@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.0.tgz" + }, + "invert-kv": { + "version": "1.0.0", + "from": "invert-kv@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" + }, + "is-absolute": { + "version": "0.1.7", + "from": "is-absolute@>=0.1.7 <0.2.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz" + }, + "is-arrayish": { + "version": "0.2.1", + "from": "is-arrayish@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + }, + "is-builtin-module": { + "version": "1.0.0", + "from": "is-builtin-module@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz" + }, + "is-finite": { + "version": "1.0.1", + "from": "is-finite@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + }, + "is-my-json-valid": { + "version": "2.13.1", + "from": "is-my-json-valid@>=2.12.4 <3.0.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" + }, + "is-property": { + "version": "1.0.2", + "from": "is-property@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" + }, + "is-relative": { + "version": "0.1.3", + "from": "is-relative@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz" + }, + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + }, + "is-utf8": { + "version": "0.2.1", + "from": "is-utf8@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "isexe": { + "version": "1.1.2", + "from": "isexe@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz" + }, + "isstream": { + "version": "0.1.2", + "from": "isstream@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + }, + "jodid25519": { + "version": "1.0.2", + "from": "jodid25519@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" + }, + "js-base64": { + "version": "2.1.9", + "from": "js-base64@>=2.1.9 <3.0.0", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz" + }, + "jsbn": { + "version": "0.1.0", + "from": "jsbn@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" + }, + "json-schema": { + "version": "0.2.2", + "from": "json-schema@0.2.2", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" + }, + "json-stringify-safe": { + "version": "5.0.1", + "from": "json-stringify-safe@>=5.0.1 <5.1.0", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + }, + "jsonpointer": { + "version": "2.0.0", + "from": "jsonpointer@2.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" + }, + "jsprim": { + "version": "1.2.2", + "from": "jsprim@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz" + }, + "lcid": { + "version": "1.0.0", + "from": "lcid@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" + }, + "liftoff": { + "version": "2.2.0", + "from": "liftoff@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.2.0.tgz" + }, + "load-json-file": { + "version": "1.1.0", + "from": "load-json-file@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" + }, + "lodash": { + "version": "1.0.2", + "from": "lodash@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz" + }, + "lodash._basecopy": { + "version": "3.0.1", + "from": "lodash._basecopy@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz" + }, + "lodash._basetostring": { + "version": "3.0.1", + "from": "lodash._basetostring@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz" + }, + "lodash._basevalues": { + "version": "3.0.0", + "from": "lodash._basevalues@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz" + }, + "lodash._getnative": { + "version": "3.9.1", + "from": "lodash._getnative@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz" + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "from": "lodash._isiterateecall@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz" + }, + "lodash._reescape": { + "version": "3.0.0", + "from": "lodash._reescape@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz" + }, + "lodash._reevaluate": { + "version": "3.0.0", + "from": "lodash._reevaluate@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "from": "lodash._reinterpolate@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" + }, + "lodash._root": { + "version": "3.0.1", + "from": "lodash._root@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz" + }, + "lodash.escape": { + "version": "3.2.0", + "from": "lodash.escape@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz" + }, + "lodash.isarguments": { + "version": "3.0.8", + "from": "lodash.isarguments@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.0.8.tgz" + }, + "lodash.isarray": { + "version": "3.0.4", + "from": "lodash.isarray@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz" + }, + "lodash.keys": { + "version": "3.1.2", + "from": "lodash.keys@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz" + }, + "lodash.pad": { + "version": "4.1.0", + "from": "lodash.pad@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.1.0.tgz" + }, + "lodash.padend": { + "version": "4.2.0", + "from": "lodash.padend@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.2.0.tgz" + }, + "lodash.padstart": { + "version": "4.2.0", + "from": "lodash.padstart@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.2.0.tgz" + }, + "lodash.repeat": { + "version": "4.0.0", + "from": "lodash.repeat@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.0.0.tgz" + }, + "lodash.restparam": { + "version": "3.6.1", + "from": "lodash.restparam@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz" + }, + "lodash.template": { + "version": "3.6.2", + "from": "lodash.template@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz" + }, + "lodash.templatesettings": { + "version": "3.1.1", + "from": "lodash.templatesettings@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz" + }, + "lodash.tostring": { + "version": "4.1.2", + "from": "lodash.tostring@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.2.tgz" + }, + "loud-rejection": { + "version": "1.3.0", + "from": "loud-rejection@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.3.0.tgz" + }, + "lru-cache": { + "version": "2.7.3", + "from": "lru-cache@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + }, + "map-obj": { + "version": "1.0.1", + "from": "map-obj@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + }, + "meow": { + "version": "3.7.0", + "from": "meow@>=3.3.0 <4.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "dependencies": { + "object-assign": { + "version": "4.0.1", + "from": "object-assign@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.0.1.tgz" + } + } + }, + "mime-db": { + "version": "1.22.0", + "from": "mime-db@>=1.22.0 <1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" + }, + "mime-types": { + "version": "2.1.10", + "from": "mime-types@>=2.1.7 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz" + }, + "minimatch": { + "version": "3.0.0", + "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz" + }, + "minimist": { + "version": "1.2.0", + "from": "minimist@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + }, + "mkdirp": { + "version": "0.5.1", + "from": "mkdirp@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "dependencies": { + "minimist": { + "version": "0.0.8", + "from": "minimist@0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + } + } + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + }, + "multipipe": { + "version": "0.1.2", + "from": "multipipe@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz" + }, + "nan": { + "version": "2.2.0", + "from": "nan@>=2.0.8 <3.0.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.2.0.tgz" + }, + "node-gyp": { + "version": "3.3.0", + "from": "node-gyp@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.3.0.tgz", + "dependencies": { + "glob": { + "version": "4.5.3", + "from": "glob@>=3.0.0 <4.0.0||>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "dependencies": { + "minimatch": { + "version": "2.0.10", + "from": "minimatch@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz" + } + } + }, + "minimatch": { + "version": "1.0.0", + "from": "minimatch@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz" + } + } + }, + "node-sass": { + "version": "3.4.2", + "from": "node-sass@>=3.4.1 <4.0.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.4.2.tgz" + }, + "node-uuid": { + "version": "1.4.7", + "from": "node-uuid@>=1.4.7 <1.5.0", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" + }, + "nopt": { + "version": "3.0.6", + "from": "nopt@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" + }, + "normalize-package-data": { + "version": "2.3.5", + "from": "normalize-package-data@>=2.3.4 <3.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz" + }, + "normalize-range": { + "version": "0.1.2", + "from": "normalize-range@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + }, + "npmconf": { + "version": "2.1.2", + "from": "npmconf@>=2.1.2 <3.0.0", + "resolved": "https://registry.npmjs.org/npmconf/-/npmconf-2.1.2.tgz" + }, + "npmlog": { + "version": "2.0.2", + "from": "npmlog@>=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.2.tgz" + }, + "num2fraction": { + "version": "1.2.2", + "from": "num2fraction@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz" + }, + "number-is-nan": { + "version": "1.0.0", + "from": "number-is-nan@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" + }, + "oauth-sign": { + "version": "0.8.1", + "from": "oauth-sign@>=0.8.0 <0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.1.tgz" + }, + "object-assign": { + "version": "3.0.0", + "from": "object-assign@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz" + }, + "once": { + "version": "1.3.3", + "from": "once@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" + }, + "orchestrator": { + "version": "0.3.7", + "from": "orchestrator@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.7.tgz" + }, + "ordered-read-streams": { + "version": "0.1.0", + "from": "ordered-read-streams@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz" + }, + "os-homedir": { + "version": "1.0.1", + "from": "os-homedir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz" + }, + "os-locale": { + "version": "1.4.0", + "from": "os-locale@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" + }, + "os-shim": { + "version": "0.1.3", + "from": "os-shim@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz" + }, + "os-tmpdir": { + "version": "1.0.1", + "from": "os-tmpdir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz" + }, + "osenv": { + "version": "0.1.3", + "from": "osenv@>=0.0.0 <1.0.0", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz" + }, + "parse-json": { + "version": "2.2.0", + "from": "parse-json@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + }, + "path-array": { + "version": "1.0.1", + "from": "path-array@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz" + }, + "path-exists": { + "version": "2.1.0", + "from": "path-exists@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" + }, + "path-is-absolute": { + "version": "1.0.0", + "from": "path-is-absolute@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" + }, + "path-type": { + "version": "1.1.0", + "from": "path-type@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" + }, + "pify": { + "version": "2.3.0", + "from": "pify@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + }, + "pinkie": { + "version": "2.0.4", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + }, + "pinkie-promise": { + "version": "2.0.0", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz" + }, + "postcss": { + "version": "5.0.19", + "from": "postcss@>=5.0.4 <6.0.0", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.0.19.tgz", + "dependencies": { + "supports-color": { + "version": "3.1.2", + "from": "supports-color@>=3.1.2 <4.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz" + } + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "from": "postcss-value-parser@>=3.2.3 <4.0.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" + }, + "pretty-hrtime": { + "version": "1.0.2", + "from": "pretty-hrtime@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.2.tgz" + }, + "process-nextick-args": { + "version": "1.0.6", + "from": "process-nextick-args@>=1.0.6 <1.1.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz" + }, + "proto-list": { + "version": "1.2.4", + "from": "proto-list@>=1.2.1 <1.3.0", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" + }, + "pseudomap": { + "version": "1.0.2", + "from": "pseudomap@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" + }, + "qs": { + "version": "6.0.2", + "from": "qs@>=6.0.2 <6.1.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.0.2.tgz" + }, + "read-pkg": { + "version": "1.1.0", + "from": "read-pkg@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" + }, + "read-pkg-up": { + "version": "1.0.1", + "from": "read-pkg-up@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" + }, + "readable-stream": { + "version": "1.1.13", + "from": "readable-stream@>=1.1.9 <1.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz" + }, + "rechoir": { + "version": "0.6.2", + "from": "rechoir@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + }, + "redent": { + "version": "1.0.0", + "from": "redent@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" + }, + "repeating": { + "version": "2.0.0", + "from": "repeating@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.0.tgz" + }, + "replace-ext": { + "version": "0.0.1", + "from": "replace-ext@0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz" + }, + "request": { + "version": "2.69.0", + "from": "request@>=2.61.0 <3.0.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.69.0.tgz", + "dependencies": { + "extend": { + "version": "3.0.0", + "from": "extend@>=3.0.0 <3.1.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + } + } + }, + "resolve": { + "version": "1.1.7", + "from": "resolve@>=1.1.6 <2.0.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" + }, + "rimraf": { + "version": "2.5.2", + "from": "rimraf@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz", + "dependencies": { + "glob": { + "version": "7.0.0", + "from": "glob@>=7.0.0 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.0.tgz" + } + } + }, + "sass-graph": { + "version": "2.1.1", + "from": "sass-graph@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.1.tgz", + "dependencies": { + "glob": { + "version": "6.0.4", + "from": "glob@>=6.0.4 <7.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" + }, + "lodash": { + "version": "4.6.1", + "from": "lodash@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz" + } + } + }, + "semver": { + "version": "4.3.6", + "from": "semver@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz" + }, + "sequencify": { + "version": "0.0.7", + "from": "sequencify@>=0.0.7 <0.1.0", + "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz" + }, + "sigmund": { + "version": "1.0.1", + "from": "sigmund@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" + }, + "signal-exit": { + "version": "2.1.2", + "from": "signal-exit@>=2.1.2 <3.0.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-2.1.2.tgz" + }, + "sntp": { + "version": "1.0.9", + "from": "sntp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" + }, + "source-map": { + "version": "0.5.3", + "from": "source-map@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.3.tgz" + }, + "sparkles": { + "version": "1.0.0", + "from": "sparkles@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz" + }, + "spawn-sync": { + "version": "1.0.15", + "from": "spawn-sync@>=1.0.15 <2.0.0", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz" + }, + "spdx-correct": { + "version": "1.0.2", + "from": "spdx-correct@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz" + }, + "spdx-exceptions": { + "version": "1.0.4", + "from": "spdx-exceptions@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.4.tgz" + }, + "spdx-expression-parse": { + "version": "1.0.2", + "from": "spdx-expression-parse@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz" + }, + "spdx-license-ids": { + "version": "1.2.0", + "from": "spdx-license-ids@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.0.tgz" + }, + "sshpk": { + "version": "1.7.4", + "from": "sshpk@>=1.7.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.7.4.tgz" + }, + "stream-consume": { + "version": "0.1.0", + "from": "stream-consume@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "string-width": { + "version": "1.0.1", + "from": "string-width@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz" + }, + "stringstream": { + "version": "0.0.5", + "from": "stringstream@>=0.0.4 <0.1.0", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" + }, + "strip-ansi": { + "version": "3.0.1", + "from": "strip-ansi@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + }, + "strip-bom": { + "version": "2.0.0", + "from": "strip-bom@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + }, + "strip-indent": { + "version": "1.0.1", + "from": "strip-indent@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" + }, + "supports-color": { + "version": "2.0.0", + "from": "supports-color@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + }, + "tar": { + "version": "2.2.1", + "from": "tar@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz" + }, + "through2": { + "version": "2.0.1", + "from": "through2@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.5", + "from": "readable-stream@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz" + } + } + }, + "tildify": { + "version": "1.1.2", + "from": "tildify@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.1.2.tgz" + }, + "time-stamp": { + "version": "1.0.0", + "from": "time-stamp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.0.tgz" + }, + "tough-cookie": { + "version": "2.2.1", + "from": "tough-cookie@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.1.tgz" + }, + "trim-newlines": { + "version": "1.0.0", + "from": "trim-newlines@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" + }, + "tunnel-agent": { + "version": "0.4.2", + "from": "tunnel-agent@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz" + }, + "tweetnacl": { + "version": "0.14.1", + "from": "tweetnacl@>=0.13.0 <1.0.0", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.1.tgz" + }, + "typedarray": { + "version": "0.0.6", + "from": "typedarray@>=0.0.5 <0.1.0", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + }, + "uid-number": { + "version": "0.0.5", + "from": "uid-number@0.0.5", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz" + }, + "unique-stream": { + "version": "1.0.0", + "from": "unique-stream@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz" + }, + "user-home": { + "version": "1.1.1", + "from": "user-home@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + }, + "v8flags": { + "version": "2.0.11", + "from": "v8flags@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.0.11.tgz" + }, + "validate-npm-package-license": { + "version": "3.0.1", + "from": "validate-npm-package-license@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" + }, + "verror": { + "version": "1.3.6", + "from": "verror@1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" + }, + "vinyl": { + "version": "0.5.3", + "from": "vinyl@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz" + }, + "vinyl-fs": { + "version": "0.3.14", + "from": "vinyl-fs@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", + "dependencies": { + "clone": { + "version": "0.2.0", + "from": "clone@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz" + }, + "graceful-fs": { + "version": "3.0.8", + "from": "graceful-fs@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz" + }, + "readable-stream": { + "version": "1.0.33", + "from": "readable-stream@>=1.0.33-1 <1.1.0-0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz" + }, + "strip-bom": { + "version": "1.0.0", + "from": "strip-bom@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz" + }, + "through2": { + "version": "0.6.5", + "from": "through2@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" + }, + "vinyl": { + "version": "0.4.6", + "from": "vinyl@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz" + } + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "from": "vinyl-sourcemaps-apply@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz" + }, + "which": { + "version": "1.2.4", + "from": "which@>=1.2.4 <2.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.4.tgz" + }, + "window-size": { + "version": "0.1.4", + "from": "window-size@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz" + }, + "wrap-ansi": { + "version": "1.0.0", + "from": "wrap-ansi@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-1.0.0.tgz" + }, + "wrappy": { + "version": "1.0.1", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@>=4.0.0 <4.1.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + }, + "y18n": { + "version": "3.2.0", + "from": "y18n@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.0.tgz" + }, + "yallist": { + "version": "2.0.0", + "from": "yallist@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz" + }, + "yargs": { + "version": "3.32.0", + "from": "yargs@>=3.8.0 <4.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz" + } + } +} From 716c5eca1652c76513cc28fd087047932f59b44a Mon Sep 17 00:00:00 2001 From: palantir-team Date: Thu, 3 Mar 2016 10:24:16 -0600 Subject: [PATCH 07/22] update readem --- README.md | 44 +++++++++++--------------------------------- 1 file changed, 11 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 285c57b..c452796 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,16 @@ -# Butler is currently under construction - -# Butler - Sculpin Style Guide -The beginnings of a Sculpin based style guide creation tool. Now with Gulp and Bundler integration. +# Butler +The beginnings of a Sculpin based style guide creation tool. ## Dependencies -1. NodeJS 0.12+ and NPM - https://nodejs.org/download/ -1. Bundler - https://github.com/bundler/bundler +1. NodeJS +1. NPM ## Getting Started -1. From inside the project root, run `sh fed-init.sh` -1. Step through the prompts with any desired answers. This will create a gulp_config.js. -1. Run `gulp` or `gulp develop` and begin developing normally +1. From inside the project root, run `npm install` + + This will install all of the npm dependencies for Butler. + +1. Run `gulp` or `gulp develop` and begin developing normally ## What is Gulp? "Gulp is a build system that can improve how you develop websites by automating common tasks, such as compiling preprocessed CSS, minifying JavaScript and reloading the browser." - Smashing Magazine @@ -18,32 +18,10 @@ The beginnings of a Sculpin based style guide creation tool. Now with Gulp and B ## What does this Gulpfile do There are three main tasks in this gulp file: -1. `gulp develop`/`gulp` This is the default task. This will watch your sass/sculpin files for changes, compile/build accordingly and automatically refresh your browser. (This also works locally when working on your Drupal theme as well.) -1. `gulp test` will lint your js and sass. Sass linting configuration changes can be made by editing the `.scss-lint.yml`. JS is a default lint and also checking for jQuery style. -1. `gulp optimize` optimizes and minifies, specifically optimizes your images and minifies JS and CSS and exports files to the appropriate place in the `_site` directory. - -*You can also choose to run any sub task independently. Need to just minify a change to JS? `gulp js-min` - -## Instructions for enabling live reload on your Drupal 7 Site -1. Check whether or not the prototype is contained within your Drupal site somewhere. The exact location doesn't matter, as long as running a drush command like drush cc all from the root of the prototype would work. If the prototype is NOT in the prototype, answer "no" when prompted for whether or not you would like to install live_reload now. - * If you answer "no", you must either manually install link_css, or use another method to ensure that css sheets are being loaded via \ rather than @import. Live reload does not work with @imported sheets. -1. Run gulp_config.sh from a command prompt in the environment your site is running from. If your site is running on a virtual box, run the script from inside the box. -1. Follow the prompts in the gulp_config.sh script as normal, provide the information needed. -1. Ensure that your theme is directly loading the stylesheet from _site/assets/css. This probably means adding the stylesheet to the .info file. (Sym links may or may not work.) -1. Run gulp or gulp develop as normal, two browser windows should open this time. One will be your Drupal site, one will be your prototype. -1. Enjoy! - -## Instructions for enabling live reload on your Drupal 8 Site -1. Download and install d8_link module from https://github.com/rwagner00/d8_link. -1. Run gulp_config.sh from a command prompt in the environment your site is running from. If your site is running on a virtual box, run the script from inside the box. -1. Follow the prompts in the gulp_config.sh script as normal, provide the information needed. - * Be sure to answer NO to whether or not you want to install link_css. This is ONLY helpful for D7. -1. Ensure that your theme is directly loading the stylesheet from _site/assets/css. This probably means adding the stylesheet to your theme's libraries.yml file. (Sym links may or may not work.) -1. Run gulp or gulp develop as normal, two browser windows should open this time. One will be your Drupal site, one will be your prototype. -1. Enjoy! +1. `gulp develop`/`gulp` This is the default task. This will watch your sass/sculpin files for changes and compile/build accordingly. ## Making Changes to Gulpfile.js Please feel free to change/extend/break this Gulpfile to fit the specific needs of the project. ## Troubleshooting -For now, if you have comments/questions/concerns about working with this please talk to Lauren or Ryan. +For now, if you have comments/questions/concerns about working with this please talk to Lauren. From 2177880a0d07f90b4ca3602e65ab15ec78868eaa Mon Sep 17 00:00:00 2001 From: palantir-team Date: Thu, 3 Mar 2016 10:29:16 -0600 Subject: [PATCH 08/22] shrinkwrap dev dependencies, include updating Butler notes in readme --- README.md | 6 +++++- npm-shrinkwrap.json | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c452796..dff610e 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,11 @@ There are three main tasks in this gulp file: 1. `gulp develop`/`gulp` This is the default task. This will watch your sass/sculpin files for changes and compile/build accordingly. ## Making Changes to Gulpfile.js -Please feel free to change/extend/break this Gulpfile to fit the specific needs of the project. +Please feel free to change/extend/break this Gulpfile to fit the specific needs of the project. If you would like to add additional functionality please do so to the butler package and create a PR. + +If you are adding additional functionality you will have to also update the `npm-shrinkwrap.json` by running `update `. You _must_ specify the exact package that needs to be updated and then re-run `npm shrinkwrap --dev` to update the `npm-shrinkwrap.json`. + +_To check which files have become outdated run `npm outdated`_ ## Troubleshooting For now, if you have comments/questions/concerns about working with this please talk to Lauren. diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 4bdac79..87b6f00 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -131,6 +131,11 @@ "from": "brace-expansion@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz" }, + "breakpoint-sass": { + "version": "2.7.0", + "from": "breakpoint-sass@>=2.7.0 <3.0.0", + "resolved": "https://registry.npmjs.org/breakpoint-sass/-/breakpoint-sass-2.7.0.tgz" + }, "browserslist": { "version": "1.1.3", "from": "browserslist@>=1.1.3 <1.2.0", @@ -506,6 +511,33 @@ "from": "graceful-readlink@>=1.0.0", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" }, + "gulp": { + "version": "3.9.1", + "from": "gulp@>=3.9.1 <4.0.0", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz" + }, + "gulp-autoprefixer": { + "version": "3.1.0", + "from": "gulp-autoprefixer@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-3.1.0.tgz" + }, + "gulp-exec": { + "version": "2.1.2", + "from": "gulp-exec@>=2.1.2 <3.0.0", + "resolved": "https://registry.npmjs.org/gulp-exec/-/gulp-exec-2.1.2.tgz" + }, + "gulp-sass": { + "version": "2.2.0", + "from": "gulp-sass@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-2.2.0.tgz", + "dependencies": { + "object-assign": { + "version": "4.0.1", + "from": "object-assign@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.0.1.tgz" + } + } + }, "gulp-util": { "version": "3.0.7", "from": "gulp-util@>=3.0.0 <4.0.0", @@ -1450,6 +1482,11 @@ "version": "3.32.0", "from": "yargs@>=3.8.0 <4.0.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz" + }, + "zen-grids": { + "version": "2.0.1", + "from": "zen-grids@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/zen-grids/-/zen-grids-2.0.1.tgz" } } } From 9cbf02c2e955bdecf96b8232da706a8870be720b Mon Sep 17 00:00:00 2001 From: palantir-team Date: Thu, 3 Mar 2016 15:31:14 -0600 Subject: [PATCH 09/22] add stylelint to lint sass and update sass files --- .jscsrc | 3 - .jshintrc | 92 - .scss-lint.yml | 176 -- Gulpfile.js | 57 +- README.md | 4 +- config/linters/stylelint.config.json | 26 + CONTRIBUTING.md => docs/CONTRIBUTING.md | 0 docs/LINTERS.md | 9 + npm-shrinkwrap.json | 1492 ---------------- package.json | 12 +- source/code/css/styles.css | 1682 +----------------- source/code/sass/_init.scss | 32 +- source/code/sass/_mixins.scss | 30 +- source/code/sass/_normalize.scss | 140 +- source/code/sass/styleguide/_styleguide.scss | 17 +- 15 files changed, 158 insertions(+), 3614 deletions(-) delete mode 100644 .jscsrc delete mode 100644 .jshintrc delete mode 100644 .scss-lint.yml create mode 100644 config/linters/stylelint.config.json rename CONTRIBUTING.md => docs/CONTRIBUTING.md (100%) create mode 100644 docs/LINTERS.md delete mode 100644 npm-shrinkwrap.json diff --git a/.jscsrc b/.jscsrc deleted file mode 100644 index f11b22e..0000000 --- a/.jscsrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "preset": "jquery" -} \ No newline at end of file diff --git a/.jshintrc b/.jshintrc deleted file mode 100644 index ca0b373..0000000 --- a/.jshintrc +++ /dev/null @@ -1,92 +0,0 @@ -{ - // JSHint Default Configuration File (as on JSHint website) - // See http://jshint.com/docs/ for more details - - "maxerr" : 50, // {int} Maximum error before stopping - - // Enforcing - "bitwise" : true, // true: Prohibit bitwise operators (&, |, ^, etc.) - "camelcase" : false, // true: Identifiers must be in camelCase - "curly" : true, // true: Require {} for every new block or scope - "eqeqeq" : true, // true: Require triple equals (===) for comparison - "forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty() - "freeze" : true, // true: prohibits overwriting prototypes of native objects such as Array, Date etc. - "immed" : false, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());` - "indent" : 4, // {int} Number of spaces to use for indentation - "latedef" : false, // true: Require variables/functions to be defined before being used - "newcap" : false, // true: Require capitalization of all constructor functions e.g. `new F()` - "noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee` - "noempty" : true, // true: Prohibit use of empty blocks - "nonbsp" : true, // true: Prohibit "non-breaking whitespace" characters. - "nonew" : false, // true: Prohibit use of constructors for side-effects (without assignment) - "plusplus" : false, // true: Prohibit use of `++` & `--` - "quotmark" : false, // Quotation mark consistency: - // false : do nothing (default) - // true : ensure whatever is used is consistent - // "single" : require single quotes - // "double" : require double quotes - "undef" : true, // true: Require all non-global variables to be declared (prevents global leaks) - "unused" : true, // Unused variables: - // true : all variables, last function parameter - // "vars" : all variables only - // "strict" : all variables, all function parameters - "strict" : true, // true: Requires all functions run in ES5 Strict Mode - "maxparams" : false, // {int} Max number of formal params allowed per function - "maxdepth" : false, // {int} Max depth of nested blocks (within functions) - "maxstatements" : false, // {int} Max number statements per function - "maxcomplexity" : false, // {int} Max cyclomatic complexity per function - "maxlen" : false, // {int} Max number of characters per line - - // Relaxing - "asi" : false, // true: Tolerate Automatic Semicolon Insertion (no semicolons) - "boss" : false, // true: Tolerate assignments where comparisons would be expected - "debug" : false, // true: Allow debugger statements e.g. browser breakpoints. - "eqnull" : false, // true: Tolerate use of `== null` - "es5" : false, // true: Allow ES5 syntax (ex: getters and setters) - "esnext" : false, // true: Allow ES.next (ES6) syntax (ex: `const`) - "moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features) - // (ex: `for each`, multiple try/catch, function expression…) - "evil" : false, // true: Tolerate use of `eval` and `new Function()` - "expr" : false, // true: Tolerate `ExpressionStatement` as Programs - "funcscope" : false, // true: Tolerate defining variables inside control statements - "globalstrict" : false, // true: Allow global "use strict" (also enables 'strict') - "iterator" : false, // true: Tolerate using the `__iterator__` property - "lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block - "laxbreak" : false, // true: Tolerate possibly unsafe line breakings - "laxcomma" : false, // true: Tolerate comma-first style coding - "loopfunc" : false, // true: Tolerate functions being defined in loops - "multistr" : false, // true: Tolerate multi-line strings - "noyield" : false, // true: Tolerate generator functions with no yield statement in them. - "notypeof" : false, // true: Tolerate invalid typeof operator values - "proto" : false, // true: Tolerate using the `__proto__` property - "scripturl" : false, // true: Tolerate script-targeted URLs - "shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;` - "sub" : false, // true: Tolerate using `[]` notation when it can still be expressed in dot notation - "supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;` - "validthis" : false, // true: Tolerate using this in a non-constructor function - - // Environments - "browser" : true, // Web Browser (window, document, etc) - "browserify" : false, // Browserify (node.js code in the browser) - "couch" : false, // CouchDB - "devel" : true, // Development/debugging (alert, confirm, etc) - "dojo" : false, // Dojo Toolkit - "jasmine" : false, // Jasmine - "jquery" : false, // jQuery - "mocha" : true, // Mocha - "mootools" : false, // MooTools - "node" : false, // Node.js - "nonstandard" : false, // Widely adopted globals (escape, unescape, etc) - "phantom" : false, // PhantomJS - "prototypejs" : false, // Prototype and Scriptaculous - "qunit" : false, // QUnit - "rhino" : false, // Rhino - "shelljs" : false, // ShellJS - "typed" : false, // Globals for typed array constructions - "worker" : false, // Web Workers - "wsh" : false, // Windows Scripting Host - "yui" : false, // Yahoo User Interface - - // Custom Globals - "globals" : {} // additional predefined global variables -} \ No newline at end of file diff --git a/.scss-lint.yml b/.scss-lint.yml deleted file mode 100644 index 4352a01..0000000 --- a/.scss-lint.yml +++ /dev/null @@ -1,176 +0,0 @@ -# Default application configuration that all configurations inherit from. - -scss_files: "assets/sass/**/*.scss" - -linters: - BangFormat: - enabled: true - space_before_bang: true - space_after_bang: false - - BemElements: - enabled: true - max_elements: true - - BorderZero: - enabled: false - - ColorKeyword: - enabled: true - - ColorVariable: - enabled: true - - Comment: - enabled: true - - DebugStatement: - enabled: true - - DeclarationOrder: - enabled: true - - DuplicateProperty: - enabled: true - - ElsePlacement: - enabled: true - style: same_line - - EmptyLineBetweenBlocks: - enabled: true - ignore_single_line_blocks: true - - EmptyRule: - enabled: true - - FinalNewline: - enabled: true - present: true - - HexLength: - enabled: true - style: long - - HexNotation: - enabled: true - style: lowercase - - HexValidation: - enabled: true - - IdWithExtraneousSelector: - enabled: true - - ImportPath: - enabled: true - leading_underscore: false - filename_extension: false - - Indentation: - enabled: true - character: space - width: 2 - - LeadingZero: - enabled: true - style: exclude_zero - - MergeableSelector: - enabled: true - force_nesting: false - - NameFormat: - enabled: true - convention: hyphenated_lowercase - - NestingDepth: - enabled: true - max_depth: 3 - - PlaceholderInExtend: - enabled: true - - PropertySortOrder: - enabled: true - ignore_unspecified: false - - PropertySpelling: - enabled: true - - QualifyingElement: - enabled: true - allow_element_with_attribute: false - allow_element_with_class: false - allow_element_with_id: false - - SelectorDepth: - enabled: true - max_depth: 3 - - SelectorFormat: - enabled: false - - Shorthand: - enabled: true - - SingleLinePerProperty: - enabled: true - allow_single_line_rule_sets: true - - SingleLinePerSelector: - enabled: true - - SpaceAfterComma: - enabled: true - - SpaceAfterPropertyColon: - enabled: true - style: one_space - - SpaceAfterPropertyName: - enabled: true - - SpaceBeforeBrace: - enabled: true - style: space - allow_single_line_padding: true - - SpaceBetweenParens: - enabled: true - spaces: 0 - - StringQuotes: - enabled: true - style: single_quotes - - TrailingSemicolon: - enabled: true - - TrailingZero: - enabled: true - - UnnecessaryMantissa: - enabled: true - - UnnecessaryParentReference: - enabled: true - - UrlFormat: - enabled: true - - UrlQuotes: - enabled: true - - VariableForPropery: - enabled: true - properties: - - color - - font - - VendorPrefixes: - enabled: true - identifier_list: base - - ZeroUnit: - enabled: true \ No newline at end of file diff --git a/Gulpfile.js b/Gulpfile.js index d811dec..0a1f042 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -1,37 +1,57 @@ // Require the dependencies so that we can use their functionality +var autoprefixer = require('autoprefixer'); +var cssnano = require('cssnano'); var gulp = require('gulp'); -var sass = require('gulp-sass'); -var autoprefixer = require('gulp-autoprefixer'); var exec = require('gulp-exec'); +var sass = require('gulp-sass'); +var postcss = require('gulp-postcss'); +var semanticnaming = require('postcss-bem-linter'); +var reporter = require('postcss-reporter'); +var syntax_scss = require('postcss-scss'); +var stylelint = require('stylelint'); -// Define variables we'll use later on +// Define path variables // @todo: these should all be changed to config variables var scss = ['source/code/sass/*.scss', 'source/code/sass/**/*.scss']; var css = 'source/code/css/'; var sculpin = '/'; -// Sass options -// @todo: this probably needs a prod option as well -var sassDev = { - errLogtoConsole: true, - outputStyle: 'expanded' -}; - // Autoprefixer options -// @todo: this might need to be set on a project basis +// @todo: this might need to be set on a project basis (as a config variable) var browserSupport = { + // Support 2 most recent browser versions and anything with more than 5% support browsers: ['last 2 versions', '> 5%'] }; +// Stylelint options +var stylelintConfig = { + // point to the configuration file + // @todo: this might need to be set on a project basis (as a config variable) + configFile: 'config/linters/stylelint.config.json' +}; + +// Lint the Sass styles +gulp.task('style-lint', function() { + return gulp.src(scss) + .pipe(postcss([ + stylelint(stylelintConfig), + reporter({ clearMessages: true }) + ], {syntax: syntax_scss})) +}); + // Compile Sass gulp.task('compile-sass', function() { - return gulp - // Find all `.scss` from the `source/code/sass` - .src(scss) + // Set what postcss plugins need to be run + var processors = [ + autoprefixer(browserSupport), + cssnano + ]; + // Run on all file paths defined in var scsss + return gulp.src(scss) // Run Sass on those files - .pipe(sass(sassDev).on('error',sass.logError)) - // Update the stylesheets to add vendor prefixes - .pipe(autoprefixer(browserSupport)) + .pipe(sass().on('error',sass.logError)) + // Run postcss plugin functions + .pipe(postcss(processors)) // Put the CSS in the destination dir .pipe(gulp.dest(css)); }); @@ -40,6 +60,7 @@ gulp.task('compile-sass', function() { // Sculpin Development gulp.task('sculpin-watch', function () { gulp.src(sculpin) + // Run the command line commands to watch sculpin .pipe(exec('sculpin generate --watch --server')); }); @@ -59,5 +80,7 @@ gulp.task('watch', function() { // Set Develop task gulp.task('develop', ['compile-sass', 'sculpin-watch', 'watch']); + + // Set default task gulp.task('default', ['develop']); diff --git a/README.md b/README.md index dff610e..76915d0 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,12 @@ The beginnings of a Sculpin based style guide creation tool. ## What is Gulp? "Gulp is a build system that can improve how you develop websites by automating common tasks, such as compiling preprocessed CSS, minifying JavaScript and reloading the browser." - Smashing Magazine -## What does this Gulpfile do +## What does this Butler do There are three main tasks in this gulp file: 1. `gulp develop`/`gulp` This is the default task. This will watch your sass/sculpin files for changes and compile/build accordingly. -## Making Changes to Gulpfile.js +## Making Changes to Butler Please feel free to change/extend/break this Gulpfile to fit the specific needs of the project. If you would like to add additional functionality please do so to the butler package and create a PR. If you are adding additional functionality you will have to also update the `npm-shrinkwrap.json` by running `update `. You _must_ specify the exact package that needs to be updated and then re-run `npm shrinkwrap --dev` to update the `npm-shrinkwrap.json`. diff --git a/config/linters/stylelint.config.json b/config/linters/stylelint.config.json new file mode 100644 index 0000000..d1bc257 --- /dev/null +++ b/config/linters/stylelint.config.json @@ -0,0 +1,26 @@ +{ + "rules": { + "block-no-empty": true, + "color-no-invalid-hex": true, + "declaration-colon-space-after": "always", + "declaration-colon-space-before": "never", + "function-comma-space-after": "always", + "function-url-quotes": "double", + "media-feature-colon-space-after": "always", + "media-feature-colon-space-before": "never", + "media-feature-name-no-vendor-prefix": true, + "max-empty-lines": 5, + "number-leading-zero": "never", + "number-no-trailing-zeros": true, + "property-no-vendor-prefix": true, + "rule-no-duplicate-properties": true, + "declaration-block-no-single-line": true, + "rule-trailing-semicolon": "always", + "selector-list-comma-space-before": "never", + "selector-list-comma-newline-after": "always", + "selector-no-id": true, + "string-quotes": "double", + "value-no-vendor-prefix": true + } +} + diff --git a/CONTRIBUTING.md b/docs/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTING.md rename to docs/CONTRIBUTING.md diff --git a/docs/LINTERS.md b/docs/LINTERS.md new file mode 100644 index 0000000..6544bc3 --- /dev/null +++ b/docs/LINTERS.md @@ -0,0 +1,9 @@ +# Buter Linters +This document goes over the linting functionality included in Butler and how it can be ignored or extended for project use. + +## Stylelint +Butler runs stylelint as a PostCSS command that ensures that we are writing quality styles. + +Default style lint configuration can be found at `butler/config/linters/stylelint.config.json`. It is based on a few defaults that we should be matching in our CSS. + +To learn more about writing custom rules (or changing these defaults), I recommend reviewing the [Stylelint rule documentation](https://github.com/stylelint/stylelint/blob/master/docs/user-guide/rules.md). \ No newline at end of file diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json deleted file mode 100644 index 87b6f00..0000000 --- a/npm-shrinkwrap.json +++ /dev/null @@ -1,1492 +0,0 @@ -{ - "name": "butler", - "version": "1.0.0", - "dependencies": { - "abbrev": { - "version": "1.0.7", - "from": "abbrev@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz" - }, - "ansi": { - "version": "0.3.1", - "from": "ansi@>=0.3.1 <0.4.0", - "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz" - }, - "ansi-regex": { - "version": "2.0.0", - "from": "ansi-regex@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" - }, - "ansi-styles": { - "version": "2.2.0", - "from": "ansi-styles@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.0.tgz" - }, - "archy": { - "version": "1.0.0", - "from": "archy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" - }, - "are-we-there-yet": { - "version": "1.0.6", - "from": "are-we-there-yet@>=1.0.6 <1.1.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz" - }, - "array-differ": { - "version": "1.0.0", - "from": "array-differ@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz" - }, - "array-find-index": { - "version": "1.0.1", - "from": "array-find-index@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz" - }, - "array-index": { - "version": "1.0.0", - "from": "array-index@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz" - }, - "array-uniq": { - "version": "1.0.2", - "from": "array-uniq@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz" - }, - "asn1": { - "version": "0.2.3", - "from": "asn1@>=0.2.3 <0.3.0", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" - }, - "assert-plus": { - "version": "0.2.0", - "from": "assert-plus@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" - }, - "async": { - "version": "1.5.2", - "from": "async@>=1.4.0 <2.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" - }, - "async-foreach": { - "version": "0.1.3", - "from": "async-foreach@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz" - }, - "autoprefixer": { - "version": "6.3.3", - "from": "autoprefixer@>=6.0.0 <7.0.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.3.3.tgz" - }, - "aws-sign2": { - "version": "0.6.0", - "from": "aws-sign2@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" - }, - "aws4": { - "version": "1.3.2", - "from": "aws4@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.3.2.tgz", - "dependencies": { - "lru-cache": { - "version": "4.0.0", - "from": "lru-cache@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz" - } - } - }, - "balanced-match": { - "version": "0.3.0", - "from": "balanced-match@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz" - }, - "beeper": { - "version": "1.1.0", - "from": "beeper@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz" - }, - "bl": { - "version": "1.0.3", - "from": "bl@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", - "dependencies": { - "readable-stream": { - "version": "2.0.5", - "from": "readable-stream@>=2.0.5 <2.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz" - } - } - }, - "block-stream": { - "version": "0.0.8", - "from": "block-stream@*", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz" - }, - "boom": { - "version": "2.10.1", - "from": "boom@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" - }, - "brace-expansion": { - "version": "1.1.3", - "from": "brace-expansion@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz" - }, - "breakpoint-sass": { - "version": "2.7.0", - "from": "breakpoint-sass@>=2.7.0 <3.0.0", - "resolved": "https://registry.npmjs.org/breakpoint-sass/-/breakpoint-sass-2.7.0.tgz" - }, - "browserslist": { - "version": "1.1.3", - "from": "browserslist@>=1.1.3 <1.2.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.1.3.tgz" - }, - "builtin-modules": { - "version": "1.1.1", - "from": "builtin-modules@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" - }, - "camelcase": { - "version": "2.1.0", - "from": "camelcase@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.0.tgz" - }, - "camelcase-keys": { - "version": "2.0.0", - "from": "camelcase-keys@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.0.0.tgz" - }, - "caniuse-db": { - "version": "1.0.30000414", - "from": "caniuse-db@>=1.0.30000409 <2.0.0", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000414.tgz" - }, - "caseless": { - "version": "0.11.0", - "from": "caseless@>=0.11.0 <0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" - }, - "chalk": { - "version": "1.1.1", - "from": "chalk@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz" - }, - "cliui": { - "version": "3.1.0", - "from": "cliui@>=3.0.3 <4.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.1.0.tgz" - }, - "clone": { - "version": "1.0.2", - "from": "clone@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz" - }, - "clone-stats": { - "version": "0.0.1", - "from": "clone-stats@>=0.0.1 <0.0.2", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" - }, - "code-point-at": { - "version": "1.0.0", - "from": "code-point-at@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz" - }, - "color-convert": { - "version": "1.0.0", - "from": "color-convert@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.0.0.tgz" - }, - "combined-stream": { - "version": "1.0.5", - "from": "combined-stream@>=1.0.5 <1.1.0", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" - }, - "commander": { - "version": "2.9.0", - "from": "commander@>=2.9.0 <3.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" - }, - "concat-map": { - "version": "0.0.1", - "from": "concat-map@0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - }, - "concat-stream": { - "version": "1.5.1", - "from": "concat-stream@>=1.4.7 <2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", - "dependencies": { - "readable-stream": { - "version": "2.0.5", - "from": "readable-stream@>=2.0.0 <2.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz" - } - } - }, - "config-chain": { - "version": "1.1.10", - "from": "config-chain@>=1.1.8 <1.2.0", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.10.tgz" - }, - "core-util-is": { - "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - }, - "cross-spawn": { - "version": "2.1.5", - "from": "cross-spawn@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-2.1.5.tgz" - }, - "cross-spawn-async": { - "version": "2.1.9", - "from": "cross-spawn-async@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.1.9.tgz", - "dependencies": { - "lru-cache": { - "version": "4.0.0", - "from": "lru-cache@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz" - } - } - }, - "cryptiles": { - "version": "2.0.5", - "from": "cryptiles@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" - }, - "d": { - "version": "0.1.1", - "from": "d@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz" - }, - "dashdash": { - "version": "1.13.0", - "from": "dashdash@>=1.10.1 <2.0.0", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.13.0.tgz", - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - } - } - }, - "dateformat": { - "version": "1.0.12", - "from": "dateformat@>=1.0.11 <2.0.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz" - }, - "debug": { - "version": "2.2.0", - "from": "debug@>=2.2.0 <3.0.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" - }, - "decamelize": { - "version": "1.1.2", - "from": "decamelize@>=1.1.2 <2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.1.2.tgz" - }, - "defaults": { - "version": "1.0.3", - "from": "defaults@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" - }, - "delayed-stream": { - "version": "1.0.0", - "from": "delayed-stream@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - }, - "delegates": { - "version": "1.0.0", - "from": "delegates@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" - }, - "deprecated": { - "version": "0.0.1", - "from": "deprecated@>=0.0.1 <0.0.2", - "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz" - }, - "duplexer2": { - "version": "0.0.2", - "from": "duplexer2@0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz" - }, - "ecc-jsbn": { - "version": "0.1.1", - "from": "ecc-jsbn@>=0.0.1 <1.0.0", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" - }, - "end-of-stream": { - "version": "0.1.5", - "from": "end-of-stream@>=0.1.5 <0.2.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz" - }, - "error-ex": { - "version": "1.3.0", - "from": "error-ex@>=1.2.0 <2.0.0", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz" - }, - "es5-ext": { - "version": "0.10.11", - "from": "es5-ext@>=0.10.10 <0.11.0", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.11.tgz" - }, - "es6-iterator": { - "version": "2.0.0", - "from": "es6-iterator@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz" - }, - "es6-symbol": { - "version": "3.0.2", - "from": "es6-symbol@>=3.0.2 <4.0.0", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.0.2.tgz" - }, - "escape-string-regexp": { - "version": "1.0.5", - "from": "escape-string-regexp@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - }, - "extend": { - "version": "2.0.1", - "from": "extend@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-2.0.1.tgz" - }, - "extsprintf": { - "version": "1.0.2", - "from": "extsprintf@1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" - }, - "fancy-log": { - "version": "1.2.0", - "from": "fancy-log@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz" - }, - "find-index": { - "version": "0.1.1", - "from": "find-index@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz" - }, - "find-up": { - "version": "1.1.1", - "from": "find-up@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.1.tgz" - }, - "findup-sync": { - "version": "0.3.0", - "from": "findup-sync@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz" - }, - "first-chunk-stream": { - "version": "1.0.0", - "from": "first-chunk-stream@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz" - }, - "flagged-respawn": { - "version": "0.3.1", - "from": "flagged-respawn@>=0.3.1 <0.4.0", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.1.tgz" - }, - "forever-agent": { - "version": "0.6.1", - "from": "forever-agent@>=0.6.1 <0.7.0", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - }, - "form-data": { - "version": "1.0.0-rc3", - "from": "form-data@>=1.0.0-rc3 <1.1.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz" - }, - "fstream": { - "version": "1.0.8", - "from": "fstream@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.8.tgz" - }, - "gauge": { - "version": "1.2.7", - "from": "gauge@>=1.2.5 <1.3.0", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz" - }, - "gaze": { - "version": "0.5.2", - "from": "gaze@>=0.5.1 <0.6.0", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz" - }, - "generate-function": { - "version": "2.0.0", - "from": "generate-function@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" - }, - "generate-object-property": { - "version": "1.2.0", - "from": "generate-object-property@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" - }, - "get-stdin": { - "version": "4.0.1", - "from": "get-stdin@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" - }, - "glob": { - "version": "5.0.15", - "from": "glob@>=5.0.0 <5.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" - }, - "glob-stream": { - "version": "3.1.18", - "from": "glob-stream@>=3.1.5 <4.0.0", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", - "dependencies": { - "glob": { - "version": "4.5.3", - "from": "glob@>=4.3.1 <5.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz" - }, - "minimatch": { - "version": "2.0.10", - "from": "minimatch@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz" - }, - "readable-stream": { - "version": "1.0.33", - "from": "readable-stream@>=1.0.33-1 <1.1.0-0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz" - }, - "through2": { - "version": "0.6.5", - "from": "through2@>=0.6.1 <0.7.0", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" - } - } - }, - "glob-watcher": { - "version": "0.0.6", - "from": "glob-watcher@>=0.0.6 <0.0.7", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz" - }, - "glob2base": { - "version": "0.0.12", - "from": "glob2base@>=0.0.12 <0.0.13", - "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz" - }, - "globule": { - "version": "0.1.0", - "from": "globule@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", - "dependencies": { - "glob": { - "version": "3.1.21", - "from": "glob@>=3.1.21 <3.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz" - }, - "graceful-fs": { - "version": "1.2.3", - "from": "graceful-fs@>=1.2.0 <1.3.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" - }, - "inherits": { - "version": "1.0.2", - "from": "inherits@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz" - }, - "minimatch": { - "version": "0.2.14", - "from": "minimatch@>=0.2.11 <0.3.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz" - } - } - }, - "glogg": { - "version": "1.0.0", - "from": "glogg@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz" - }, - "graceful-fs": { - "version": "4.1.3", - "from": "graceful-fs@>=4.1.2 <5.0.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz" - }, - "graceful-readlink": { - "version": "1.0.1", - "from": "graceful-readlink@>=1.0.0", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" - }, - "gulp": { - "version": "3.9.1", - "from": "gulp@>=3.9.1 <4.0.0", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz" - }, - "gulp-autoprefixer": { - "version": "3.1.0", - "from": "gulp-autoprefixer@>=3.1.0 <4.0.0", - "resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-3.1.0.tgz" - }, - "gulp-exec": { - "version": "2.1.2", - "from": "gulp-exec@>=2.1.2 <3.0.0", - "resolved": "https://registry.npmjs.org/gulp-exec/-/gulp-exec-2.1.2.tgz" - }, - "gulp-sass": { - "version": "2.2.0", - "from": "gulp-sass@>=2.2.0 <3.0.0", - "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-2.2.0.tgz", - "dependencies": { - "object-assign": { - "version": "4.0.1", - "from": "object-assign@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.0.1.tgz" - } - } - }, - "gulp-util": { - "version": "3.0.7", - "from": "gulp-util@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz" - }, - "gulplog": { - "version": "1.0.0", - "from": "gulplog@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz" - }, - "har-validator": { - "version": "2.0.6", - "from": "har-validator@>=2.0.6 <2.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" - }, - "has-ansi": { - "version": "2.0.0", - "from": "has-ansi@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" - }, - "has-flag": { - "version": "1.0.0", - "from": "has-flag@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" - }, - "has-gulplog": { - "version": "0.1.0", - "from": "has-gulplog@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz" - }, - "has-unicode": { - "version": "2.0.0", - "from": "has-unicode@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.0.tgz" - }, - "hawk": { - "version": "3.1.3", - "from": "hawk@>=3.1.0 <3.2.0", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" - }, - "hoek": { - "version": "2.16.3", - "from": "hoek@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" - }, - "hosted-git-info": { - "version": "2.1.4", - "from": "hosted-git-info@>=2.1.4 <3.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz" - }, - "http-signature": { - "version": "1.1.1", - "from": "http-signature@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" - }, - "indent-string": { - "version": "2.1.0", - "from": "indent-string@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" - }, - "inflight": { - "version": "1.0.4", - "from": "inflight@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz" - }, - "inherits": { - "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "ini": { - "version": "1.3.4", - "from": "ini@>=1.2.0 <2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" - }, - "interpret": { - "version": "1.0.0", - "from": "interpret@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.0.tgz" - }, - "invert-kv": { - "version": "1.0.0", - "from": "invert-kv@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" - }, - "is-absolute": { - "version": "0.1.7", - "from": "is-absolute@>=0.1.7 <0.2.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz" - }, - "is-arrayish": { - "version": "0.2.1", - "from": "is-arrayish@>=0.2.1 <0.3.0", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - }, - "is-builtin-module": { - "version": "1.0.0", - "from": "is-builtin-module@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz" - }, - "is-finite": { - "version": "1.0.1", - "from": "is-finite@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - }, - "is-my-json-valid": { - "version": "2.13.1", - "from": "is-my-json-valid@>=2.12.4 <3.0.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" - }, - "is-property": { - "version": "1.0.2", - "from": "is-property@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" - }, - "is-relative": { - "version": "0.1.3", - "from": "is-relative@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz" - }, - "is-typedarray": { - "version": "1.0.0", - "from": "is-typedarray@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - }, - "is-utf8": { - "version": "0.2.1", - "from": "is-utf8@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" - }, - "isarray": { - "version": "0.0.1", - "from": "isarray@0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - }, - "isexe": { - "version": "1.1.2", - "from": "isexe@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz" - }, - "isstream": { - "version": "0.1.2", - "from": "isstream@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - }, - "jodid25519": { - "version": "1.0.2", - "from": "jodid25519@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" - }, - "js-base64": { - "version": "2.1.9", - "from": "js-base64@>=2.1.9 <3.0.0", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz" - }, - "jsbn": { - "version": "0.1.0", - "from": "jsbn@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" - }, - "json-schema": { - "version": "0.2.2", - "from": "json-schema@0.2.2", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" - }, - "json-stringify-safe": { - "version": "5.0.1", - "from": "json-stringify-safe@>=5.0.1 <5.1.0", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - }, - "jsonpointer": { - "version": "2.0.0", - "from": "jsonpointer@2.0.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" - }, - "jsprim": { - "version": "1.2.2", - "from": "jsprim@>=1.2.2 <2.0.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz" - }, - "lcid": { - "version": "1.0.0", - "from": "lcid@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" - }, - "liftoff": { - "version": "2.2.0", - "from": "liftoff@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.2.0.tgz" - }, - "load-json-file": { - "version": "1.1.0", - "from": "load-json-file@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" - }, - "lodash": { - "version": "1.0.2", - "from": "lodash@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz" - }, - "lodash._basecopy": { - "version": "3.0.1", - "from": "lodash._basecopy@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz" - }, - "lodash._basetostring": { - "version": "3.0.1", - "from": "lodash._basetostring@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz" - }, - "lodash._basevalues": { - "version": "3.0.0", - "from": "lodash._basevalues@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz" - }, - "lodash._getnative": { - "version": "3.9.1", - "from": "lodash._getnative@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz" - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "from": "lodash._isiterateecall@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz" - }, - "lodash._reescape": { - "version": "3.0.0", - "from": "lodash._reescape@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz" - }, - "lodash._reevaluate": { - "version": "3.0.0", - "from": "lodash._reevaluate@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "from": "lodash._reinterpolate@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" - }, - "lodash._root": { - "version": "3.0.1", - "from": "lodash._root@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz" - }, - "lodash.escape": { - "version": "3.2.0", - "from": "lodash.escape@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz" - }, - "lodash.isarguments": { - "version": "3.0.8", - "from": "lodash.isarguments@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.0.8.tgz" - }, - "lodash.isarray": { - "version": "3.0.4", - "from": "lodash.isarray@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz" - }, - "lodash.keys": { - "version": "3.1.2", - "from": "lodash.keys@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz" - }, - "lodash.pad": { - "version": "4.1.0", - "from": "lodash.pad@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.1.0.tgz" - }, - "lodash.padend": { - "version": "4.2.0", - "from": "lodash.padend@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.2.0.tgz" - }, - "lodash.padstart": { - "version": "4.2.0", - "from": "lodash.padstart@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.2.0.tgz" - }, - "lodash.repeat": { - "version": "4.0.0", - "from": "lodash.repeat@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.0.0.tgz" - }, - "lodash.restparam": { - "version": "3.6.1", - "from": "lodash.restparam@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz" - }, - "lodash.template": { - "version": "3.6.2", - "from": "lodash.template@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz" - }, - "lodash.templatesettings": { - "version": "3.1.1", - "from": "lodash.templatesettings@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz" - }, - "lodash.tostring": { - "version": "4.1.2", - "from": "lodash.tostring@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.2.tgz" - }, - "loud-rejection": { - "version": "1.3.0", - "from": "loud-rejection@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.3.0.tgz" - }, - "lru-cache": { - "version": "2.7.3", - "from": "lru-cache@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" - }, - "map-obj": { - "version": "1.0.1", - "from": "map-obj@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" - }, - "meow": { - "version": "3.7.0", - "from": "meow@>=3.3.0 <4.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "dependencies": { - "object-assign": { - "version": "4.0.1", - "from": "object-assign@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.0.1.tgz" - } - } - }, - "mime-db": { - "version": "1.22.0", - "from": "mime-db@>=1.22.0 <1.23.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" - }, - "mime-types": { - "version": "2.1.10", - "from": "mime-types@>=2.1.7 <2.2.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz" - }, - "minimatch": { - "version": "3.0.0", - "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz" - }, - "minimist": { - "version": "1.2.0", - "from": "minimist@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" - }, - "mkdirp": { - "version": "0.5.1", - "from": "mkdirp@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "dependencies": { - "minimist": { - "version": "0.0.8", - "from": "minimist@0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" - } - } - }, - "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" - }, - "multipipe": { - "version": "0.1.2", - "from": "multipipe@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz" - }, - "nan": { - "version": "2.2.0", - "from": "nan@>=2.0.8 <3.0.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.2.0.tgz" - }, - "node-gyp": { - "version": "3.3.0", - "from": "node-gyp@>=3.0.1 <4.0.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.3.0.tgz", - "dependencies": { - "glob": { - "version": "4.5.3", - "from": "glob@>=3.0.0 <4.0.0||>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", - "dependencies": { - "minimatch": { - "version": "2.0.10", - "from": "minimatch@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz" - } - } - }, - "minimatch": { - "version": "1.0.0", - "from": "minimatch@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz" - } - } - }, - "node-sass": { - "version": "3.4.2", - "from": "node-sass@>=3.4.1 <4.0.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.4.2.tgz" - }, - "node-uuid": { - "version": "1.4.7", - "from": "node-uuid@>=1.4.7 <1.5.0", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" - }, - "nopt": { - "version": "3.0.6", - "from": "nopt@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" - }, - "normalize-package-data": { - "version": "2.3.5", - "from": "normalize-package-data@>=2.3.4 <3.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz" - }, - "normalize-range": { - "version": "0.1.2", - "from": "normalize-range@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" - }, - "npmconf": { - "version": "2.1.2", - "from": "npmconf@>=2.1.2 <3.0.0", - "resolved": "https://registry.npmjs.org/npmconf/-/npmconf-2.1.2.tgz" - }, - "npmlog": { - "version": "2.0.2", - "from": "npmlog@>=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.2.tgz" - }, - "num2fraction": { - "version": "1.2.2", - "from": "num2fraction@>=1.2.2 <2.0.0", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz" - }, - "number-is-nan": { - "version": "1.0.0", - "from": "number-is-nan@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" - }, - "oauth-sign": { - "version": "0.8.1", - "from": "oauth-sign@>=0.8.0 <0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.1.tgz" - }, - "object-assign": { - "version": "3.0.0", - "from": "object-assign@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz" - }, - "once": { - "version": "1.3.3", - "from": "once@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" - }, - "orchestrator": { - "version": "0.3.7", - "from": "orchestrator@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.7.tgz" - }, - "ordered-read-streams": { - "version": "0.1.0", - "from": "ordered-read-streams@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz" - }, - "os-homedir": { - "version": "1.0.1", - "from": "os-homedir@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz" - }, - "os-locale": { - "version": "1.4.0", - "from": "os-locale@>=1.4.0 <2.0.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" - }, - "os-shim": { - "version": "0.1.3", - "from": "os-shim@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz" - }, - "os-tmpdir": { - "version": "1.0.1", - "from": "os-tmpdir@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz" - }, - "osenv": { - "version": "0.1.3", - "from": "osenv@>=0.0.0 <1.0.0", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz" - }, - "parse-json": { - "version": "2.2.0", - "from": "parse-json@>=2.2.0 <3.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" - }, - "path-array": { - "version": "1.0.1", - "from": "path-array@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz" - }, - "path-exists": { - "version": "2.1.0", - "from": "path-exists@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" - }, - "path-is-absolute": { - "version": "1.0.0", - "from": "path-is-absolute@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" - }, - "path-type": { - "version": "1.1.0", - "from": "path-type@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" - }, - "pify": { - "version": "2.3.0", - "from": "pify@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - }, - "pinkie": { - "version": "2.0.4", - "from": "pinkie@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - }, - "pinkie-promise": { - "version": "2.0.0", - "from": "pinkie-promise@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz" - }, - "postcss": { - "version": "5.0.19", - "from": "postcss@>=5.0.4 <6.0.0", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.0.19.tgz", - "dependencies": { - "supports-color": { - "version": "3.1.2", - "from": "supports-color@>=3.1.2 <4.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz" - } - } - }, - "postcss-value-parser": { - "version": "3.3.0", - "from": "postcss-value-parser@>=3.2.3 <4.0.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" - }, - "pretty-hrtime": { - "version": "1.0.2", - "from": "pretty-hrtime@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.2.tgz" - }, - "process-nextick-args": { - "version": "1.0.6", - "from": "process-nextick-args@>=1.0.6 <1.1.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz" - }, - "proto-list": { - "version": "1.2.4", - "from": "proto-list@>=1.2.1 <1.3.0", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" - }, - "pseudomap": { - "version": "1.0.2", - "from": "pseudomap@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" - }, - "qs": { - "version": "6.0.2", - "from": "qs@>=6.0.2 <6.1.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.0.2.tgz" - }, - "read-pkg": { - "version": "1.1.0", - "from": "read-pkg@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" - }, - "read-pkg-up": { - "version": "1.0.1", - "from": "read-pkg-up@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" - }, - "readable-stream": { - "version": "1.1.13", - "from": "readable-stream@>=1.1.9 <1.2.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz" - }, - "rechoir": { - "version": "0.6.2", - "from": "rechoir@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - }, - "redent": { - "version": "1.0.0", - "from": "redent@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" - }, - "repeating": { - "version": "2.0.0", - "from": "repeating@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.0.tgz" - }, - "replace-ext": { - "version": "0.0.1", - "from": "replace-ext@0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz" - }, - "request": { - "version": "2.69.0", - "from": "request@>=2.61.0 <3.0.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.69.0.tgz", - "dependencies": { - "extend": { - "version": "3.0.0", - "from": "extend@>=3.0.0 <3.1.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" - } - } - }, - "resolve": { - "version": "1.1.7", - "from": "resolve@>=1.1.6 <2.0.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" - }, - "rimraf": { - "version": "2.5.2", - "from": "rimraf@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz", - "dependencies": { - "glob": { - "version": "7.0.0", - "from": "glob@>=7.0.0 <8.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.0.tgz" - } - } - }, - "sass-graph": { - "version": "2.1.1", - "from": "sass-graph@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.1.tgz", - "dependencies": { - "glob": { - "version": "6.0.4", - "from": "glob@>=6.0.4 <7.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" - }, - "lodash": { - "version": "4.6.1", - "from": "lodash@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz" - } - } - }, - "semver": { - "version": "4.3.6", - "from": "semver@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz" - }, - "sequencify": { - "version": "0.0.7", - "from": "sequencify@>=0.0.7 <0.1.0", - "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz" - }, - "sigmund": { - "version": "1.0.1", - "from": "sigmund@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" - }, - "signal-exit": { - "version": "2.1.2", - "from": "signal-exit@>=2.1.2 <3.0.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-2.1.2.tgz" - }, - "sntp": { - "version": "1.0.9", - "from": "sntp@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" - }, - "source-map": { - "version": "0.5.3", - "from": "source-map@>=0.5.1 <0.6.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.3.tgz" - }, - "sparkles": { - "version": "1.0.0", - "from": "sparkles@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz" - }, - "spawn-sync": { - "version": "1.0.15", - "from": "spawn-sync@>=1.0.15 <2.0.0", - "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz" - }, - "spdx-correct": { - "version": "1.0.2", - "from": "spdx-correct@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz" - }, - "spdx-exceptions": { - "version": "1.0.4", - "from": "spdx-exceptions@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.4.tgz" - }, - "spdx-expression-parse": { - "version": "1.0.2", - "from": "spdx-expression-parse@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz" - }, - "spdx-license-ids": { - "version": "1.2.0", - "from": "spdx-license-ids@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.0.tgz" - }, - "sshpk": { - "version": "1.7.4", - "from": "sshpk@>=1.7.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.7.4.tgz" - }, - "stream-consume": { - "version": "0.1.0", - "from": "stream-consume@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, - "string-width": { - "version": "1.0.1", - "from": "string-width@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz" - }, - "stringstream": { - "version": "0.0.5", - "from": "stringstream@>=0.0.4 <0.1.0", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" - }, - "strip-ansi": { - "version": "3.0.1", - "from": "strip-ansi@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - }, - "strip-bom": { - "version": "2.0.0", - "from": "strip-bom@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" - }, - "strip-indent": { - "version": "1.0.1", - "from": "strip-indent@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" - }, - "supports-color": { - "version": "2.0.0", - "from": "supports-color@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - }, - "tar": { - "version": "2.2.1", - "from": "tar@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz" - }, - "through2": { - "version": "2.0.1", - "from": "through2@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", - "dependencies": { - "readable-stream": { - "version": "2.0.5", - "from": "readable-stream@>=2.0.0 <2.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz" - } - } - }, - "tildify": { - "version": "1.1.2", - "from": "tildify@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.1.2.tgz" - }, - "time-stamp": { - "version": "1.0.0", - "from": "time-stamp@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.0.tgz" - }, - "tough-cookie": { - "version": "2.2.1", - "from": "tough-cookie@>=2.2.0 <2.3.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.1.tgz" - }, - "trim-newlines": { - "version": "1.0.0", - "from": "trim-newlines@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" - }, - "tunnel-agent": { - "version": "0.4.2", - "from": "tunnel-agent@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz" - }, - "tweetnacl": { - "version": "0.14.1", - "from": "tweetnacl@>=0.13.0 <1.0.0", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.1.tgz" - }, - "typedarray": { - "version": "0.0.6", - "from": "typedarray@>=0.0.5 <0.1.0", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - }, - "uid-number": { - "version": "0.0.5", - "from": "uid-number@0.0.5", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz" - }, - "unique-stream": { - "version": "1.0.0", - "from": "unique-stream@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz" - }, - "user-home": { - "version": "1.1.1", - "from": "user-home@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz" - }, - "util-deprecate": { - "version": "1.0.2", - "from": "util-deprecate@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - }, - "v8flags": { - "version": "2.0.11", - "from": "v8flags@>=2.0.2 <3.0.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.0.11.tgz" - }, - "validate-npm-package-license": { - "version": "3.0.1", - "from": "validate-npm-package-license@>=3.0.1 <4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" - }, - "verror": { - "version": "1.3.6", - "from": "verror@1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" - }, - "vinyl": { - "version": "0.5.3", - "from": "vinyl@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz" - }, - "vinyl-fs": { - "version": "0.3.14", - "from": "vinyl-fs@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", - "dependencies": { - "clone": { - "version": "0.2.0", - "from": "clone@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz" - }, - "graceful-fs": { - "version": "3.0.8", - "from": "graceful-fs@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz" - }, - "readable-stream": { - "version": "1.0.33", - "from": "readable-stream@>=1.0.33-1 <1.1.0-0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz" - }, - "strip-bom": { - "version": "1.0.0", - "from": "strip-bom@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz" - }, - "through2": { - "version": "0.6.5", - "from": "through2@>=0.6.1 <0.7.0", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" - }, - "vinyl": { - "version": "0.4.6", - "from": "vinyl@>=0.4.0 <0.5.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz" - } - } - }, - "vinyl-sourcemaps-apply": { - "version": "0.2.1", - "from": "vinyl-sourcemaps-apply@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz" - }, - "which": { - "version": "1.2.4", - "from": "which@>=1.2.4 <2.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.2.4.tgz" - }, - "window-size": { - "version": "0.1.4", - "from": "window-size@>=0.1.4 <0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz" - }, - "wrap-ansi": { - "version": "1.0.0", - "from": "wrap-ansi@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-1.0.0.tgz" - }, - "wrappy": { - "version": "1.0.1", - "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" - }, - "xtend": { - "version": "4.0.1", - "from": "xtend@>=4.0.0 <4.1.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - }, - "y18n": { - "version": "3.2.0", - "from": "y18n@>=3.2.0 <4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.0.tgz" - }, - "yallist": { - "version": "2.0.0", - "from": "yallist@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz" - }, - "yargs": { - "version": "3.32.0", - "from": "yargs@>=3.8.0 <4.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz" - }, - "zen-grids": { - "version": "2.0.1", - "from": "zen-grids@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/zen-grids/-/zen-grids-2.0.1.tgz" - } - } -} diff --git a/package.json b/package.json index de97754..9196999 100644 --- a/package.json +++ b/package.json @@ -16,12 +16,20 @@ "url": "https://github.com/palantirnet/butler/issues" }, "homepage": "https://github.com/palantirnet/butler#readme", - "devDependencies": { + "dependencies": { + "autoprefixer": "^6.3.3", "breakpoint-sass": "^2.7.0", + "cssnano": "^3.5.2", "gulp": "^3.9.1", - "gulp-autoprefixer": "^3.1.0", "gulp-exec": "^2.1.2", + "gulp-postcss": "^6.1.0", "gulp-sass": "^2.2.0", + "install": "^0.5.4", + "npm": "^3.7.5", + "postcss-bem-linter": "^2.3.3", + "postcss-reporter": "^1.3.3", + "postcss-scss": "^0.1.6", + "stylelint": "^4.4.0", "zen-grids": "^2.0.1" } } diff --git a/source/code/css/styles.css b/source/code/css/styles.css index dd362a9..74e2e62 100644 --- a/source/code/css/styles.css +++ b/source/code/css/styles.css @@ -1,1681 +1 @@ -@charset "UTF-8"; -/** - * @file - * Centralize your imports here. - * Styles are organized using the SMACSS technique. - * @see http://smacss.com/book/ - */ -/* Import Sass mixins, variables, Compass modules, etc. */ -/* body */ -/* Link (a:) */ -/* Blockquote*/ -/* Figcaption */ -/* forms */ -/* Buttons */ -/** - * @file - * Define your custom Sass mixins and extends here. - * @see http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#defining_a_mixin - */ -/* ========================================================================== - Typography grooming extends - ========================================================================== */ -/* Tight tracking */ -h1, h2, h3 { - letter-spacing: -0.0125em; -} - -/* Open tracking */ -h5, h6 { - letter-spacing: 0.1em; -} - -/* Style larger text with a tighter tracking, change weight, etc. */ -h1, h2, h3 { - font-weight: 700; -} - -/* Style all caps with a slightly open tracking. */ -h5, h6 { - text-transform: uppercase; -} - -/* ========================================================================== - Clearfix extend - ========================================================================== */ -/** - * Applies a clearfix ruleset using a placeholder selector. Placeholder selectors - * do not get compiled uless they are called - removing the nesting issues that - * can otherwise occur with extends. - */ -/* ============================================================== - Visually hidden extend - ============================================================== */ -/** - * Element-invisible as defined by snook.ca - * @see http://snook.ca/archives/html_and_css/hiding-content-for-accessibility - */ -.element-invisible, -.element-focusable { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px, 1px, 1px, 1px); -} - -/* Turns off the element-invisible effect. */ -.element-focusable:active, .element-focusable:focus { - position: static !important; - clip: auto; - height: auto; - width: auto; - overflow: auto; -} - -/* ============================================================== - Transition mixin - ============================================================== */ -/* HTML element (SMACSS base) rules */ -/** - * @file - * Normalize.css is intended to be used as an alternative to CSS resets. - * - * This file is a slight fork of these original sources: - * - normalize.css v2.1.2 | MIT License | git.io/normalize - * - normalize.scss v2.1.2 | MIT/GPLv2 License | bit.ly/normalize-with-compass - * - * It's suggested that you read the normalize.scss file and customise it to meet - * your needs, rather then including the file in your project and overriding the - * defaults later in your CSS. - * @see http://nicolasgallagher.com/about-normalize-css/ - * - * Also: @see http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/ - * @see http://snook.ca/archives/html_and_css/no_css_reset/ - */ -/** - * HTML5 display definitions - */ -/* Correct `block` display not defined in IE 8/9. */ -article, -aside, -details, -figcaption, -figure, -footer, -header, -main, -nav, -section, -summary { - display: block; -} - -/* Correct `inline-block` display not defined in IE 8/9. */ -audio, -canvas, -video { - display: inline-block; -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ -audio:not([controls]) { - display: none; - height: 0; -} - -/* Address styling not present in IE 8/9. */ -[hidden] { - display: none; -} - -/** - * Base - * - * Instead of relying on the fonts that are available on a user's computer, you - * can use web fonts which, like images, are resources downloaded to the user's - * browser. Because of the bandwidth and rendering resources required, web fonts - * should be used with care. - * - * Numerous resources for web fonts can be found on Google. Here are a few - * websites where you can find Open Source fonts to download: - * - http://www.fontsquirrel.com/fontface - * - http://www.theleagueofmoveabletype.com - * - * In order to use these fonts, you will need to convert them into formats - * suitable for web fonts. We recommend the free-to-use Font Squirrel's - * Font-Face Generator: - * http://www.fontsquirrel.com/fontface/generator - * - * The following is an example @font-face declaration. This font can then be - * used in any ruleset using a property like this: font-family: Example, serif; - * - * Since we're using Sass, you'll need to declare your font faces here, then you - * can add them to the font variables in the _base.scss partial. - */ -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Correct text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - * 4. Makes it pretty — banishes chunky type. - */ -html { - font-family: Helvetica, Arial, "Nimbus Sans L", sans-serif; - /* 1 */ - font-weight: 400; - font-size: 93.75%; - /* 3 */ - -ms-text-size-adjust: 100%; - /* 2 */ - -webkit-text-size-adjust: 100%; - /* 2 */ - -webkit-font-smoothing: antialiased; - /* 4 */ - text-rendering: optimizeLegibility; - /* 4 */ - color: #444444; - background: #ffffff; -} - -@media (min-width: 600px) { - html { - font-size: 105%; - } -} - -@media (min-width: 900px) { - html { - font-size: 116.25%; - } -} - -@media (min-width: 1100px) { - html { - font-size: 127.5%; - } -} - -/* Remove default margin. */ -body { - margin: 0; - padding: 0; -} - -/** - * Links - * - * The order of link states are based on Eric Meyer's article: - * http://meyerweb.com/eric/thoughts/2007/06/11/who-ordered-the-link-states - */ -a:link, -a:visited { - color: #888888; - text-decoration: none; -} - -a:hover, -a:focus, -a:active { - color: #F0F0F0; - text-decoration: underline; -} - -/* Address `outline` inconsistency between Chrome and other browsers. */ -a:focus { - outline: thin dotted; -} - -/* Improve readability when focused and also mouse hovered in all browsers. */ -a:active, -a:hover { - outline: 0; -} - -/** - * Typography - * - * To achieve a pleasant vertical rhythm, we use Compass' Vertical Rhythm mixins - * so that the line height of our base font becomes the basic unit of vertical - * measurement. We use multiples of that unit to set the top and bottom margins - * for our block level elements and to set the line heights of any fonts. - * For more information, see http://24ways.org/2006/compose-to-a-vertical-rhythm - */ -/* Set 1 unit of vertical rhythm on the top and bottom margin. */ -blockquote { - /* Also indent the quote on both sides. */ - margin: rhythm(1); - color: #888888; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari 5, and Chrome. - */ -h1 { - /* Set the font-size and line-height while keeping a proper vertical rhythm. */ - /* Set 1 unit of vertical rhythm on the top and bottom margins. */ -} - -h6 { - font-weight: 400; -} - -/* Address styling not present in IE 8/9, Safari 5, and Chrome. */ -abbr[title] { - border-bottom: 1px dotted; -} - -/* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ -b, -strong { - font-weight: 700; -} - -/* Address styling not present in Safari 5 and Chrome. */ -dfn { - font-style: italic; -} - -/* Address differences between Firefox and other browsers. */ -hr { - height: 0; - border: 1px solid #ddd; - padding-bottom: -1px; - margin: rhythm(2) 0; -} - -/* Address styling not present in IE 8/9. */ -mark { - background: #ff0; - color: #000; -} - -/* Correct font family set oddly in Safari 5 and Chrome. */ -code, -kbd, -pre, -samp, -tt, -var { - font-family: "Courier New", "DejaVu Sans Mono", monospace, sans-serif; -} - -/* Improve readability of pre-formatted text in all browsers. */ -pre { - white-space: pre-wrap; -} - -/* Set consistent quote types. */ -q { - quotes: "\201C" "\201D" "\2018" "\2019"; -} - -/* 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; -} - -/** - * Lists - */ -dl, -menu, -ol, -ul { - /* Address margins set differently in IE 6/7. */ - margin: 0 0 rhythm(1) 0; -} - -ol ol, -ol ul, -ul ol, -ul ul { - /* Turn off margins on nested lists. */ - margin: 0 0 rhythm(1) 0; -} - -dd { - margin: 0 0 0 rhythm(1); - /* LTR */ -} - -/* Address paddings set differently in IE 6/7. */ -menu, -ol, -ul { - padding: 0 0 0 rhythm(1); - /* LTR */ -} - -/** - * Embedded content and figures - * - * @todo Look into adding responsive embedded video. - */ -img { - /* Remove border when inside `a` element in IE 8/9. */ - border: 0; - /* Suppress the space beneath the baseline */ - vertical-align: bottom; - /* Responsive images */ - max-width: 100%; - /* Correct IE 8 not scaling image height when resized. */ - width: auto; -} - -figcaption { - color: #888888; - font-style: italic; - margin-top: rhythm(0.5, 12px); -} - -/* Responsive video styles for youtube and vimeo. - * Requires a "video-wrapper" class on the - * tag containing the iframe embed code. -*/ -.video-wrapper { - position: relative; - padding-bottom: 56.25%; - /* 16:9 ratio */ - height: 0; -} - -.video-wrapper iframe { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -/** - * Correct overflow displayed oddly in IE 9. - */ -svg:not(:root) { - overflow: hidden; -} - -/* Address margin not present in IE 8/9 and Safari 5. */ -figure { - margin: rhythm(1.5, 15px) 0; -} - -/** - * Forms - */ -/* Define consistent border, margin, and padding. */ -fieldset { - margin: 0 2px; - /* Apply borders and padding that keep the vertical rhythm. */ - border-color: #c0c0c0; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Correct alignment displayed oddly in IE 6/7. - */ -legend { - border: 0; - /* 1 */ - padding: 0; - /* 2 */ -} - -/** - * 1. Correct font family not being inherited in all browsers. - * 2. Correct font size not being inherited in all browsers. - * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. - * 4. Improve appearance and consistency with IE 6/7. - * 5. Keep form elements constrained in their containers. - */ -button, -input, -select, -textarea { - font-family: inherit; - /* 1 */ - font-size: 100%; - /* 2 */ - margin: 0; - /* 3 */ - max-width: 100%; - /* 5 */ -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ -button, -input { - line-height: normal; -} - -/** - * 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 Chrome, Safari 5+, and IE 8+. - * Correct `select` style inheritance in Firefox 4+ and Opera. - */ -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. - * 4. Remove inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ -button, -html input[type="button"], -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; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9. - * 2. Remove excess padding in IE 8/9. - * 3. Remove excess padding in IE 7. - * Known issue: excess padding remains in IE 6. - */ -input[type="checkbox"], -input[type="radio"] { - padding: 0; - /* 2 */ -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome - * (include `-moz` to future-proof). - */ -input[type="search"] { - -webkit-appearance: textfield; - /* 1 */ -} - -/** - * Remove inner padding and search cancel button in Safari 5 and Chrome - * on OS X. - */ -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* Remove inner padding and border in Firefox 4+. */ -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * 1. Remove default vertical scrollbar in IE 8/9. - * 2. Improve readability and alignment in all browsers. - */ -textarea { - overflow: auto; - /* 1 */ - vertical-align: top; - /* 2 */ -} - -/* Drupal-style form labels. */ -label { - display: block; -} - -/** - * SITE SPECIFIC form element styles. Adapted from purecss, under the Yahoo! Inc. BSD license - * Please visit http://purecss.io/ for more information - * purecss.io: Copyright 2014 Yahoo! Inc. All rights reserved. - */ -input[type="text"], -input[type="password"], -input[type="email"], -input[type="url"], -input[type="date"], -input[type="month"], -input[type="time"], -input[type="datetime"], -input[type="datetime-local"], -input[type="week"], -input[type="number"], -input[type="search"], -input[type="tel"], -input[type="color"], -select, -textarea { - color: #888888; - -webkit-user-select: none; - -webkit-appearance: none; - background: #ffffff; - width: 100%; - text-indent: .5em; - border: 1px solid #F0F0F0; - outline: none; -} - -input[type="text"]:hover, input[type="text"]:focus, input[type="text"]:active, -input[type="password"]:hover, -input[type="password"]:focus, -input[type="password"]:active, -input[type="email"]:hover, -input[type="email"]:focus, -input[type="email"]:active, -input[type="url"]:hover, -input[type="url"]:focus, -input[type="url"]:active, -input[type="date"]:hover, -input[type="date"]:focus, -input[type="date"]:active, -input[type="month"]:hover, -input[type="month"]:focus, -input[type="month"]:active, -input[type="time"]:hover, -input[type="time"]:focus, -input[type="time"]:active, -input[type="datetime"]:hover, -input[type="datetime"]:focus, -input[type="datetime"]:active, -input[type="datetime-local"]:hover, -input[type="datetime-local"]:focus, -input[type="datetime-local"]:active, -input[type="week"]:hover, -input[type="week"]:focus, -input[type="week"]:active, -input[type="number"]:hover, -input[type="number"]:focus, -input[type="number"]:active, -input[type="search"]:hover, -input[type="search"]:focus, -input[type="search"]:active, -input[type="tel"]:hover, -input[type="tel"]:focus, -input[type="tel"]:active, -input[type="color"]:hover, -input[type="color"]:focus, -input[type="color"]:active, -select:hover, -select:focus, -select:active, -textarea:hover, -textarea:focus, -textarea:active { - border: 1px solid #444444; - outline: none; -} - -input[type="text"], -input[type="password"], -input[type="email"], -input[type="url"], -input[type="date"], -input[type="month"], -input[type="time"], -input[type="datetime"], -input[type="datetime-local"], -input[type="week"], -input[type="number"], -input[type="search"], -input[type="tel"], -input[type="color"], -select { - height: 2.5em; -} - -/* -Need to separate out the :not() selector from the rest of the CSS 2.1 selectors -since IE8 won't execute CSS that contains a CSS3 selector. -*/ -input:not([type]) { - color: #888888; - -webkit-user-select: none; - -webkit-appearance: none; - background: #F0F0F0; - width: 100%; - text-indent: .5em; - border: 1px solid #888888; - outline: none; -} - -input:not([type]):hover, input:not([type]):focus, input:not([type]):active { - border: 1px solid #444444; - outline: none; -} - -/* Chrome (as of v.32/34 on OS X) needs additional room for color to display. */ -/* May be able to remove this tweak as color inputs become more standardized across browsers. */ -input[type="color"] { - padding: 0.2em 0.5em; -} - -/* -Need to separate out the :not() selector from the rest of the CSS 2.1 selectors -since IE8 won't execute CSS that contains a CSS3 selector. -*/ -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted #444444; - outline: 1px auto #444444; -} - -input[type="text"][disabled], -input[type="password"][disabled], -input[type="email"][disabled], -input[type="url"][disabled], -input[type="date"][disabled], -input[type="month"][disabled], -input[type="time"][disabled], -input[type="datetime"][disabled], -input[type="datetime-local"][disabled], -input[type="week"][disabled], -input[type="number"][disabled], -input[type="search"][disabled], -input[type="tel"][disabled], -input[type="color"][disabled], -select[disabled], -textarea[disabled] { - cursor: not-allowed; - background-color: #F0F0F0; - color: #888888; -} - -/* -Need to separate out the :not() selector from the rest of the CSS 2.1 selectors -since IE8 won't execute CSS that contains a CSS3 selector. -*/ -input:not([type])[disabled] { - cursor: not-allowed; - background-color: #F0F0F0; - color: #888888; -} - -input[readonly], -select[readonly], -textarea[readonly] { - background: #F0F0F0; - color: #888888; - border-color: #888888; -} - -input:focus:invalid, -textarea:focus:invalid, -select:focus:invalid { - color: #b94a48; - border-color: #ee5f5b; -} - -input:focus:invalid:focus, -textarea:focus:invalid:focus, -select:focus:invalid:focus { - border-color: #e9322d; -} - -input[type="file"]:focus:invalid:focus, -input[type="radio"]:focus:invalid:focus, -input[type="checkbox"]:focus:invalid:focus { - outline-color: #e9322d; -} - -input[type="checkbox"], -input[type="radio"] { - position: relative; - top: 7px; - margin-right: .5em; - float: left; -} - -select { - width: 100%; - -webkit-appearance: none; - border-radius: 0; - height: 2em; - text-indent: .5em; - background-color: #ffffff; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkU4QTMzNkUyNDAwQzExRTNBOEY4OTE4N0E1NkQ4QjVCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkU4QTMzNkUzNDAwQzExRTNBOEY4OTE4N0E1NkQ4QjVCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RThBMzM2RTA0MDBDMTFFM0E4Rjg5MTg3QTU2RDhCNUIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RThBMzM2RTE0MDBDMTFFM0E4Rjg5MTg3QTU2RDhCNUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4x37VGAAAAWklEQVR42mI0NjZeysDAEMWAHyxlAhKZQPwAj6L7QJwFUvgJiKOB+C8WRX+gcp+YoALHgLgZi0KQ2HEQgwlJsAWIjyLxjwBxK4yDrBBkdQwQf4DiGGTnAAQYAGJbEyV4nwHtAAAAAElFTkSuQmCC); - background-repeat: no-repeat; - background-position: 97% 50%; - border: 1px solid #F0F0F0; - outline: none; -} - -select:hover, select:focus, select:active { - outline: 0; - border: 1px solid #888888; -} - -select[multiple] { - height: auto; -} - -fieldset { - margin: 0; - padding: rhythm(0.25, 15px) 0 rhythm(0.75, 15px); - border: 0; -} - -legend { - display: block; - width: 100%; - padding: rhythm(0.5, 15px) 0; -} - -input + input, -select + select, -input + select, -select + input { - margin-top: .5em; -} - -button { - background: #888888; - border: 1px solid transparent; - color: #ffffff; - margin: rhythm(1, 15px) 0; - padding: rhythm(1, 15px); -} - -button:hover { - background: #444444; - color: #ffffff; -} - -button:focus { - outline-style: dotted; - outline-color: #444444; - outline-width: 1px; -} - -button[type="reset"] { - color: #888888; - font-size: 14px; - text-decoration: underline; - background: transparent; - border: none; - padding: rhythm(1, 15px) rhythm(1, 15px); -} - -button[type="reset"]:hover { - color: #444444; -} - -/* Styles for placeholder text */ -::-webkit-input-placeholder { - color: #F0F0F0; -} - -:-moz-placeholder { - /* Firefox 18- */ - color: #F0F0F0; -} - -::-moz-placeholder { - /* Firefox 19+ */ - color: #F0F0F0; -} - -:-ms-input-placeholder { - color: #F0F0F0; -} - -/* ========================================================================== - Tables - ========================================================================== */ -table { - /* Remove most spacing between table cells. */ - border-collapse: collapse; - border-spacing: 0; - /* Prevent cramped-looking tables */ - /* width: 100%; */ - /* Add vertical rhythm margins. */ -} - -/* Layout rules */ -/** - * @file - * Define zen grids base settings here. - * @see http://zengrids.com - */ -/* - * Center the page. - */ -.container { - /* For screen sizes larger than 1200px, prevent excessively long lines of text - by setting a max-width. */ - margin-left: auto; - margin-right: auto; - min-width: 260px; - /* enforces a min-width in FF. */ -} - -@media (min-width: 600px) { - .container { - width: 90%; - } -} - -@media (min-width: 900px) { - .container { - max-width: 1400px; - } -} - -/* - * Apply the shared properties of grid items in a single, efficient ruleset. - */ -.container, -.grid-item { - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -/* - * Containers for grid items and flow items. - */ -.container:before { - content: ""; - display: table; -} - -.container:after { - content: ""; - display: table; - clear: both; -} - -.container { - padding-left: 0; - padding-right: 0; -} - -/** - * @file - * Layout rules for full-width content - */ -.l-1up { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -/** - * @file - * Layout rules for two thirds / one third (66/33) content - */ -.l-66-33--1 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-66-33--1 { - float: left; - width: 66.66667%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-66-33--2 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-66-33--2 { - clear: none; - float: left; - width: 33.33333%; - margin-left: 66.66667%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -/** - * @file - * Layout rules for one third / two thirds (33/66) content - */ -.l-33-66--1 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-33-66--1 { - float: left; - width: 33.33333%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-33-66--2 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-33-66--2 { - clear: none; - float: left; - width: 66.66667%; - margin-left: 33.33333%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -/** - * @file - * Layout rules for 2-up content - */ -.l-2up { - float: left; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - box-sizing: border-box; - width: 100%; - padding-left: 0; - padding-right: 0px; - margin-right: 0px; -} - -@media (min-width: 900px) { - .l-2up { - box-sizing: border-box; - width: 50%; - padding-left: 0; - padding-right: 12px; - margin-right: 12px; - } -} - -@media (min-width: 900px) { - .l-2up:nth-of-type(2n) { - box-sizing: border-box; - width: 50%; - padding-left: 0; - padding-right: 12px; - margin-right: -12px; - } -} - -@media (min-width: 900px) { - .l-2up:nth-of-type(2n+1) { - clear: left; - } -} - -.l-2up--1 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-2up--1 { - float: left; - width: 50%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-2up--2 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-2up--2 { - clear: none; - float: left; - width: 50%; - margin-left: 50%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -/** - * @file - * Layout rules for 3-up content - */ -.l-3up { - float: left; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 1100px) { - .l-3up:nth-of-type(3n+1) { - clear: left; - } -} - -.l-3up--1 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-3up--1 { - clear: left; - float: left; - width: 33.33333%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-3up--2 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-3up--2 { - clear: none; - float: left; - width: 33.33333%; - margin-left: 33.33333%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-3up--3 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-3up--3 { - clear: none; - float: left; - width: 33.33333%; - margin-left: 66.66667%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -/** - * @file - * Layout rules for 4-up content - */ -.l-4up { - float: left; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - box-sizing: border-box; - width: 100%; - padding-left: 0; - padding-right: 0px; - margin-right: 0px; -} - -@media (min-width: 600px) { - .l-4up { - box-sizing: border-box; - width: 50%; - padding-left: 0; - padding-right: 12px; - margin-right: 12px; - } -} - -@media (min-width: 1100px) { - .l-4up { - box-sizing: border-box; - width: 25%; - padding-left: 0; - padding-right: 18px; - margin-right: 6px; - } -} - -@media (min-width: 600px) { - .l-4up:nth-of-type(2n) { - box-sizing: border-box; - width: 50%; - padding-left: 0; - padding-right: 12px; - margin-right: -12px; - } -} - -@media (min-width: 1100px) { - .l-4up:nth-of-type(2n) { - box-sizing: border-box; - width: 25%; - padding-left: 0; - padding-right: 18px; - margin-right: 6px; - } -} - -@media (min-width: 1100px) { - .l-4up:nth-of-type(4n) { - box-sizing: border-box; - width: 25%; - padding-left: 0; - padding-right: 18px; - margin-right: -18px; - } -} - -@media (min-width: 1100px) { - .l-4up:nth-of-type(4n+1) { - clear: left; - } -} - -.l-4up--1 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-4up--1 { - float: left; - width: 25%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-4up--2 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-4up--2 { - clear: none; - float: left; - width: 25%; - margin-left: 25%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-4up--3 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-4up--3 { - clear: none; - float: left; - width: 25%; - margin-left: 50%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-4up--4 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-4up--4 { - clear: none; - float: left; - width: 25%; - margin-left: 75%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -/** - * @file - * Layout rules for 6-up content - */ -.l-6up--1 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-6up--1 { - float: left; - width: 16.66667%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-6up--2 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-6up--2 { - clear: none; - float: left; - width: 16.66667%; - margin-left: 16.66667%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-6up--3 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-6up--3 { - clear: none; - float: left; - width: 16.66667%; - margin-left: 33.33333%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-6up--4 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-6up--4 { - clear: none; - float: left; - width: 16.66667%; - margin-left: 50%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-6up--5 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-6up--5 { - clear: none; - float: left; - width: 16.66667%; - margin-left: 66.66667%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-6up--6 { - clear: left; - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-6up--6 { - clear: none; - float: left; - width: 16.66667%; - margin-left: 83.33333%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -/* Component (SMACSS module) rules */ -/* Styleguide Specific rules */ -/** - * @file - * Define the styles for the styleguide. This is not css for the site. - * - * @copyright Copyright (c) 2014 Palantir.net - */ -.l-styleguide-column { - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-styleguide-column { - float: left; - width: 66.66667%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -@media (min-width: 900px) { - .l-styleguide-column { - float: left; - width: 58.33333%; - margin-left: 8.33333%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.l-styleguide-rail { - float: left; - width: 100%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; -} - -@media (min-width: 600px) { - .l-styleguide-rail { - float: left; - width: 33.33333%; - margin-left: 0%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -@media (min-width: 900px) { - .l-styleguide-rail { - float: left; - width: 25%; - margin-left: 8.33333%; - margin-right: -100%; - padding-left: 12px; - padding-right: 12px; - box-sizing: border-box; - } -} - -.styleguide-copyright { - color: #888888; - padding: rhythm(6, 15px) 0; - margin-top: rhythm(10, 15px); - border-top: 1px solid #F0F0F0; -} - -.styleguide-label { - color: #444444; -} - -.styleguide-section { - margin-top: rhythm(6, 15px); - border-top: 1px solid #F0F0F0; - padding-top: rhythm(3, 15px); -} - -.styleguide-list { - padding: 0 0 0 rhythm(2, 15px); -} - -.styleguide-list h4 { - font-weight: 400; -} - -.styleguide-component { - background-color: #ffffff; - padding: rhythm(2, 15px) 0; -} - -.component-header { - background-color: #F0F0F0; - margin: rhythm(4, 15px) 0; - padding: rhythm(4, 15px) 0; -} - -.color-title { - border-bottom: 1px solid #F0F0F0; - padding-bottom: rhythm(1, 15px); - margin: rhythm(2, 15px) 0; -} - -.color-block { - width: 100%; - height: 50px; - margin-top: rhythm(1, 15px); -} - -.color-label { - color: #888888; -} - -.styleguide-swatch { - width: 50%; - padding: 25px; -} - -/* print rules */ -/** - * @file - * Define print styles here. - */ +h1,h2,h3{letter-spacing:-.0125em}h5,h6{letter-spacing:.1em}h1,h2,h3{font-weight:700}h5,h6{text-transform:uppercase}.element-focusable,.element-invisible{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.element-focusable:active,.element-focusable:focus{position:static!important;clip:auto;height:auto;width:auto;overflow:auto}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:Helvetica,Arial,Nimbus Sans L,sans-serif;font-weight:400;font-size:93.75%;text-rendering:optimizeLegibility;color:#444;background:#fff}@media (min-width:600px){html{font-size:105%}}@media (min-width:900px){html{font-size:116.25%}}@media (min-width:1100px){html{font-size:127.5%}}body{margin:0;padding:0}a:link,a:visited{color:#888;text-decoration:none}a:active,a:focus,a:hover{color:#f0f0f0;text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}blockquote{margin:rhythm(1);color:#888}h6{font-weight:400}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{height:0;border:1px solid #ddd;padding-bottom:-1px;margin:rhythm(2) 0}mark{background:#ff0;color:#000}code,kbd,pre,samp,tt,var{font-family:Courier New,DejaVu Sans Mono,monospace}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,menu,ol,ol ol,ol ul,ul,ul ol,ul ul{margin:0 0 rhythm(1)}dd{margin:0 0 0 rhythm(1)}menu,ol,ul{padding:0 0 0 rhythm(1)}img{border:0;vertical-align:bottom;max-width:100%;width:auto}figcaption{color:#888;font-style:italic;margin-top:rhythm(.5,12px)}.video-wrapper{position:relative;padding-bottom:56.25%;height:0}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}svg:not(:root){overflow:hidden}figure{margin:rhythm(1.5,15px) 0}fieldset{margin:0 2px;border-color:silver}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;max-width:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer}button[disabled],html input[disabled]{cursor:default}textarea{overflow:auto;vertical-align:top}label{display:block}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{color:#888;background:#fff;width:100%;text-indent:.5em;border:1px solid #f0f0f0;outline:none}input[type=color]:active,input[type=color]:focus,input[type=color]:hover,input[type=date]:active,input[type=date]:focus,input[type=date]:hover,input[type=datetime-local]:active,input[type=datetime-local]:focus,input[type=datetime-local]:hover,input[type=datetime]:active,input[type=datetime]:focus,input[type=datetime]:hover,input[type=email]:active,input[type=email]:focus,input[type=email]:hover,input[type=month]:active,input[type=month]:focus,input[type=month]:hover,input[type=number]:active,input[type=number]:focus,input[type=number]:hover,input[type=password]:active,input[type=password]:focus,input[type=password]:hover,input[type=search]:active,input[type=search]:focus,input[type=search]:hover,input[type=tel]:active,input[type=tel]:focus,input[type=tel]:hover,input[type=text]:active,input[type=text]:focus,input[type=text]:hover,input[type=time]:active,input[type=time]:focus,input[type=time]:hover,input[type=url]:active,input[type=url]:focus,input[type=url]:hover,input[type=week]:active,input[type=week]:focus,input[type=week]:hover,select:active,select:focus,select:hover,textarea:active,textarea:focus,textarea:hover{border:1px solid #444;outline:none}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select{height:2.5em}input:not([type]){color:#888;background:#f0f0f0;width:100%;text-indent:.5em;border:1px solid #888;outline:none}input:not([type]):active,input:not([type]):focus,input:not([type]):hover{border:1px solid #444;outline:none}input[type=color]{padding:.2em .5em}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:1px dotted #444}input:not([type])[disabled],input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled],select[disabled],textarea[disabled]{cursor:not-allowed;background-color:#f0f0f0;color:#888}input[readonly],select[readonly],textarea[readonly]{background:#f0f0f0;color:#888;border-color:#888}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e9322d}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e9322d}input[type=checkbox],input[type=radio]{position:relative;top:7px;margin-right:.5em;float:left}select{width:100%;border-radius:0;height:2em;text-indent:.5em;background-color:#fff;background-repeat:no-repeat;background-position:97% 50%;border:1px solid #f0f0f0;outline:none}select:active,select:focus,select:hover{outline:0;border:1px solid #888}select[multiple]{height:auto}fieldset{margin:0;padding:rhythm(.25,15px) 0 rhythm(.75,15px);border:0}legend{display:block;width:100%;padding:rhythm(.5,15px) 0}input+input,input+select,select+input,select+select{margin-top:.5em}button{background:#888;border:1px solid transparent;color:#fff;margin:rhythm(1,15px) 0;padding:rhythm(1,15px)}button:hover{background:#444;color:#fff}button:focus{outline-style:dotted;outline-color:#444;outline-width:1px}button[type=reset]{color:#888;font-size:14px;text-decoration:underline;background:transparent;border:none;padding:rhythm(1,15px)}button[type=reset]:hover{color:#444}table{border-collapse:collapse;border-spacing:0}.container{margin-left:auto;margin-right:auto;min-width:260px}@media (min-width:600px){.container{width:90%}}@media (min-width:900px){.container{max-width:1400px}}.container,.grid-item{padding-left:12px;padding-right:12px;box-sizing:border-box}.container:after,.container:before{content:"";display:table}.container:after{clear:both}.container{padding-left:0;padding-right:0}.l-1up,.l-66-33--1{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-66-33--1{float:left;width:66.66667%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-66-33--2{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-66-33--2{clear:none;float:left;width:33.33333%;margin-left:66.66667%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-33-66--1{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-33-66--1{float:left;width:33.33333%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-33-66--2{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-33-66--2{clear:none;float:left;width:66.66667%;margin-left:33.33333%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-2up{float:left;padding-left:12px;padding-right:12px;box-sizing:border-box;width:100%;padding-left:0;padding-right:0;margin-right:0}@media (min-width:900px){.l-2up{margin-right:12px}}@media (min-width:900px){.l-2up,.l-2up:nth-of-type(2n){box-sizing:border-box;width:50%;padding-left:0;padding-right:12px}.l-2up:nth-of-type(2n){margin-right:-12px}}@media (min-width:900px){.l-2up:nth-of-type(2n+1){clear:left}}.l-2up--1{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-2up--1{float:left;width:50%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-2up--2{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-2up--2{clear:none;float:left;width:50%;margin-left:50%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-3up{float:left;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:1100px){.l-3up:nth-of-type(3n+1){clear:left}}.l-3up--1{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-3up--1{clear:left;float:left;width:33.33333%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-3up--2{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-3up--2{clear:none;float:left;width:33.33333%;margin-left:33.33333%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-3up--3{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-3up--3{clear:none;float:left;width:33.33333%;margin-left:66.66667%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-4up{float:left;padding-left:12px;padding-right:12px;box-sizing:border-box;width:100%;padding-left:0;padding-right:0;margin-right:0}@media (min-width:600px){.l-4up{box-sizing:border-box;width:50%;padding-left:0;padding-right:12px;margin-right:12px}}@media (min-width:1100px){.l-4up{box-sizing:border-box;width:25%;padding-left:0;padding-right:18px;margin-right:6px}}@media (min-width:600px){.l-4up:nth-of-type(2n){box-sizing:border-box;width:50%;padding-left:0;padding-right:12px;margin-right:-12px}}@media (min-width:1100px){.l-4up:nth-of-type(2n){margin-right:6px}}@media (min-width:1100px){.l-4up:nth-of-type(2n),.l-4up:nth-of-type(4n){box-sizing:border-box;width:25%;padding-left:0;padding-right:18px}.l-4up:nth-of-type(4n){margin-right:-18px}}@media (min-width:1100px){.l-4up:nth-of-type(4n+1){clear:left}}.l-4up--1{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-4up--1{float:left;width:25%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-4up--2{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-4up--2{clear:none;float:left;width:25%;margin-left:25%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-4up--3{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-4up--3{clear:none;float:left;width:25%;margin-left:50%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-4up--4{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-4up--4{clear:none;float:left;width:25%;margin-left:75%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-6up--1{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-6up--1{float:left;width:16.66667%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-6up--2{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-6up--2{clear:none;float:left;width:16.66667%;margin-left:16.66667%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-6up--3{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-6up--3{clear:none;float:left;width:16.66667%;margin-left:33.33333%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-6up--4{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-6up--4{clear:none;float:left;width:16.66667%;margin-left:50%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-6up--5{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-6up--5{clear:none;float:left;width:16.66667%;margin-left:66.66667%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-6up--6{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-6up--6{clear:none;float:left;width:16.66667%;margin-left:83.33333%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-styleguide-column{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-styleguide-column{float:left;width:66.66667%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}@media (min-width:900px){.l-styleguide-column{float:left;width:58.33333%;margin-left:8.33333%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.l-styleguide-rail{clear:left;float:left;width:100%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}@media (min-width:600px){.l-styleguide-rail{clear:none;float:left;width:33.33333%;margin-left:0;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}@media (min-width:900px){.l-styleguide-rail{float:left;width:25%;margin-left:8.33333%;margin-right:-100%;padding-left:12px;padding-right:12px;box-sizing:border-box}}.styleguide-copyright{color:#888;padding:rhythm(6,15px) 0;margin-top:rhythm(10,15px);border-top:1px solid #f0f0f0}.styleguide-label{color:#444}.styleguide-section{margin-top:rhythm(6,15px);border-top:1px solid #f0f0f0;padding-top:rhythm(3,15px)}.styleguide-list{padding:0 0 0 rhythm(2,15px)}.styleguide-list h4{font-weight:400}.styleguide-component{background-color:#fff;padding:rhythm(2,15px) 0}.component-header{background-color:#f0f0f0;margin:rhythm(4,15px) 0;padding:rhythm(4,15px) 0}.color-title{border-bottom:1px solid #f0f0f0;padding-bottom:rhythm(1,15px);margin:rhythm(2,15px) 0}.color-block{width:100%;height:50px;margin-top:rhythm(1,15px)}.color-label{color:#888}.styleguide-swatch{width:50%;padding:25px} \ No newline at end of file diff --git a/source/code/sass/_init.scss b/source/code/sass/_init.scss index 830a517..438b0cf 100644 --- a/source/code/sass/_init.scss +++ b/source/code/sass/_init.scss @@ -58,9 +58,9 @@ $xl-heading: 2.44 * $base-font-size; $lg-heading: 1.95 * $base-font-size; $md-heading: 1.56 * $base-font-size; $sm-heading: 1.25 * $base-font-size; -$text: 1 * $base-font-size; -$label: 0.8 * $base-font-size; -$crumb: 0.6 * $base-font-size; +$text: 1 * $base-font-size; +$label: .8 * $base-font-size; +$crumb: .6 * $base-font-size; $h1-font-size: $lg-heading; $h2-font-size: $md-heading; @@ -82,20 +82,20 @@ $h6-font-size: $label; // First, let's create some font stacks. $times-new-roman: "Times New Roman", Times, Georgia, "DejaVu Serif", serif; -$times: Times, "Times New Roman", Georgia, "DejaVu Serif", serif; -$georgia: Georgia, "Times New Roman", "DejaVu Serif", serif; -$verdana: Verdana, Tahoma, "DejaVu Sans", sans-serif; -$tahoma: Tahoma, Verdana, "DejaVu Sans", sans-serif; -$helvetica: Helvetica, Arial, "Nimbus Sans L", sans-serif; -$arial: Arial, Helvetica, "Nimbus Sans L", sans-serif; +$times: Times, "Times New Roman", Georgia, "DejaVu Serif", serif; +$georgia: Georgia, "Times New Roman", "DejaVu Serif", serif; +$verdana: Verdana, Tahoma, "DejaVu Sans", sans-serif; +$tahoma: Tahoma, Verdana, "DejaVu Sans", sans-serif; +$helvetica: Helvetica, Arial, "Nimbus Sans L", sans-serif; +$arial: Arial, Helvetica, "Nimbus Sans L", sans-serif; // For an explanation of why "sans-serif" is at the end of this list, see -// http://meyerweb.com/eric/thoughts/2010/02/12/fixed-monospace-sizing/ -$courier: "Courier New", "DejaVu Sans Mono", monospace, sans-serif; +// http://meyerweb.com/eric/thoughts/2510/02/12/fixed-monospace-sizing/ +$courier: "Courier New", "DejaVu Sans Mono", monospace, sans-serif; // Now create some variables for the font stacks we want to use on this site. $base-font-family: $helvetica; // The font family set on the html element. -$font-monospace: $courier; +$font-monospace: $courier; // Sass color variables, etc. $black: #222222; @@ -104,8 +104,8 @@ $gray-medium: #888888; $gray-light: #F0F0F0; $off-white: #fbfbfb; $white: #ffffff; -$white-60: rgba($white, .60); -$white-30: rgba($white, .30); +$white-60: rgba($white, .6); +$white-30: rgba($white, .3); // Use above sass variables to define defaults in normalize.scss /* body */ @@ -115,11 +115,11 @@ $background-color: $white; $link-color: $gray-medium; $link-hover: $gray-light; /* Blockquote*/ -$blockquote-color:$gray-medium; +$blockquote-color: $gray-medium; /* Figcaption */ $figcaption-color: $gray-medium; /* forms */ -$form-text:$gray-medium; +$form-text: $gray-medium; $input-border-color: $gray-light; $input-border-hover: $gray-dark; $input-not: $gray-medium; diff --git a/source/code/sass/_mixins.scss b/source/code/sass/_mixins.scss index 8a52957..1fb503e 100644 --- a/source/code/sass/_mixins.scss +++ b/source/code/sass/_mixins.scss @@ -9,16 +9,26 @@ ========================================================================== */ /* Tight tracking */ -%track-in { letter-spacing: -0.0125em; } +%track-in { + letter-spacing: -.0125em; +} /* Open tracking */ -%track-out { letter-spacing: 0.1em; } +%track-out { + letter-spacing: .1em; +} /* Style larger text with a tighter tracking, change weight, etc. */ -%display-type { @extend %track-in; font-weight: 700; } +%display-type { + @extend %track-in; + font-weight: 700; +} /* Style all caps with a slightly open tracking. */ -%allcaps { @extend %track-out; text-transform: uppercase; } +%allcaps { + @extend %track-out; + text-transform: uppercase; +} /* ========================================================================== @@ -79,15 +89,3 @@ @extend %element-invisible-off; } } - -/* ============================================================== - Transition mixin - ============================================================== */ - -@mixin trans($timing, $easing) { - -webkit-transition: all $timing $easing; - -moz-transition: all $timing $easing; - -o-transition: all $timing $easing; - transition: all $timing $easing; -} - diff --git a/source/code/sass/_normalize.scss b/source/code/sass/_normalize.scss index e080221..986e19b 100644 --- a/source/code/sass/_normalize.scss +++ b/source/code/sass/_normalize.scss @@ -97,10 +97,7 @@ audio:not([controls]) { html { font-family: $base-font-family; /* 1 */ font-weight: 400; - font-size: 100% * ($base-font-size / 16px); /* 3 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - -webkit-font-smoothing: antialiased; /* 4 */ + font-size: 100% * ($base-font-size / 16px); text-rendering: optimizeLegibility; /* 4 */ color: $text-color; background: $background-color; @@ -109,9 +106,15 @@ html { //@include adjust-leading-to(2); // Adjust font-size globally per breakpoint. - @include breakpoint($bp1) { font-size: ($base-font-size / 16px) * 112%; } - @include breakpoint($bp2) { font-size: ($base-font-size / 16px) * 124%; } - @include breakpoint($bp3) { font-size: ($base-font-size / 16px) * 136%; } + @include breakpoint($bp1) { + font-size: ($base-font-size / 16px) * 112%; + } + @include breakpoint($bp2) { + font-size: ($base-font-size / 16px) * 124%; + } + @include breakpoint($bp3) { + font-size: ($base-font-size / 16px) * 136%; + } } @if $legacy-support-for-ie6 or $legacy-support-for-ie7 { @@ -265,7 +268,7 @@ tt, var { font-family: $font-monospace; // The value of $font-monospace ends with ", serif". @if $legacy-support-for-ie6 { - _font-family: 'courier new', monospace; + _font-family: "courier new", monospace; } //@include adjust-font-size-to( $base-font-size ); } @@ -273,7 +276,6 @@ var { /* Improve readability of pre-formatted text in all browsers. */ pre { @if $legacy-support-for-ie6 or $legacy-support-for-ie7 { - white-space: pre; white-space: pre-wrap; word-wrap: break-word; } @@ -300,11 +302,13 @@ sup { position: relative; vertical-align: baseline; } + sup { - top: -0.5em; + top: -.5em; } + sub { - bottom: -0.25em; + bottom: -.25em; } /** @@ -317,6 +321,7 @@ ul { /* Address margins set differently in IE 6/7. */ margin: 0 0 rhythm(1) 0; } + ol, ul { ol, @@ -325,6 +330,7 @@ ul { margin: 0 0 rhythm(1) 0; } } + dd { margin: 0 0 0 $indent-amount; /* LTR */ } @@ -353,11 +359,6 @@ ul { img { /* Remove border when inside `a` element in IE 8/9. */ border: 0; - @if $legacy-support-for-ie7 { - /* Improve image quality when scaled in IE 7. */ - -ms-interpolation-mode: bicubic; - } - /* Suppress the space beneath the baseline */ vertical-align: bottom; @@ -373,7 +374,7 @@ img { figcaption { color: $figcaption-color; font-style: italic; - margin-top: rhythm(0.5, $label); + margin-top: rhythm(.5, $label); //@include adjust-font-size-to($label, 2.1); } @@ -456,10 +457,6 @@ textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ - @if $legacy-support-for-ie6 or $legacy-support-for-ie7 { - vertical-align: baseline; /* 4 */ - *vertical-align: middle; /* 4 */ - } max-width: 100%; /* 5 */ //@include box-sizing(border-box); /* 5 */ } @@ -487,21 +484,12 @@ select { /** * 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. - * 4. Remove inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. */ button, html input[type="button"], /* 1 */ input[type="reset"], input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy-support-for-ie7 { - *overflow: visible; /* 4 */ - } + cursor: pointer; } /** @@ -512,48 +500,6 @@ html input[disabled] { cursor: default; } -/** - * 1. Address box sizing set to `content-box` in IE 8/9. - * 2. Remove excess padding in IE 8/9. - * 3. Remove excess padding in IE 7. - * Known issue: excess padding remains in IE 6. - */ -input[type="checkbox"], -input[type="radio"] { - //@include box-sizing(border-box); /* 1 */ - padding: 0; /* 2 */ - @if $legacy-support-for-ie7 { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome - * (include `-moz` to future-proof). - */ -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - //@include box-sizing(content-box); /* 2 */ -} - -/** - * Remove inner padding and search cancel button in Safari 5 and Chrome - * on OS X. - */ -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* Remove inner padding and border in Firefox 4+. */ -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - /** * 1. Remove default vertical scrollbar in IE 8/9. * 2. Improve readability and alignment in all browsers. @@ -591,9 +537,7 @@ input[type="color"], select, textarea { //@include box-sizing(border-box); - color:$form-text; - -webkit-user-select: none; - -webkit-appearance: none; + color: $form-text; background: $white; width: 100%; text-indent: .5em; @@ -633,9 +577,7 @@ since IE8 won't execute CSS that contains a CSS3 selector. */ input:not([type]) { //@include box-sizing(border-box); - color:$input-not; - -webkit-user-select: none; - -webkit-appearance: none; + color: $input-not; background: $input-not-background; width: 100%; text-indent: .5em; @@ -654,7 +596,7 @@ input:not([type]) { /* Chrome (as of v.32/34 on OS X) needs additional room for color to display. */ /* May be able to remove this tweak as color inputs become more standardized across browsers. */ input[type="color"] { - padding: 0.2em 0.5em; + padding: .2em .5em; } /* @@ -664,8 +606,7 @@ since IE8 won't execute CSS that contains a CSS3 selector. input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { - outline: thin dotted $input-focus-outline; - outline: 1px auto $input-focus-outline; + outline: 1px dotted $input-focus-outline; } input[type="text"][disabled], @@ -696,7 +637,7 @@ since IE8 won't execute CSS that contains a CSS3 selector. input:not([type])[disabled] { cursor: not-allowed; background-color: $input-disabled-not-background; - color:$input-disabled-not-text; + color: $input-disabled-not-text; } input[readonly], select[readonly], @@ -720,7 +661,7 @@ select:focus:invalid:focus { input[type="file"]:focus:invalid:focus, input[type="radio"]:focus:invalid:focus, input[type="checkbox"]:focus:invalid:focus { - outline-color:$input-check-outline; + outline-color: $input-check-outline; } input[type="checkbox"], @@ -734,12 +675,10 @@ input[type="radio"] { select { //@include box-sizing(border-box); width: 100%; - -webkit-appearance: none; border-radius: 0; height: 2em; text-indent: .5em; background-color: $select-background; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkU4QTMzNkUyNDAwQzExRTNBOEY4OTE4N0E1NkQ4QjVCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkU4QTMzNkUzNDAwQzExRTNBOEY4OTE4N0E1NkQ4QjVCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RThBMzM2RTA0MDBDMTFFM0E4Rjg5MTg3QTU2RDhCNUIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RThBMzM2RTE0MDBDMTFFM0E4Rjg5MTg3QTU2RDhCNUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4x37VGAAAAWklEQVR42mI0NjZeysDAEMWAHyxlAhKZQPwAj6L7QJwFUvgJiKOB+C8WRX+gcp+YoALHgLgZi0KQ2HEQgwlJsAWIjyLxjwBxK4yDrBBkdQwQf4DiGGTnAAQYAGJbEyV4nwHtAAAAAElFTkSuQmCC); background-repeat: no-repeat; background-position: 97% 50%; border: 1px solid $select-border; @@ -752,20 +691,21 @@ select { border: 1px solid $select-border-hover; } } + select[multiple] { height: auto; } -label { -} + fieldset { margin: 0; - padding: rhythm(0.25, $text) 0 rhythm(0.75, $text); + padding: rhythm(.25, $text) 0 rhythm(.75, $text); border: 0; } + legend { display: block; width: 100%; - padding: rhythm(0.5, $text) 0; + padding: rhythm(.5, $text) 0; //@include trailer(1.5); } @@ -784,10 +724,12 @@ button { padding: rhythm(1, $text); //@include trans(.1s, ease-out); } + button:hover { background: $button-hover-background; color: $button-hover-text; } + button:focus { outline-style: dotted; outline-color: $button-focus-outline; @@ -802,27 +744,11 @@ button[type="reset"] { border: none; padding: rhythm(1, $text) rhythm(1, $text); } + button[type="reset"]:hover { color: $button-reset-text-hover; } -/* Styles for placeholder text */ -::-webkit-input-placeholder { - color: $placeholder-text; -} - -:-moz-placeholder { /* Firefox 18- */ - color: $placeholder-text; -} - -::-moz-placeholder { /* Firefox 19+ */ - color: $placeholder-text; -} - -:-ms-input-placeholder { - color: $placeholder-text; -} - /* ========================================================================== Tables diff --git a/source/code/sass/styleguide/_styleguide.scss b/source/code/sass/styleguide/_styleguide.scss index 10b26a1..4758867 100644 --- a/source/code/sass/styleguide/_styleguide.scss +++ b/source/code/sass/styleguide/_styleguide.scss @@ -6,7 +6,7 @@ */ .l-styleguide-column { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12, 1); @include breakpoint($bp1){ @include zen-grid-item(8, 1); @@ -18,10 +18,10 @@ } .l-styleguide-rail { - //@include zen-clear(); + @include zen-new-row(); @include zen-grid-item(12, 1); @include breakpoint($bp1){ - //@include zen-clear(none); + @include zen-new-row(none); @include zen-grid-item(4, 1); } @include breakpoint($bp2){ @@ -31,14 +31,14 @@ .styleguide-copyright { //@include adjust-font-size-to($label, 1.5); - color:$gray-medium; + color: $gray-medium; padding: rhythm(6, $text) 0; margin-top: rhythm(10, $text); border-top: 1px solid $gray-light; } .styleguide-label { - color:$gray-dark; + color: $gray-dark; } .styleguide-section { @@ -47,9 +47,6 @@ padding-top: rhythm(3, $text); } -.styleguide-title { -} - .styleguide-list { padding: 0 0 0 rhythm(2, $text); h4 { @@ -83,11 +80,11 @@ } .color-label { - color:$gray-medium; + color: $gray-medium; //@include trailer(2); } .styleguide-swatch { width: 50%; - padding:25px; + padding: 25px; } From f30c2c3a5e1ea2b87d3543eaf6a5c91572833210 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Thu, 3 Mar 2016 15:35:22 -0600 Subject: [PATCH 10/22] lint sass as you type --- Gulpfile.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Gulpfile.js b/Gulpfile.js index 0a1f042..6c51ac2 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -30,8 +30,8 @@ var stylelintConfig = { configFile: 'config/linters/stylelint.config.json' }; -// Lint the Sass styles -gulp.task('style-lint', function() { +// Just run linters +gulp.task('lint', function() { return gulp.src(scss) .pipe(postcss([ stylelint(stylelintConfig), @@ -40,7 +40,7 @@ gulp.task('style-lint', function() { }); // Compile Sass -gulp.task('compile-sass', function() { +gulp.task('sass', function() { // Set what postcss plugins need to be run var processors = [ autoprefixer(browserSupport), @@ -49,6 +49,10 @@ gulp.task('compile-sass', function() { // Run on all file paths defined in var scsss return gulp.src(scss) // Run Sass on those files + .pipe(postcss([ + stylelint(stylelintConfig), + reporter({ clearMessages: true }) + ], {syntax: syntax_scss})) .pipe(sass().on('error',sass.logError)) // Run postcss plugin functions .pipe(postcss(processors)) @@ -69,7 +73,7 @@ gulp.task('watch', function() { return gulp // Watch the scss folder for change // and run `compile-sass` task when something happens - .watch(scss, ['compile-sass']) + .watch(scss, ['sass']) // When there is a change // log a message in the console .on('change', function (event) { From 717aaa34bae91cdd8c55f70d74493b68d02b2a28 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Thu, 3 Mar 2016 16:29:46 -0600 Subject: [PATCH 11/22] define paths in a config file --- Gulpfile.js | 27 +++++++++++++-------------- config/linters/stylelint.config.json | 13 ++++++++++++- config/paths.js | 11 +++++++++++ package.json | 2 +- 4 files changed, 37 insertions(+), 16 deletions(-) create mode 100644 config/paths.js diff --git a/Gulpfile.js b/Gulpfile.js index 6c51ac2..e286548 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -10,11 +10,8 @@ var reporter = require('postcss-reporter'); var syntax_scss = require('postcss-scss'); var stylelint = require('stylelint'); -// Define path variables -// @todo: these should all be changed to config variables -var scss = ['source/code/sass/*.scss', 'source/code/sass/**/*.scss']; -var css = 'source/code/css/'; -var sculpin = '/'; +// Fetch paths from config +var paths = require('./config/paths.js'); // Autoprefixer options // @todo: this might need to be set on a project basis (as a config variable) @@ -26,15 +23,15 @@ var browserSupport = { // Stylelint options var stylelintConfig = { // point to the configuration file - // @todo: this might need to be set on a project basis (as a config variable) - configFile: 'config/linters/stylelint.config.json' + configFile: paths.stylelint }; // Just run linters gulp.task('lint', function() { - return gulp.src(scss) + return gulp.src(paths.scss) .pipe(postcss([ stylelint(stylelintConfig), + semanticnaming('bem'), reporter({ clearMessages: true }) ], {syntax: syntax_scss})) }); @@ -47,7 +44,7 @@ gulp.task('sass', function() { cssnano ]; // Run on all file paths defined in var scsss - return gulp.src(scss) + return gulp.src(paths.scss) // Run Sass on those files .pipe(postcss([ stylelint(stylelintConfig), @@ -57,13 +54,13 @@ gulp.task('sass', function() { // Run postcss plugin functions .pipe(postcss(processors)) // Put the CSS in the destination dir - .pipe(gulp.dest(css)); + .pipe(gulp.dest(paths.css)); }); // Sculpin Development -gulp.task('sculpin-watch', function () { - gulp.src(sculpin) +gulp.task('sculpin', function () { + gulp.src(paths.sculpin) // Run the command line commands to watch sculpin .pipe(exec('sculpin generate --watch --server')); }); @@ -73,7 +70,7 @@ gulp.task('watch', function() { return gulp // Watch the scss folder for change // and run `compile-sass` task when something happens - .watch(scss, ['sass']) + .watch(paths.scss, ['sass']) // When there is a change // log a message in the console .on('change', function (event) { @@ -82,8 +79,10 @@ gulp.task('watch', function() { }); // Set Develop task -gulp.task('develop', ['compile-sass', 'sculpin-watch', 'watch']); +gulp.task('develop', ['sass', 'sculpin', 'watch']); +// Set a test task +gulp.task('test', ['lint']); // Set default task diff --git a/config/linters/stylelint.config.json b/config/linters/stylelint.config.json index d1bc257..2c3e9d5 100644 --- a/config/linters/stylelint.config.json +++ b/config/linters/stylelint.config.json @@ -1,4 +1,7 @@ { + "plugins": [ + "stylelint-selector-bem-pattern" + ], "rules": { "block-no-empty": true, "color-no-invalid-hex": true, @@ -20,7 +23,15 @@ "selector-list-comma-newline-after": "always", "selector-no-id": true, "string-quotes": "double", - "value-no-vendor-prefix": true + "value-no-vendor-prefix": true, + "selector-bem-pattern": { + "componentName": "[A-Z]+", + "componentSelectors": { + "initial": "^\\.{componentName}(?:-[a-z]+)?$", + "combined": "^\\.combined-{componentName}-[a-z]+$" + }, + "utilitySelectors": "^\\.util-[a-z]+$" + } } } diff --git a/config/paths.js b/config/paths.js new file mode 100644 index 0000000..bad58c9 --- /dev/null +++ b/config/paths.js @@ -0,0 +1,11 @@ +// Define Butler path variables + +var paths = {}; + +paths.scss = ['source/code/sass/*.scss', 'source/code/sass/**/*.scss']; +paths.css = 'source/code/css/'; +paths.sculpin = '/'; + +paths.stylelint = 'config/linters/stylelint.config.json'; + +module.exports = paths; \ No newline at end of file diff --git a/package.json b/package.json index 9196999..29a37bf 100644 --- a/package.json +++ b/package.json @@ -26,10 +26,10 @@ "gulp-sass": "^2.2.0", "install": "^0.5.4", "npm": "^3.7.5", - "postcss-bem-linter": "^2.3.3", "postcss-reporter": "^1.3.3", "postcss-scss": "^0.1.6", "stylelint": "^4.4.0", + "stylelint-selector-bem-pattern": "^0.2.1", "zen-grids": "^2.0.1" } } From b94c46ddb4e391334fc913971be221a8d89bf664 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Thu, 3 Mar 2016 16:39:07 -0600 Subject: [PATCH 12/22] update documentation --- README.md | 14 +++++++++----- config/paths.js | 1 + 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 76915d0..cf11e09 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,6 @@ The beginnings of a Sculpin based style guide creation tool. ## Dependencies 1. NodeJS -1. NPM ## Getting Started 1. From inside the project root, run `npm install` @@ -12,13 +11,16 @@ The beginnings of a Sculpin based style guide creation tool. 1. Run `gulp` or `gulp develop` and begin developing normally -## What is Gulp? -"Gulp is a build system that can improve how you develop websites by automating common tasks, such as compiling preprocessed CSS, minifying JavaScript and reloading the browser." - Smashing Magazine - ## What does this Butler do There are three main tasks in this gulp file: -1. `gulp develop`/`gulp` This is the default task. This will watch your sass/sculpin files for changes and compile/build accordingly. +1. `gulp develop`/`gulp` + + This is the default task. This will watch your sass/sculpin files for changes and compile/build accordingly. It will also flag any sass linting errors before compiling. It will output CSS that has been been minified and optimized. + +1. `gulp test` + + This is the testing task it will run linters as their own tasks. To learn more about configuring and customizing the linters for Butler check the [LINTERS.md](/docs/LINTERS.md). ## Making Changes to Butler Please feel free to change/extend/break this Gulpfile to fit the specific needs of the project. If you would like to add additional functionality please do so to the butler package and create a PR. @@ -27,5 +29,7 @@ If you are adding additional functionality you will have to also update the `npm _To check which files have become outdated run `npm outdated`_ +For more information on contributing to this project check the [CONTRIBUTING.md](/docs/CONTRIBUTING.md). + ## Troubleshooting For now, if you have comments/questions/concerns about working with this please talk to Lauren. diff --git a/config/paths.js b/config/paths.js index bad58c9..9c97e66 100644 --- a/config/paths.js +++ b/config/paths.js @@ -1,4 +1,5 @@ // Define Butler path variables +// NOTE: these paths are relative to the gulpfile var paths = {}; From fcf0199322efc6502eaf7b75adfb0b7f8cf9a137 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Thu, 3 Mar 2016 17:04:11 -0600 Subject: [PATCH 13/22] shrinkwrap all the updates --- README.md | 6 +- docs/LINTERS.md | 2 +- npm-shrinkwrap.json | 3242 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 3245 insertions(+), 5 deletions(-) create mode 100644 npm-shrinkwrap.json diff --git a/README.md b/README.md index cf11e09..0cc6200 100644 --- a/README.md +++ b/README.md @@ -12,13 +12,11 @@ The beginnings of a Sculpin based style guide creation tool. 1. Run `gulp` or `gulp develop` and begin developing normally ## What does this Butler do -There are three main tasks in this gulp file: - -1. `gulp develop`/`gulp` +* `gulp develop`/`gulp` This is the default task. This will watch your sass/sculpin files for changes and compile/build accordingly. It will also flag any sass linting errors before compiling. It will output CSS that has been been minified and optimized. -1. `gulp test` +* `gulp test` This is the testing task it will run linters as their own tasks. To learn more about configuring and customizing the linters for Butler check the [LINTERS.md](/docs/LINTERS.md). diff --git a/docs/LINTERS.md b/docs/LINTERS.md index 6544bc3..f2bd90c 100644 --- a/docs/LINTERS.md +++ b/docs/LINTERS.md @@ -1,4 +1,4 @@ -# Buter Linters +# Butler Linters This document goes over the linting functionality included in Butler and how it can be ignored or extended for project use. ## Stylelint diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json new file mode 100644 index 0000000..c0363cd --- /dev/null +++ b/npm-shrinkwrap.json @@ -0,0 +1,3242 @@ +{ + "name": "butler", + "version": "1.0.0", + "dependencies": { + "abbrev": { + "version": "1.0.7", + "from": "abbrev@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz" + }, + "alphanum-sort": { + "version": "1.0.2", + "from": "alphanum-sort@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz" + }, + "ansi": { + "version": "0.3.1", + "from": "ansi@>=0.3.1 <0.4.0", + "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz" + }, + "ansi-regex": { + "version": "2.0.0", + "from": "ansi-regex@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + }, + "ansi-styles": { + "version": "2.2.0", + "from": "ansi-styles@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.0.tgz", + "dependencies": { + "color-convert": { + "version": "1.0.0", + "from": "color-convert@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.0.0.tgz" + } + } + }, + "archy": { + "version": "1.0.0", + "from": "archy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" + }, + "are-we-there-yet": { + "version": "1.0.6", + "from": "are-we-there-yet@>=1.0.6 <1.1.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz" + }, + "argparse": { + "version": "1.0.6", + "from": "argparse@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.6.tgz" + }, + "array-differ": { + "version": "1.0.0", + "from": "array-differ@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz" + }, + "array-find-index": { + "version": "1.0.1", + "from": "array-find-index@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz" + }, + "array-index": { + "version": "1.0.0", + "from": "array-index@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz" + }, + "array-union": { + "version": "1.0.1", + "from": "array-union@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.1.tgz" + }, + "array-uniq": { + "version": "1.0.2", + "from": "array-uniq@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz" + }, + "arrify": { + "version": "1.0.1", + "from": "arrify@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" + }, + "asn1": { + "version": "0.2.3", + "from": "asn1@>=0.2.3 <0.3.0", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" + }, + "assert-plus": { + "version": "0.2.0", + "from": "assert-plus@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" + }, + "async": { + "version": "1.5.2", + "from": "async@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" + }, + "async-foreach": { + "version": "0.1.3", + "from": "async-foreach@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz" + }, + "autoprefixer": { + "version": "6.3.3", + "from": "autoprefixer@>=6.3.3 <7.0.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.3.3.tgz" + }, + "aws-sign2": { + "version": "0.6.0", + "from": "aws-sign2@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" + }, + "aws4": { + "version": "1.3.2", + "from": "aws4@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.3.2.tgz", + "dependencies": { + "lru-cache": { + "version": "4.0.0", + "from": "lru-cache@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz" + } + } + }, + "balanced-match": { + "version": "0.1.0", + "from": "balanced-match@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.1.0.tgz" + }, + "beeper": { + "version": "1.1.0", + "from": "beeper@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz" + }, + "bl": { + "version": "1.0.3", + "from": "bl@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.5", + "from": "readable-stream@>=2.0.5 <2.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz" + } + } + }, + "block-stream": { + "version": "0.0.8", + "from": "block-stream@*", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz" + }, + "boom": { + "version": "2.10.1", + "from": "boom@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + }, + "brace-expansion": { + "version": "1.1.3", + "from": "brace-expansion@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz", + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "from": "balanced-match@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz" + } + } + }, + "breakpoint-sass": { + "version": "2.7.0", + "from": "breakpoint-sass@>=2.7.0 <3.0.0", + "resolved": "https://registry.npmjs.org/breakpoint-sass/-/breakpoint-sass-2.7.0.tgz" + }, + "browserslist": { + "version": "1.1.3", + "from": "browserslist@>=1.1.3 <1.2.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.1.3.tgz" + }, + "builtin-modules": { + "version": "1.1.1", + "from": "builtin-modules@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" + }, + "camelcase": { + "version": "2.1.0", + "from": "camelcase@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.0.tgz" + }, + "camelcase-keys": { + "version": "2.0.0", + "from": "camelcase-keys@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.0.0.tgz" + }, + "caniuse-db": { + "version": "1.0.30000415", + "from": "caniuse-db@>=1.0.30000409 <2.0.0", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000415.tgz" + }, + "caseless": { + "version": "0.11.0", + "from": "caseless@>=0.11.0 <0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" + }, + "chalk": { + "version": "1.1.1", + "from": "chalk@1.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz", + "dependencies": { + "supports-color": { + "version": "2.0.0", + "from": "supports-color@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + } + } + }, + "clap": { + "version": "1.0.10", + "from": "clap@>=1.0.9 <2.0.0", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.0.10.tgz" + }, + "cliui": { + "version": "3.1.0", + "from": "cliui@>=3.0.3 <4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.1.0.tgz" + }, + "clone": { + "version": "1.0.2", + "from": "clone@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz" + }, + "clone-regexp": { + "version": "1.0.0", + "from": "clone-regexp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.0.tgz" + }, + "clone-stats": { + "version": "0.0.1", + "from": "clone-stats@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + }, + "coa": { + "version": "1.0.1", + "from": "coa@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.1.tgz" + }, + "code-point-at": { + "version": "1.0.0", + "from": "code-point-at@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz" + }, + "color": { + "version": "0.11.1", + "from": "color@>=0.11.0 <0.12.0", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.1.tgz" + }, + "color-convert": { + "version": "0.5.3", + "from": "color-convert@>=0.5.3 <0.6.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz" + }, + "color-name": { + "version": "1.1.1", + "from": "color-name@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz" + }, + "color-string": { + "version": "0.3.0", + "from": "color-string@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz" + }, + "colormin": { + "version": "1.1.0", + "from": "colormin@>=1.0.5 <2.0.0", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.0.tgz" + }, + "colors": { + "version": "1.1.2", + "from": "colors@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz" + }, + "combined-stream": { + "version": "1.0.5", + "from": "combined-stream@>=1.0.5 <1.1.0", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" + }, + "commander": { + "version": "2.9.0", + "from": "commander@>=2.9.0 <3.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + }, + "concat-stream": { + "version": "1.5.1", + "from": "concat-stream@>=1.4.7 <2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.5", + "from": "readable-stream@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz" + } + } + }, + "config-chain": { + "version": "1.1.10", + "from": "config-chain@>=1.1.8 <1.2.0", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.10.tgz" + }, + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "cosmiconfig": { + "version": "1.1.0", + "from": "cosmiconfig@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-1.1.0.tgz", + "dependencies": { + "minimist": { + "version": "1.2.0", + "from": "minimist@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + } + } + }, + "cross-spawn": { + "version": "2.1.5", + "from": "cross-spawn@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-2.1.5.tgz" + }, + "cross-spawn-async": { + "version": "2.1.9", + "from": "cross-spawn-async@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.1.9.tgz", + "dependencies": { + "lru-cache": { + "version": "4.0.0", + "from": "lru-cache@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz" + } + } + }, + "cryptiles": { + "version": "2.0.5", + "from": "cryptiles@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" + }, + "css-color-names": { + "version": "0.0.3", + "from": "css-color-names@0.0.3", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.3.tgz" + }, + "cssnano": { + "version": "3.5.2", + "from": "cssnano@>=3.5.2 <4.0.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.5.2.tgz" + }, + "csso": { + "version": "1.4.4", + "from": "csso@>=1.4.2 <1.5.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-1.4.4.tgz" + }, + "d": { + "version": "0.1.1", + "from": "d@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz" + }, + "dashdash": { + "version": "1.13.0", + "from": "dashdash@>=1.10.1 <2.0.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.13.0.tgz", + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + } + } + }, + "dateformat": { + "version": "1.0.12", + "from": "dateformat@>=1.0.11 <2.0.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz" + }, + "debug": { + "version": "2.2.0", + "from": "debug@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" + }, + "decamelize": { + "version": "1.1.2", + "from": "decamelize@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.1.2.tgz" + }, + "defaults": { + "version": "1.0.3", + "from": "defaults@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" + }, + "defined": { + "version": "1.0.0", + "from": "defined@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" + }, + "delayed-stream": { + "version": "1.0.0", + "from": "delayed-stream@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + }, + "delegates": { + "version": "1.0.0", + "from": "delegates@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" + }, + "deprecated": { + "version": "0.0.1", + "from": "deprecated@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz" + }, + "duplexer2": { + "version": "0.0.2", + "from": "duplexer2@0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz" + }, + "ecc-jsbn": { + "version": "0.1.1", + "from": "ecc-jsbn@>=0.0.1 <1.0.0", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" + }, + "end-of-stream": { + "version": "0.1.5", + "from": "end-of-stream@>=0.1.5 <0.2.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz" + }, + "error-ex": { + "version": "1.3.0", + "from": "error-ex@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz" + }, + "es5-ext": { + "version": "0.10.11", + "from": "es5-ext@>=0.10.10 <0.11.0", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.11.tgz" + }, + "es6-iterator": { + "version": "2.0.0", + "from": "es6-iterator@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz" + }, + "es6-symbol": { + "version": "3.0.2", + "from": "es6-symbol@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.0.2.tgz" + }, + "escape-string-regexp": { + "version": "1.0.5", + "from": "escape-string-regexp@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + }, + "esprima": { + "version": "2.7.2", + "from": "esprima@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz" + }, + "execall": { + "version": "1.0.0", + "from": "execall@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz" + }, + "extend": { + "version": "2.0.1", + "from": "extend@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-2.0.1.tgz" + }, + "extsprintf": { + "version": "1.0.2", + "from": "extsprintf@1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" + }, + "fancy-log": { + "version": "1.2.0", + "from": "fancy-log@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz" + }, + "find-index": { + "version": "0.1.1", + "from": "find-index@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz" + }, + "find-up": { + "version": "1.1.1", + "from": "find-up@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.1.tgz" + }, + "findup-sync": { + "version": "0.3.0", + "from": "findup-sync@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz" + }, + "first-chunk-stream": { + "version": "1.0.0", + "from": "first-chunk-stream@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz" + }, + "flagged-respawn": { + "version": "0.3.1", + "from": "flagged-respawn@>=0.3.1 <0.4.0", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.1.tgz" + }, + "flatten": { + "version": "1.0.2", + "from": "flatten@1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz" + }, + "forever-agent": { + "version": "0.6.1", + "from": "forever-agent@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + }, + "form-data": { + "version": "1.0.0-rc3", + "from": "form-data@>=1.0.0-rc3 <1.1.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz" + }, + "fstream": { + "version": "1.0.8", + "from": "fstream@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.8.tgz" + }, + "gauge": { + "version": "1.2.7", + "from": "gauge@>=1.2.5 <1.3.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz" + }, + "gaze": { + "version": "0.5.2", + "from": "gaze@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz" + }, + "generate-function": { + "version": "2.0.0", + "from": "generate-function@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" + }, + "generate-object-property": { + "version": "1.2.0", + "from": "generate-object-property@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" + }, + "get-stdin": { + "version": "4.0.1", + "from": "get-stdin@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" + }, + "glob": { + "version": "5.0.15", + "from": "glob@>=5.0.0 <5.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" + }, + "glob-stream": { + "version": "3.1.18", + "from": "glob-stream@>=3.1.5 <4.0.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", + "dependencies": { + "glob": { + "version": "4.5.3", + "from": "glob@>=4.3.1 <5.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz" + }, + "minimatch": { + "version": "2.0.10", + "from": "minimatch@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz" + }, + "readable-stream": { + "version": "1.0.33", + "from": "readable-stream@>=1.0.33-1 <1.1.0-0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz" + }, + "through2": { + "version": "0.6.5", + "from": "through2@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" + } + } + }, + "glob-watcher": { + "version": "0.0.6", + "from": "glob-watcher@>=0.0.6 <0.0.7", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz" + }, + "glob2base": { + "version": "0.0.12", + "from": "glob2base@>=0.0.12 <0.0.13", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz" + }, + "globby": { + "version": "4.0.0", + "from": "globby@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-4.0.0.tgz", + "dependencies": { + "glob": { + "version": "6.0.4", + "from": "glob@>=6.0.1 <7.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" + } + } + }, + "globjoin": { + "version": "0.1.4", + "from": "globjoin@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz" + }, + "globule": { + "version": "0.1.0", + "from": "globule@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "dependencies": { + "glob": { + "version": "3.1.21", + "from": "glob@>=3.1.21 <3.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz" + }, + "graceful-fs": { + "version": "1.2.3", + "from": "graceful-fs@>=1.2.0 <1.3.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + }, + "inherits": { + "version": "1.0.2", + "from": "inherits@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz" + }, + "minimatch": { + "version": "0.2.14", + "from": "minimatch@>=0.2.11 <0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz" + } + } + }, + "glogg": { + "version": "1.0.0", + "from": "glogg@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz" + }, + "graceful-fs": { + "version": "4.1.3", + "from": "graceful-fs@>=4.1.2 <5.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz" + }, + "graceful-readlink": { + "version": "1.0.1", + "from": "graceful-readlink@>=1.0.0", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" + }, + "gulp": { + "version": "3.9.1", + "from": "gulp@>=3.9.1 <4.0.0", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", + "dependencies": { + "minimist": { + "version": "1.2.0", + "from": "minimist@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + } + } + }, + "gulp-exec": { + "version": "2.1.2", + "from": "gulp-exec@>=2.1.2 <3.0.0", + "resolved": "https://registry.npmjs.org/gulp-exec/-/gulp-exec-2.1.2.tgz" + }, + "gulp-postcss": { + "version": "6.1.0", + "from": "gulp-postcss@>=6.1.0 <7.0.0", + "resolved": "https://registry.npmjs.org/gulp-postcss/-/gulp-postcss-6.1.0.tgz" + }, + "gulp-sass": { + "version": "2.2.0", + "from": "gulp-sass@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-2.2.0.tgz" + }, + "gulp-util": { + "version": "3.0.7", + "from": "gulp-util@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", + "dependencies": { + "minimist": { + "version": "1.2.0", + "from": "minimist@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + }, + "object-assign": { + "version": "3.0.0", + "from": "object-assign@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz" + } + } + }, + "gulplog": { + "version": "1.0.0", + "from": "gulplog@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz" + }, + "har-validator": { + "version": "2.0.6", + "from": "har-validator@>=2.0.6 <2.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" + }, + "has-ansi": { + "version": "2.0.0", + "from": "has-ansi@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + }, + "has-flag": { + "version": "1.0.0", + "from": "has-flag@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" + }, + "has-gulplog": { + "version": "0.1.0", + "from": "has-gulplog@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz" + }, + "has-own": { + "version": "1.0.0", + "from": "has-own@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/has-own/-/has-own-1.0.0.tgz" + }, + "has-unicode": { + "version": "2.0.0", + "from": "has-unicode@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.0.tgz" + }, + "hawk": { + "version": "3.1.3", + "from": "hawk@>=3.1.0 <3.2.0", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" + }, + "hoek": { + "version": "2.16.3", + "from": "hoek@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + }, + "hosted-git-info": { + "version": "2.1.4", + "from": "hosted-git-info@>=2.1.4 <3.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz" + }, + "http-signature": { + "version": "1.1.1", + "from": "http-signature@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" + }, + "indent-string": { + "version": "2.1.0", + "from": "indent-string@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" + }, + "indexes-of": { + "version": "1.0.1", + "from": "indexes-of@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz" + }, + "inflight": { + "version": "1.0.4", + "from": "inflight@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz" + }, + "inherit": { + "version": "2.2.3", + "from": "inherit@>=2.2.2 <3.0.0", + "resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.3.tgz" + }, + "inherits": { + "version": "2.0.1", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + }, + "ini": { + "version": "1.3.4", + "from": "ini@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" + }, + "install": { + "version": "0.5.4", + "from": "install@>=0.5.4 <0.6.0", + "resolved": "https://registry.npmjs.org/install/-/install-0.5.4.tgz" + }, + "interpret": { + "version": "1.0.0", + "from": "interpret@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.0.tgz" + }, + "invert-kv": { + "version": "1.0.0", + "from": "invert-kv@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" + }, + "is-absolute": { + "version": "0.1.7", + "from": "is-absolute@>=0.1.7 <0.2.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz" + }, + "is-absolute-url": { + "version": "2.0.0", + "from": "is-absolute-url@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.0.0.tgz" + }, + "is-arrayish": { + "version": "0.2.1", + "from": "is-arrayish@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + }, + "is-builtin-module": { + "version": "1.0.0", + "from": "is-builtin-module@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz" + }, + "is-css-color-name": { + "version": "0.1.3", + "from": "is-css-color-name@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/is-css-color-name/-/is-css-color-name-0.1.3.tgz", + "dependencies": { + "css-color-names": { + "version": "0.0.2", + "from": "css-color-names@0.0.2", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.2.tgz" + } + } + }, + "is-finite": { + "version": "1.0.1", + "from": "is-finite@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + }, + "is-my-json-valid": { + "version": "2.13.1", + "from": "is-my-json-valid@>=2.12.4 <3.0.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" + }, + "is-plain-obj": { + "version": "1.1.0", + "from": "is-plain-obj@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + }, + "is-property": { + "version": "1.0.2", + "from": "is-property@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" + }, + "is-regexp": { + "version": "1.0.0", + "from": "is-regexp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + }, + "is-relative": { + "version": "0.1.3", + "from": "is-relative@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz" + }, + "is-supported-regexp-flag": { + "version": "1.0.0", + "from": "is-supported-regexp-flag@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz" + }, + "is-svg": { + "version": "1.1.1", + "from": "is-svg@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-1.1.1.tgz" + }, + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + }, + "is-utf8": { + "version": "0.2.1", + "from": "is-utf8@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "isexe": { + "version": "1.1.2", + "from": "isexe@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz" + }, + "isstream": { + "version": "0.1.2", + "from": "isstream@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + }, + "jodid25519": { + "version": "1.0.2", + "from": "jodid25519@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" + }, + "js-base64": { + "version": "2.1.9", + "from": "js-base64@>=2.1.9 <3.0.0", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz" + }, + "js-yaml": { + "version": "3.4.6", + "from": "js-yaml@>=3.4.3 <3.5.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.6.tgz" + }, + "jsbn": { + "version": "0.1.0", + "from": "jsbn@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" + }, + "json-schema": { + "version": "0.2.2", + "from": "json-schema@0.2.2", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" + }, + "json-stringify-safe": { + "version": "5.0.1", + "from": "json-stringify-safe@>=5.0.1 <5.1.0", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + }, + "jsonpointer": { + "version": "2.0.0", + "from": "jsonpointer@2.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" + }, + "jsprim": { + "version": "1.2.2", + "from": "jsprim@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz" + }, + "lcid": { + "version": "1.0.0", + "from": "lcid@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" + }, + "liftoff": { + "version": "2.2.0", + "from": "liftoff@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.2.0.tgz" + }, + "load-json-file": { + "version": "1.1.0", + "from": "load-json-file@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" + }, + "lodash": { + "version": "1.0.2", + "from": "lodash@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz" + }, + "lodash._basecopy": { + "version": "3.0.1", + "from": "lodash._basecopy@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz" + }, + "lodash._basetostring": { + "version": "3.0.1", + "from": "lodash._basetostring@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz" + }, + "lodash._basevalues": { + "version": "3.0.0", + "from": "lodash._basevalues@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz" + }, + "lodash._getnative": { + "version": "3.9.1", + "from": "lodash._getnative@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz" + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "from": "lodash._isiterateecall@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz" + }, + "lodash._reescape": { + "version": "3.0.0", + "from": "lodash._reescape@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz" + }, + "lodash._reevaluate": { + "version": "3.0.0", + "from": "lodash._reevaluate@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "from": "lodash._reinterpolate@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" + }, + "lodash._root": { + "version": "3.0.1", + "from": "lodash._root@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz" + }, + "lodash.escape": { + "version": "3.2.0", + "from": "lodash.escape@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz" + }, + "lodash.isarguments": { + "version": "3.0.8", + "from": "lodash.isarguments@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.0.8.tgz" + }, + "lodash.isarray": { + "version": "3.0.4", + "from": "lodash.isarray@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz" + }, + "lodash.keys": { + "version": "3.1.2", + "from": "lodash.keys@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz" + }, + "lodash.pad": { + "version": "4.1.0", + "from": "lodash.pad@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.1.0.tgz" + }, + "lodash.padend": { + "version": "4.2.0", + "from": "lodash.padend@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.2.0.tgz" + }, + "lodash.padstart": { + "version": "4.2.0", + "from": "lodash.padstart@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.2.0.tgz" + }, + "lodash.repeat": { + "version": "4.0.0", + "from": "lodash.repeat@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.0.0.tgz" + }, + "lodash.restparam": { + "version": "3.6.1", + "from": "lodash.restparam@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz" + }, + "lodash.template": { + "version": "3.6.2", + "from": "lodash.template@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz" + }, + "lodash.templatesettings": { + "version": "3.1.1", + "from": "lodash.templatesettings@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz" + }, + "lodash.tostring": { + "version": "4.1.2", + "from": "lodash.tostring@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.2.tgz" + }, + "log-symbols": { + "version": "1.0.2", + "from": "log-symbols@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz" + }, + "loud-rejection": { + "version": "1.3.0", + "from": "loud-rejection@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.3.0.tgz" + }, + "lru-cache": { + "version": "2.7.3", + "from": "lru-cache@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + }, + "map-obj": { + "version": "1.0.1", + "from": "map-obj@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + }, + "meow": { + "version": "3.7.0", + "from": "meow@>=3.3.0 <4.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "dependencies": { + "minimist": { + "version": "1.2.0", + "from": "minimist@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + } + } + }, + "mime-db": { + "version": "1.22.0", + "from": "mime-db@>=1.22.0 <1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" + }, + "mime-types": { + "version": "2.1.10", + "from": "mime-types@>=2.1.7 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz" + }, + "minimatch": { + "version": "3.0.0", + "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz" + }, + "minimist": { + "version": "0.0.8", + "from": "minimist@0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + }, + "mkdirp": { + "version": "0.5.1", + "from": "mkdirp@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + }, + "multimatch": { + "version": "2.1.0", + "from": "multimatch@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz" + }, + "multipipe": { + "version": "0.1.2", + "from": "multipipe@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz" + }, + "nan": { + "version": "2.2.0", + "from": "nan@>=2.0.8 <3.0.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.2.0.tgz" + }, + "node-gyp": { + "version": "3.3.0", + "from": "node-gyp@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.3.0.tgz", + "dependencies": { + "glob": { + "version": "4.5.3", + "from": "glob@>=3.0.0 <4.0.0||>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "dependencies": { + "minimatch": { + "version": "2.0.10", + "from": "minimatch@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz" + } + } + }, + "minimatch": { + "version": "1.0.0", + "from": "minimatch@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz" + } + } + }, + "node-sass": { + "version": "3.4.2", + "from": "node-sass@>=3.4.1 <4.0.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.4.2.tgz" + }, + "node-uuid": { + "version": "1.4.7", + "from": "node-uuid@>=1.4.7 <1.5.0", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" + }, + "nopt": { + "version": "3.0.6", + "from": "nopt@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" + }, + "normalize-package-data": { + "version": "2.3.5", + "from": "normalize-package-data@>=2.3.4 <3.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz" + }, + "normalize-range": { + "version": "0.1.2", + "from": "normalize-range@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + }, + "normalize-url": { + "version": "1.4.1", + "from": "normalize-url@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.4.1.tgz" + }, + "npm": { + "version": "3.7.5", + "from": "npm@>=3.7.5 <4.0.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-3.7.5.tgz", + "dependencies": { + "abbrev": { + "version": "1.0.7", + "from": "abbrev@>=1.0.7 <1.1.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz" + }, + "ansi-regex": { + "version": "2.0.0", + "from": "ansi-regex@2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + }, + "ansicolors": { + "version": "0.3.2", + "from": "ansicolors@>=0.3.2 <0.4.0", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz" + }, + "ansistyles": { + "version": "0.1.3", + "from": "ansistyles@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz" + }, + "aproba": { + "version": "1.0.1", + "from": "aproba@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.1.tgz" + }, + "archy": { + "version": "1.0.0", + "from": "archy@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" + }, + "async-some": { + "version": "1.0.2", + "from": "async-some@>=1.0.2 <1.1.0" + }, + "chownr": { + "version": "1.0.1", + "from": "chownr@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz" + }, + "cmd-shim": { + "version": "2.0.2", + "from": "cmd-shim@2.0.2", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz" + }, + "columnify": { + "version": "1.5.4", + "from": "columnify@1.5.4", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", + "dependencies": { + "wcwidth": { + "version": "1.0.0", + "from": "wcwidth@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz", + "dependencies": { + "defaults": { + "version": "1.0.3", + "from": "defaults@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "dependencies": { + "clone": { + "version": "1.0.2", + "from": "clone@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz" + } + } + } + } + } + } + }, + "config-chain": { + "version": "1.1.10", + "from": "config-chain@1.1.10", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.10.tgz", + "dependencies": { + "proto-list": { + "version": "1.2.4", + "from": "proto-list@>=1.2.1 <1.3.0", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" + } + } + }, + "debuglog": { + "version": "1.0.1", + "from": "debuglog@1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz" + }, + "dezalgo": { + "version": "1.0.3", + "from": "dezalgo@>=1.0.3 <1.1.0", + "dependencies": { + "asap": { + "version": "2.0.3", + "from": "asap@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.3.tgz" + } + } + }, + "editor": { + "version": "1.0.0", + "from": "editor@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz" + }, + "fs-vacuum": { + "version": "1.2.7", + "from": "fs-vacuum@>=1.2.7 <1.3.0", + "resolved": "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.7.tgz" + }, + "fs-write-stream-atomic": { + "version": "1.0.8", + "from": "fs-write-stream-atomic@1.0.8" + }, + "fstream": { + "version": "1.0.8", + "from": "fstream@>=1.0.8 <1.1.0", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.8.tgz" + }, + "fstream-npm": { + "version": "1.0.7", + "from": "fstream-npm@>=1.0.7 <1.1.0", + "dependencies": { + "fstream-ignore": { + "version": "1.0.3", + "from": "fstream-ignore@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.3.tgz", + "dependencies": { + "minimatch": { + "version": "3.0.0", + "from": "minimatch@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz", + "dependencies": { + "brace-expansion": { + "version": "1.1.2", + "from": "brace-expansion@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.2.tgz", + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "from": "balanced-match@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + } + } + } + } + } + } + } + } + }, + "glob": { + "version": "7.0.0", + "from": "glob@latest", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.0.tgz", + "dependencies": { + "minimatch": { + "version": "3.0.0", + "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz", + "dependencies": { + "brace-expansion": { + "version": "1.1.3", + "from": "brace-expansion@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz", + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "from": "balanced-match@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + } + } + } + } + }, + "path-is-absolute": { + "version": "1.0.0", + "from": "path-is-absolute@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" + } + } + }, + "graceful-fs": { + "version": "4.1.3", + "from": "graceful-fs@>=4.1.2 <4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz" + }, + "has-unicode": { + "version": "2.0.0", + "from": "has-unicode@2.0.0", + "resolved": "file:../has-unicode" + }, + "hosted-git-info": { + "version": "2.1.4", + "from": "hosted-git-info@>=2.1.4 <2.2.0" + }, + "iferr": { + "version": "0.1.5", + "from": "iferr@>=0.1.5 <0.2.0", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" + }, + "imurmurhash": { + "version": "0.1.4", + "from": "imurmurhash@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + }, + "inflight": { + "version": "1.0.4", + "from": "inflight@>=1.0.4 <1.1.0", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz" + }, + "inherits": { + "version": "2.0.1", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + }, + "ini": { + "version": "1.3.4", + "from": "ini@>=1.3.4 <1.4.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" + }, + "init-package-json": { + "version": "1.9.3", + "from": "init-package-json@>=1.9.3 <1.10.0", + "dependencies": { + "glob": { + "version": "6.0.4", + "from": "glob@>=6.0.0 <7.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "dependencies": { + "minimatch": { + "version": "3.0.0", + "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "dependencies": { + "brace-expansion": { + "version": "1.1.3", + "from": "brace-expansion@>=1.0.0 <2.0.0", + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "from": "balanced-match@>=0.3.0 <0.4.0" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1" + } + } + } + } + }, + "path-is-absolute": { + "version": "1.0.0", + "from": "path-is-absolute@>=1.0.0 <2.0.0" + } + } + }, + "promzard": { + "version": "0.3.0", + "from": "promzard@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz" + } + } + }, + "lockfile": { + "version": "1.0.1", + "from": "lockfile@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz" + }, + "lodash._baseindexof": { + "version": "3.1.0", + "from": "lodash._baseindexof@3.1.0", + "resolved": "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz" + }, + "lodash._baseuniq": { + "version": "4.4.0", + "from": "lodash._baseuniq@latest", + "resolved": "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-4.4.0.tgz", + "dependencies": { + "lodash._root": { + "version": "3.0.1", + "from": "lodash._root@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz" + }, + "lodash._setcache": { + "version": "4.1.0", + "from": "lodash._setcache@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash._setcache/-/lodash._setcache-4.1.0.tgz" + } + } + }, + "lodash._bindcallback": { + "version": "3.0.1", + "from": "lodash._bindcallback@3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz" + }, + "lodash._cacheindexof": { + "version": "3.0.2", + "from": "lodash._cacheindexof@3.0.2", + "resolved": "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz" + }, + "lodash._createcache": { + "version": "3.1.2", + "from": "lodash._createcache@3.1.2", + "resolved": "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz" + }, + "lodash._getnative": { + "version": "3.9.1", + "from": "lodash._getnative@3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz" + }, + "lodash.clonedeep": { + "version": "4.3.0", + "from": "lodash.clonedeep@latest", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.3.0.tgz", + "dependencies": { + "lodash._baseclone": { + "version": "4.5.0", + "from": "lodash._baseclone@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.0.tgz" + } + } + }, + "lodash.isarguments": { + "version": "3.0.7", + "from": "lodash.isarguments@latest", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.0.7.tgz" + }, + "lodash.isarray": { + "version": "4.0.0", + "from": "lodash.isarray@latest", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-4.0.0.tgz" + }, + "lodash.keys": { + "version": "4.0.3", + "from": "lodash.keys@latest", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.0.3.tgz" + }, + "lodash.restparam": { + "version": "3.6.1", + "from": "lodash.restparam@3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz" + }, + "lodash.union": { + "version": "4.2.0", + "from": "lodash.union@latest", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.2.0.tgz", + "dependencies": { + "lodash._baseflatten": { + "version": "4.1.0", + "from": "lodash._baseflatten@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-4.1.0.tgz" + }, + "lodash.rest": { + "version": "4.0.1", + "from": "lodash.rest@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.1.tgz" + } + } + }, + "lodash.uniq": { + "version": "4.2.0", + "from": "lodash.uniq@>=4.2.0 <4.3.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.2.0.tgz" + }, + "lodash.without": { + "version": "4.1.0", + "from": "lodash.without@latest", + "resolved": "https://registry.npmjs.org/lodash.without/-/lodash.without-4.1.0.tgz", + "dependencies": { + "lodash._basedifference": { + "version": "4.4.0", + "from": "lodash._basedifference@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash._basedifference/-/lodash._basedifference-4.4.0.tgz", + "dependencies": { + "lodash._setcache": { + "version": "4.1.0", + "from": "lodash._setcache@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash._setcache/-/lodash._setcache-4.1.0.tgz" + } + } + }, + "lodash.rest": { + "version": "4.0.1", + "from": "lodash.rest@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.1.tgz" + } + } + }, + "mkdirp": { + "version": "0.5.1", + "from": "mkdirp@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "dependencies": { + "minimist": { + "version": "0.0.8", + "from": "minimist@0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + } + } + }, + "node-gyp": { + "version": "3.3.0", + "from": "node-gyp@>=3.3.0 <3.4.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.3.0.tgz", + "dependencies": { + "glob": { + "version": "4.5.3", + "from": "glob@>=3.0.0 <4.0.0||>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "dependencies": { + "minimatch": { + "version": "2.0.10", + "from": "minimatch@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "dependencies": { + "brace-expansion": { + "version": "1.1.3", + "from": "brace-expansion@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz", + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "from": "balanced-match@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + } + } + } + } + } + } + }, + "minimatch": { + "version": "1.0.0", + "from": "minimatch@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz", + "dependencies": { + "lru-cache": { + "version": "2.7.3", + "from": "lru-cache@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + }, + "sigmund": { + "version": "1.0.1", + "from": "sigmund@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" + } + } + }, + "path-array": { + "version": "1.0.1", + "from": "path-array@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz", + "dependencies": { + "array-index": { + "version": "1.0.0", + "from": "array-index@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz", + "dependencies": { + "debug": { + "version": "2.2.0", + "from": "debug@*", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "dependencies": { + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + } + } + }, + "es6-symbol": { + "version": "3.0.2", + "from": "es6-symbol@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.0.2.tgz", + "dependencies": { + "d": { + "version": "0.1.1", + "from": "d@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz" + }, + "es5-ext": { + "version": "0.10.11", + "from": "es5-ext@>=0.10.10 <0.11.0", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.11.tgz", + "dependencies": { + "es6-iterator": { + "version": "2.0.0", + "from": "es6-iterator@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz" + } + } + } + } + } + } + } + } + } + } + }, + "nopt": { + "version": "3.0.6", + "from": "nopt@>=3.0.6 <3.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" + }, + "normalize-git-url": { + "version": "3.0.1", + "from": "normalize-git-url@>=3.0.1 <3.1.0", + "resolved": "https://registry.npmjs.org/normalize-git-url/-/normalize-git-url-3.0.1.tgz" + }, + "normalize-package-data": { + "version": "2.3.5", + "from": "normalize-package-data@>=2.3.5 <2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "dependencies": { + "is-builtin-module": { + "version": "1.0.0", + "from": "is-builtin-module@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "from": "builtin-modules@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" + } + } + } + } + }, + "npm-cache-filename": { + "version": "1.0.2", + "from": "npm-cache-filename@>=1.0.2 <1.1.0", + "resolved": "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz" + }, + "npm-install-checks": { + "version": "3.0.0", + "from": "npm-install-checks@3.0.0" + }, + "npm-package-arg": { + "version": "4.1.0", + "from": "npm-package-arg@>=4.1.0 <4.2.0" + }, + "npm-registry-client": { + "version": "7.0.9", + "from": "npm-registry-client@>=7.0.9 <7.1.0", + "dependencies": { + "concat-stream": { + "version": "1.5.1", + "from": "concat-stream@>=1.4.6 <2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", + "dependencies": { + "typedarray": { + "version": "0.0.6", + "from": "typedarray@>=0.0.5 <0.1.0", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + } + } + }, + "retry": { + "version": "0.8.0", + "from": "retry@>=0.8.0 <0.9.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.8.0.tgz" + } + } + }, + "npm-user-validate": { + "version": "0.1.2", + "from": "npm-user-validate@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.2.tgz" + }, + "npmlog": { + "version": "2.0.2", + "from": "npmlog@>=2.0.0 <2.1.0", + "dependencies": { + "ansi": { + "version": "0.3.1", + "from": "ansi@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz" + }, + "are-we-there-yet": { + "version": "1.0.6", + "from": "are-we-there-yet@>=1.0.6 <1.1.0", + "dependencies": { + "delegates": { + "version": "1.0.0", + "from": "delegates@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" + } + } + }, + "gauge": { + "version": "1.2.7", + "from": "gauge@>=1.2.5 <1.3.0", + "dependencies": { + "lodash.pad": { + "version": "4.1.0", + "from": "lodash.pad@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.1.0.tgz" + }, + "lodash.padend": { + "version": "4.2.0", + "from": "lodash.padend@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.2.0.tgz" + }, + "lodash.padstart": { + "version": "4.2.0", + "from": "lodash.padstart@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.2.0.tgz" + }, + "lodash.repeat": { + "version": "4.0.0", + "from": "lodash.repeat@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.0.0.tgz" + }, + "lodash.tostring": { + "version": "4.1.1", + "from": "lodash.tostring@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.1.tgz" + } + } + } + } + }, + "once": { + "version": "1.3.3", + "from": "once@>=1.3.3 <1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" + }, + "opener": { + "version": "1.4.1", + "from": "opener@>=1.4.1 <1.5.0", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.1.tgz" + }, + "osenv": { + "version": "0.1.3", + "from": "osenv@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz", + "dependencies": { + "os-homedir": { + "version": "1.0.1", + "from": "os-homedir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz" + }, + "os-tmpdir": { + "version": "1.0.1", + "from": "os-tmpdir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz" + } + } + }, + "path-is-inside": { + "version": "1.0.1", + "from": "path-is-inside@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz" + }, + "read": { + "version": "1.0.7", + "from": "read@>=1.0.7 <1.1.0", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "dependencies": { + "mute-stream": { + "version": "0.0.5", + "from": "mute-stream@>=0.0.4 <0.1.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz" + } + } + }, + "read-cmd-shim": { + "version": "1.0.1", + "from": "read-cmd-shim@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz" + }, + "read-installed": { + "version": "4.0.3", + "from": "read-installed@>=4.0.3 <4.1.0", + "resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz", + "dependencies": { + "util-extend": { + "version": "1.0.3", + "from": "util-extend@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz" + } + } + }, + "read-package-json": { + "version": "2.0.3", + "from": "read-package-json@2.0.3", + "dependencies": { + "glob": { + "version": "6.0.4", + "from": "glob@>=6.0.0 <7.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "dependencies": { + "minimatch": { + "version": "3.0.0", + "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "dependencies": { + "brace-expansion": { + "version": "1.1.3", + "from": "brace-expansion@>=1.0.0 <2.0.0", + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "from": "balanced-match@>=0.3.0 <0.4.0" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1" + } + } + } + } + }, + "path-is-absolute": { + "version": "1.0.0", + "from": "path-is-absolute@>=1.0.0 <2.0.0" + } + } + }, + "json-parse-helpfulerror": { + "version": "1.0.3", + "from": "json-parse-helpfulerror@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz", + "dependencies": { + "jju": { + "version": "1.2.1", + "from": "jju@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.2.1.tgz" + } + } + } + } + }, + "read-package-tree": { + "version": "5.1.2", + "from": "read-package-tree@>=5.1.2 <5.2.0", + "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.1.2.tgz" + }, + "readable-stream": { + "version": "2.0.5", + "from": "readable-stream@2.0.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0" + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1" + }, + "process-nextick-args": { + "version": "1.0.6", + "from": "process-nextick-args@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + } + } + }, + "readdir-scoped-modules": { + "version": "1.0.2", + "from": "readdir-scoped-modules@1.0.2", + "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz" + }, + "realize-package-specifier": { + "version": "3.0.1", + "from": "realize-package-specifier@>=3.0.1 <3.1.0" + }, + "request": { + "version": "2.69.0", + "from": "request@latest", + "resolved": "https://registry.npmjs.org/request/-/request-2.69.0.tgz", + "dependencies": { + "aws-sign2": { + "version": "0.6.0", + "from": "aws-sign2@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" + }, + "aws4": { + "version": "1.2.1", + "from": "aws4@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.2.1.tgz", + "dependencies": { + "lru-cache": { + "version": "2.7.3", + "from": "lru-cache@>=2.6.5 <3.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + } + } + }, + "bl": { + "version": "1.0.1", + "from": "bl@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.1.tgz" + }, + "caseless": { + "version": "0.11.0", + "from": "caseless@>=0.11.0 <0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" + }, + "combined-stream": { + "version": "1.0.5", + "from": "combined-stream@>=1.0.5 <1.1.0", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "dependencies": { + "delayed-stream": { + "version": "1.0.0", + "from": "delayed-stream@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + } + } + }, + "extend": { + "version": "3.0.0", + "from": "extend@>=3.0.0 <3.1.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + }, + "forever-agent": { + "version": "0.6.1", + "from": "forever-agent@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + }, + "form-data": { + "version": "1.0.0-rc3", + "from": "form-data@>=1.0.0-rc3 <1.1.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz", + "dependencies": { + "async": { + "version": "1.5.2", + "from": "async@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" + } + } + }, + "har-validator": { + "version": "2.0.6", + "from": "har-validator@>=2.0.2 <2.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "dependencies": { + "chalk": { + "version": "1.1.1", + "from": "chalk@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz", + "dependencies": { + "ansi-styles": { + "version": "2.1.0", + "from": "ansi-styles@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz" + }, + "escape-string-regexp": { + "version": "1.0.4", + "from": "escape-string-regexp@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.4.tgz" + }, + "has-ansi": { + "version": "2.0.0", + "from": "has-ansi@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + }, + "supports-color": { + "version": "2.0.0", + "from": "supports-color@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + } + } + }, + "commander": { + "version": "2.9.0", + "from": "commander@>=2.8.1 <3.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "dependencies": { + "graceful-readlink": { + "version": "1.0.1", + "from": "graceful-readlink@>=1.0.0", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" + } + } + }, + "is-my-json-valid": { + "version": "2.12.4", + "from": "is-my-json-valid@>=2.12.4 <3.0.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.4.tgz", + "dependencies": { + "generate-function": { + "version": "2.0.0", + "from": "generate-function@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" + }, + "generate-object-property": { + "version": "1.2.0", + "from": "generate-object-property@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "dependencies": { + "is-property": { + "version": "1.0.2", + "from": "is-property@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" + } + } + }, + "jsonpointer": { + "version": "2.0.0", + "from": "jsonpointer@2.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + } + } + }, + "pinkie-promise": { + "version": "2.0.0", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz", + "dependencies": { + "pinkie": { + "version": "2.0.1", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.1.tgz" + } + } + } + } + }, + "hawk": { + "version": "3.1.3", + "from": "hawk@>=3.1.0 <3.2.0", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "dependencies": { + "boom": { + "version": "2.10.1", + "from": "boom@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + }, + "cryptiles": { + "version": "2.0.5", + "from": "cryptiles@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" + }, + "hoek": { + "version": "2.16.3", + "from": "hoek@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + }, + "sntp": { + "version": "1.0.9", + "from": "sntp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" + } + } + }, + "http-signature": { + "version": "1.1.1", + "from": "http-signature@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "from": "assert-plus@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" + }, + "jsprim": { + "version": "1.2.2", + "from": "jsprim@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz", + "dependencies": { + "extsprintf": { + "version": "1.0.2", + "from": "extsprintf@1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" + }, + "json-schema": { + "version": "0.2.2", + "from": "json-schema@0.2.2", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" + }, + "verror": { + "version": "1.3.6", + "from": "verror@1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" + } + } + }, + "sshpk": { + "version": "1.7.3", + "from": "sshpk@>=1.7.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.7.3.tgz", + "dependencies": { + "asn1": { + "version": "0.2.3", + "from": "asn1@>=0.2.3 <0.3.0", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" + }, + "dashdash": { + "version": "1.12.2", + "from": "dashdash@>=1.10.1 <2.0.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.12.2.tgz" + }, + "ecc-jsbn": { + "version": "0.1.1", + "from": "ecc-jsbn@>=0.0.1 <1.0.0", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" + }, + "jodid25519": { + "version": "1.0.2", + "from": "jodid25519@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" + }, + "jsbn": { + "version": "0.1.0", + "from": "jsbn@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" + }, + "tweetnacl": { + "version": "0.13.3", + "from": "tweetnacl@>=0.13.0 <1.0.0", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" + } + } + } + } + }, + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + }, + "isstream": { + "version": "0.1.2", + "from": "isstream@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + }, + "json-stringify-safe": { + "version": "5.0.1", + "from": "json-stringify-safe@>=5.0.1 <5.1.0", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + }, + "mime-types": { + "version": "2.1.9", + "from": "mime-types@>=2.1.7 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.9.tgz", + "dependencies": { + "mime-db": { + "version": "1.21.0", + "from": "mime-db@>=1.21.0 <1.22.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.21.0.tgz" + } + } + }, + "node-uuid": { + "version": "1.4.7", + "from": "node-uuid@>=1.4.7 <1.5.0", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" + }, + "oauth-sign": { + "version": "0.8.0", + "from": "oauth-sign@>=0.8.0 <0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz" + }, + "qs": { + "version": "6.0.2", + "from": "qs@>=6.0.2 <6.1.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.0.2.tgz" + }, + "stringstream": { + "version": "0.0.5", + "from": "stringstream@>=0.0.4 <0.1.0", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" + }, + "tough-cookie": { + "version": "2.2.1", + "from": "tough-cookie@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.1.tgz" + }, + "tunnel-agent": { + "version": "0.4.2", + "from": "tunnel-agent@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz" + } + } + }, + "retry": { + "version": "0.9.0", + "from": "retry@latest", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.9.0.tgz" + }, + "rimraf": { + "version": "2.5.2", + "from": "rimraf@>=2.5.1 <2.6.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz" + }, + "semver": { + "version": "5.1.0", + "from": "semver@>=5.1.0 <5.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz" + }, + "sha": { + "version": "2.0.1", + "from": "sha@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/sha/-/sha-2.0.1.tgz" + }, + "slide": { + "version": "1.1.6", + "from": "slide@>=1.1.6 <1.2.0", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz" + }, + "sorted-object": { + "version": "1.0.0", + "from": "sorted-object@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz" + }, + "strip-ansi": { + "version": "3.0.0", + "from": "strip-ansi@3.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz" + }, + "tar": { + "version": "2.2.1", + "from": "tar@>=2.2.1 <2.3.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "dependencies": { + "block-stream": { + "version": "0.0.8", + "from": "block-stream@*", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz" + } + } + }, + "text-table": { + "version": "0.2.0", + "from": "text-table@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + }, + "uid-number": { + "version": "0.0.6", + "from": "uid-number@0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" + }, + "umask": { + "version": "1.1.0", + "from": "umask@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz" + }, + "unique-filename": { + "version": "1.1.0", + "from": "unique-filename@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "dependencies": { + "unique-slug": { + "version": "2.0.0", + "from": "unique-slug@>=2.0.0 <3.0.0" + } + } + }, + "unpipe": { + "version": "1.0.0", + "from": "unpipe@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + }, + "validate-npm-package-license": { + "version": "3.0.1", + "from": "validate-npm-package-license@3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "from": "spdx-correct@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "dependencies": { + "spdx-license-ids": { + "version": "1.2.0", + "from": "spdx-license-ids@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.0.tgz" + } + } + }, + "spdx-expression-parse": { + "version": "1.0.2", + "from": "spdx-expression-parse@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz", + "dependencies": { + "spdx-exceptions": { + "version": "1.0.4", + "from": "spdx-exceptions@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.4.tgz" + }, + "spdx-license-ids": { + "version": "1.2.0", + "from": "spdx-license-ids@>=1.0.0 <2.0.0" + } + } + } + } + }, + "validate-npm-package-name": { + "version": "2.2.2", + "from": "validate-npm-package-name@>=2.2.2 <2.3.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-2.2.2.tgz", + "dependencies": { + "builtins": { + "version": "0.0.7", + "from": "builtins@0.0.7", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz" + } + } + }, + "which": { + "version": "1.2.4", + "from": "which@>=1.2.1 <1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.4.tgz", + "dependencies": { + "is-absolute": { + "version": "0.1.7", + "from": "is-absolute@>=0.1.7 <0.2.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", + "dependencies": { + "is-relative": { + "version": "0.1.3", + "from": "is-relative@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz" + } + } + }, + "isexe": { + "version": "1.1.1", + "from": "isexe@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.1.tgz" + } + } + }, + "wrappy": { + "version": "1.0.1", + "from": "wrappy@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" + }, + "write-file-atomic": { + "version": "1.1.4", + "from": "write-file-atomic@>=1.1.4 <2.0.0" + } + } + }, + "npmconf": { + "version": "2.1.2", + "from": "npmconf@>=2.1.2 <3.0.0", + "resolved": "https://registry.npmjs.org/npmconf/-/npmconf-2.1.2.tgz" + }, + "npmlog": { + "version": "2.0.2", + "from": "npmlog@>=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.2.tgz" + }, + "num2fraction": { + "version": "1.2.2", + "from": "num2fraction@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz" + }, + "number-is-nan": { + "version": "1.0.0", + "from": "number-is-nan@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" + }, + "oauth-sign": { + "version": "0.8.1", + "from": "oauth-sign@>=0.8.0 <0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.1.tgz" + }, + "object-assign": { + "version": "4.0.1", + "from": "object-assign@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.0.1.tgz" + }, + "once": { + "version": "1.3.3", + "from": "once@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" + }, + "orchestrator": { + "version": "0.3.7", + "from": "orchestrator@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.7.tgz" + }, + "ordered-read-streams": { + "version": "0.1.0", + "from": "ordered-read-streams@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz" + }, + "os-homedir": { + "version": "1.0.1", + "from": "os-homedir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz" + }, + "os-locale": { + "version": "1.4.0", + "from": "os-locale@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" + }, + "os-shim": { + "version": "0.1.3", + "from": "os-shim@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz" + }, + "os-tmpdir": { + "version": "1.0.1", + "from": "os-tmpdir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz" + }, + "osenv": { + "version": "0.1.3", + "from": "osenv@>=0.0.0 <1.0.0", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz" + }, + "parse-json": { + "version": "2.2.0", + "from": "parse-json@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + }, + "path-array": { + "version": "1.0.1", + "from": "path-array@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz" + }, + "path-exists": { + "version": "2.1.0", + "from": "path-exists@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" + }, + "path-is-absolute": { + "version": "1.0.0", + "from": "path-is-absolute@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" + }, + "path-type": { + "version": "1.1.0", + "from": "path-type@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" + }, + "pify": { + "version": "2.3.0", + "from": "pify@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + }, + "pinkie": { + "version": "2.0.4", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + }, + "pinkie-promise": { + "version": "2.0.0", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz" + }, + "postcss": { + "version": "5.0.19", + "from": "postcss@>=5.0.15 <6.0.0", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.0.19.tgz" + }, + "postcss-bem-linter": { + "version": "2.3.3", + "from": "postcss-bem-linter@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-bem-linter/-/postcss-bem-linter-2.3.3.tgz" + }, + "postcss-calc": { + "version": "5.2.0", + "from": "postcss-calc@>=5.2.0 <6.0.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.2.0.tgz" + }, + "postcss-colormin": { + "version": "2.2.0", + "from": "postcss-colormin@>=2.1.8 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.0.tgz" + }, + "postcss-convert-values": { + "version": "2.3.4", + "from": "postcss-convert-values@>=2.3.4 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.3.4.tgz" + }, + "postcss-discard-comments": { + "version": "2.0.4", + "from": "postcss-discard-comments@>=2.0.4 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz" + }, + "postcss-discard-duplicates": { + "version": "2.0.1", + "from": "postcss-discard-duplicates@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.0.1.tgz" + }, + "postcss-discard-empty": { + "version": "2.0.1", + "from": "postcss-discard-empty@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.0.1.tgz" + }, + "postcss-discard-unused": { + "version": "2.2.1", + "from": "postcss-discard-unused@>=2.2.1 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.1.tgz" + }, + "postcss-filter-plugins": { + "version": "2.0.0", + "from": "postcss-filter-plugins@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.0.tgz" + }, + "postcss-merge-idents": { + "version": "2.1.5", + "from": "postcss-merge-idents@>=2.1.5 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.5.tgz" + }, + "postcss-merge-longhand": { + "version": "2.0.1", + "from": "postcss-merge-longhand@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.1.tgz" + }, + "postcss-merge-rules": { + "version": "2.0.6", + "from": "postcss-merge-rules@>=2.0.3 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.0.6.tgz" + }, + "postcss-message-helpers": { + "version": "2.0.0", + "from": "postcss-message-helpers@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz" + }, + "postcss-minify-font-values": { + "version": "1.0.3", + "from": "postcss-minify-font-values@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.3.tgz" + }, + "postcss-minify-gradients": { + "version": "1.0.1", + "from": "postcss-minify-gradients@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.1.tgz" + }, + "postcss-minify-params": { + "version": "1.0.4", + "from": "postcss-minify-params@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.0.4.tgz" + }, + "postcss-minify-selectors": { + "version": "2.0.4", + "from": "postcss-minify-selectors@>=2.0.4 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.0.4.tgz" + }, + "postcss-normalize-charset": { + "version": "1.1.0", + "from": "postcss-normalize-charset@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.0.tgz" + }, + "postcss-normalize-url": { + "version": "3.0.7", + "from": "postcss-normalize-url@>=3.0.7 <4.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.7.tgz" + }, + "postcss-ordered-values": { + "version": "2.1.0", + "from": "postcss-ordered-values@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.1.0.tgz" + }, + "postcss-reduce-idents": { + "version": "2.3.0", + "from": "postcss-reduce-idents@>=2.2.2 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.3.0.tgz" + }, + "postcss-reduce-transforms": { + "version": "1.0.3", + "from": "postcss-reduce-transforms@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.3.tgz" + }, + "postcss-reporter": { + "version": "1.3.3", + "from": "postcss-reporter@>=1.3.3 <2.0.0", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-1.3.3.tgz", + "dependencies": { + "lodash": { + "version": "4.6.1", + "from": "lodash@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz" + } + } + }, + "postcss-scss": { + "version": "0.1.6", + "from": "postcss-scss@>=0.1.6 <0.2.0", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-0.1.6.tgz" + }, + "postcss-selector-parser": { + "version": "1.3.2", + "from": "postcss-selector-parser@>=1.3.1 <2.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-1.3.2.tgz" + }, + "postcss-svgo": { + "version": "2.1.2", + "from": "postcss-svgo@>=2.1.1 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.2.tgz" + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "from": "postcss-unique-selectors@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz" + }, + "postcss-value-parser": { + "version": "3.3.0", + "from": "postcss-value-parser@>=3.2.3 <4.0.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" + }, + "postcss-zindex": { + "version": "2.0.1", + "from": "postcss-zindex@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.0.1.tgz" + }, + "prepend-http": { + "version": "1.0.3", + "from": "prepend-http@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.3.tgz" + }, + "pretty-hrtime": { + "version": "1.0.2", + "from": "pretty-hrtime@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.2.tgz" + }, + "process-nextick-args": { + "version": "1.0.6", + "from": "process-nextick-args@>=1.0.6 <1.1.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz" + }, + "proto-list": { + "version": "1.2.4", + "from": "proto-list@>=1.2.1 <1.3.0", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" + }, + "pseudomap": { + "version": "1.0.2", + "from": "pseudomap@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" + }, + "q": { + "version": "1.4.1", + "from": "q@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz" + }, + "qs": { + "version": "6.0.2", + "from": "qs@>=6.0.2 <6.1.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.0.2.tgz" + }, + "query-string": { + "version": "3.0.1", + "from": "query-string@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-3.0.1.tgz" + }, + "read-pkg": { + "version": "1.1.0", + "from": "read-pkg@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" + }, + "read-pkg-up": { + "version": "1.0.1", + "from": "read-pkg-up@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" + }, + "readable-stream": { + "version": "1.1.13", + "from": "readable-stream@>=1.1.9 <1.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz" + }, + "rechoir": { + "version": "0.6.2", + "from": "rechoir@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + }, + "redent": { + "version": "1.0.0", + "from": "redent@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" + }, + "reduce-css-calc": { + "version": "1.2.1", + "from": "reduce-css-calc@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.2.1.tgz" + }, + "reduce-function-call": { + "version": "1.0.1", + "from": "reduce-function-call@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.1.tgz" + }, + "repeating": { + "version": "2.0.0", + "from": "repeating@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.0.tgz" + }, + "replace-ext": { + "version": "0.0.1", + "from": "replace-ext@0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz" + }, + "request": { + "version": "2.69.0", + "from": "request@>=2.61.0 <3.0.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.69.0.tgz", + "dependencies": { + "extend": { + "version": "3.0.0", + "from": "extend@>=3.0.0 <3.1.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + } + } + }, + "require-from-string": { + "version": "1.1.0", + "from": "require-from-string@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.1.0.tgz" + }, + "resolve": { + "version": "1.1.7", + "from": "resolve@>=1.1.6 <2.0.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" + }, + "resolve-from": { + "version": "2.0.0", + "from": "resolve-from@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz" + }, + "rimraf": { + "version": "2.5.2", + "from": "rimraf@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz", + "dependencies": { + "glob": { + "version": "7.0.0", + "from": "glob@>=7.0.0 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.0.tgz" + } + } + }, + "sass-graph": { + "version": "2.1.1", + "from": "sass-graph@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.1.tgz", + "dependencies": { + "glob": { + "version": "6.0.4", + "from": "glob@>=6.0.4 <7.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" + }, + "lodash": { + "version": "4.6.1", + "from": "lodash@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz" + } + } + }, + "sax": { + "version": "1.1.5", + "from": "sax@>=1.1.4 <1.2.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.5.tgz" + }, + "semver": { + "version": "4.3.6", + "from": "semver@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz" + }, + "sequencify": { + "version": "0.0.7", + "from": "sequencify@>=0.0.7 <0.1.0", + "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz" + }, + "sigmund": { + "version": "1.0.1", + "from": "sigmund@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" + }, + "signal-exit": { + "version": "2.1.2", + "from": "signal-exit@>=2.1.2 <3.0.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-2.1.2.tgz" + }, + "sntp": { + "version": "1.0.9", + "from": "sntp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" + }, + "sort-keys": { + "version": "1.1.1", + "from": "sort-keys@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.1.tgz" + }, + "source-map": { + "version": "0.5.3", + "from": "source-map@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.3.tgz" + }, + "sparkles": { + "version": "1.0.0", + "from": "sparkles@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz" + }, + "spawn-sync": { + "version": "1.0.15", + "from": "spawn-sync@>=1.0.15 <2.0.0", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz" + }, + "spdx-correct": { + "version": "1.0.2", + "from": "spdx-correct@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz" + }, + "spdx-exceptions": { + "version": "1.0.4", + "from": "spdx-exceptions@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.4.tgz" + }, + "spdx-expression-parse": { + "version": "1.0.2", + "from": "spdx-expression-parse@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz" + }, + "spdx-license-ids": { + "version": "1.2.0", + "from": "spdx-license-ids@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.0.tgz" + }, + "sprintf-js": { + "version": "1.0.3", + "from": "sprintf-js@>=1.0.2 <1.1.0", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + }, + "sshpk": { + "version": "1.7.4", + "from": "sshpk@>=1.7.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.7.4.tgz" + }, + "stream-consume": { + "version": "0.1.0", + "from": "stream-consume@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz" + }, + "strict-uri-encode": { + "version": "1.1.0", + "from": "strict-uri-encode@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "string-width": { + "version": "1.0.1", + "from": "string-width@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz" + }, + "stringstream": { + "version": "0.0.5", + "from": "stringstream@>=0.0.4 <0.1.0", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" + }, + "strip-ansi": { + "version": "3.0.1", + "from": "strip-ansi@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + }, + "strip-bom": { + "version": "2.0.0", + "from": "strip-bom@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + }, + "strip-indent": { + "version": "1.0.1", + "from": "strip-indent@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" + }, + "stylelint": { + "version": "4.4.0", + "from": "stylelint@>=4.4.0 <5.0.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-4.4.0.tgz", + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "from": "balanced-match@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz" + }, + "get-stdin": { + "version": "5.0.1", + "from": "get-stdin@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz" + }, + "lodash": { + "version": "4.6.1", + "from": "lodash@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz" + } + } + }, + "stylelint-selector-bem-pattern": { + "version": "0.2.1", + "from": "stylelint-selector-bem-pattern@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/stylelint-selector-bem-pattern/-/stylelint-selector-bem-pattern-0.2.1.tgz", + "dependencies": { + "lodash": { + "version": "4.6.1", + "from": "lodash@>=3.10.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz" + } + } + }, + "supports-color": { + "version": "3.1.2", + "from": "supports-color@>=3.1.2 <4.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz" + }, + "svgo": { + "version": "0.6.1", + "from": "svgo@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.6.1.tgz" + }, + "tar": { + "version": "2.2.1", + "from": "tar@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz" + }, + "through2": { + "version": "2.0.1", + "from": "through2@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.5", + "from": "readable-stream@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz" + } + } + }, + "tildify": { + "version": "1.1.2", + "from": "tildify@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.1.2.tgz" + }, + "time-stamp": { + "version": "1.0.0", + "from": "time-stamp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.0.tgz" + }, + "tough-cookie": { + "version": "2.2.1", + "from": "tough-cookie@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.1.tgz" + }, + "trim-newlines": { + "version": "1.0.0", + "from": "trim-newlines@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" + }, + "tunnel-agent": { + "version": "0.4.2", + "from": "tunnel-agent@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz" + }, + "tweetnacl": { + "version": "0.14.1", + "from": "tweetnacl@>=0.13.0 <1.0.0", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.1.tgz" + }, + "typedarray": { + "version": "0.0.6", + "from": "typedarray@>=0.0.5 <0.1.0", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + }, + "uid-number": { + "version": "0.0.5", + "from": "uid-number@0.0.5", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz" + }, + "uniq": { + "version": "1.0.1", + "from": "uniq@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz" + }, + "uniqid": { + "version": "1.0.0", + "from": "uniqid@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-1.0.0.tgz" + }, + "uniqs": { + "version": "2.0.0", + "from": "uniqs@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz" + }, + "unique-stream": { + "version": "1.0.0", + "from": "unique-stream@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz" + }, + "user-home": { + "version": "1.1.1", + "from": "user-home@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + }, + "v8flags": { + "version": "2.0.11", + "from": "v8flags@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.0.11.tgz" + }, + "validate-npm-package-license": { + "version": "3.0.1", + "from": "validate-npm-package-license@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" + }, + "verror": { + "version": "1.3.6", + "from": "verror@1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" + }, + "vinyl": { + "version": "0.5.3", + "from": "vinyl@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz" + }, + "vinyl-fs": { + "version": "0.3.14", + "from": "vinyl-fs@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", + "dependencies": { + "clone": { + "version": "0.2.0", + "from": "clone@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz" + }, + "graceful-fs": { + "version": "3.0.8", + "from": "graceful-fs@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz" + }, + "readable-stream": { + "version": "1.0.33", + "from": "readable-stream@>=1.0.33-1 <1.1.0-0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz" + }, + "strip-bom": { + "version": "1.0.0", + "from": "strip-bom@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz" + }, + "through2": { + "version": "0.6.5", + "from": "through2@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" + }, + "vinyl": { + "version": "0.4.6", + "from": "vinyl@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz" + } + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "from": "vinyl-sourcemaps-apply@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz" + }, + "whet.extend": { + "version": "0.9.9", + "from": "whet.extend@>=0.9.9 <0.10.0", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz" + }, + "which": { + "version": "1.2.4", + "from": "which@>=1.2.4 <2.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.4.tgz" + }, + "window-size": { + "version": "0.1.4", + "from": "window-size@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz" + }, + "wrap-ansi": { + "version": "1.0.0", + "from": "wrap-ansi@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-1.0.0.tgz" + }, + "wrappy": { + "version": "1.0.1", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@>=4.0.0 <4.1.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + }, + "y18n": { + "version": "3.2.0", + "from": "y18n@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.0.tgz" + }, + "yallist": { + "version": "2.0.0", + "from": "yallist@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz" + }, + "yargs": { + "version": "3.32.0", + "from": "yargs@>=3.8.0 <4.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz" + }, + "zen-grids": { + "version": "2.0.1", + "from": "zen-grids@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/zen-grids/-/zen-grids-2.0.1.tgz" + } + } +} From 9d8a7f270404b3ef7ae3ad34c643b9e275fa3dff Mon Sep 17 00:00:00 2001 From: vagrant Date: Thu, 3 Mar 2016 17:28:25 -0600 Subject: [PATCH 14/22] prove bem-linter works --- Gulpfile.js | 2 -- config/linters/stylelint.config.json | 19 ++++++++++--------- source/code/sass/styles.scss | 7 +++++++ 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/Gulpfile.js b/Gulpfile.js index e286548..c15843c 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -5,7 +5,6 @@ var gulp = require('gulp'); var exec = require('gulp-exec'); var sass = require('gulp-sass'); var postcss = require('gulp-postcss'); -var semanticnaming = require('postcss-bem-linter'); var reporter = require('postcss-reporter'); var syntax_scss = require('postcss-scss'); var stylelint = require('stylelint'); @@ -31,7 +30,6 @@ gulp.task('lint', function() { return gulp.src(paths.scss) .pipe(postcss([ stylelint(stylelintConfig), - semanticnaming('bem'), reporter({ clearMessages: true }) ], {syntax: syntax_scss})) }); diff --git a/config/linters/stylelint.config.json b/config/linters/stylelint.config.json index 2c3e9d5..39412f3 100644 --- a/config/linters/stylelint.config.json +++ b/config/linters/stylelint.config.json @@ -3,6 +3,15 @@ "stylelint-selector-bem-pattern" ], "rules": { + "selector-bem-pattern": { + "componentName": "[a-z]+", + "componentSelectors": { + "initial": "^\\.{componentName}(?:-[a-z]+)?$", + "combined": "^\\.combined-{componentName}-[a-z]+$" + }, + "utilitySelectors": "^\\.util-[a-z]+$" + }, + "block-no-empty": true, "color-no-invalid-hex": true, "declaration-colon-space-after": "always", @@ -23,15 +32,7 @@ "selector-list-comma-newline-after": "always", "selector-no-id": true, "string-quotes": "double", - "value-no-vendor-prefix": true, - "selector-bem-pattern": { - "componentName": "[A-Z]+", - "componentSelectors": { - "initial": "^\\.{componentName}(?:-[a-z]+)?$", - "combined": "^\\.combined-{componentName}-[a-z]+$" - }, - "utilitySelectors": "^\\.util-[a-z]+$" - } + "value-no-vendor-prefix": true } } diff --git a/source/code/sass/styles.scss b/source/code/sass/styles.scss index bf0fb44..d14cef2 100644 --- a/source/code/sass/styles.scss +++ b/source/code/sass/styles.scss @@ -29,3 +29,10 @@ /* print rules */ @import "print"; + +/** @define component **/ +// This component will fail +// keeping for testing purposes +.Best-Class-Ever { + background:red; +} From 2a5746f7ce4658d9bea1b42cd33d037a26f95380 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Fri, 4 Mar 2016 10:39:56 -0600 Subject: [PATCH 15/22] update documentation --- README.md | 23 ++++++++++++++--------- docs/CONTRIBUTING.md | 10 +++++++++- docs/LINTERS.md | 19 ++++++++++++++++++- 3 files changed, 41 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 0cc6200..bfd3b65 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,16 @@ The beginnings of a Sculpin based style guide creation tool. ## Dependencies 1. NodeJS +1. [Sculpin](https://sculpin.io/getstarted/) ## Getting Started -1. From inside the project root, run `npm install` +1. From inside the Butler root, run `npm install -g gulp` + + This will install Gulp globally. + + _some commands may require being run as `sudo`_ + +1. run `npm install` This will install all of the npm dependencies for Butler. @@ -18,16 +25,14 @@ The beginnings of a Sculpin based style guide creation tool. * `gulp test` - This is the testing task it will run linters as their own tasks. To learn more about configuring and customizing the linters for Butler check the [LINTERS.md](/docs/LINTERS.md). + This is the testing task it will run linters as their own tasks. To learn more about configuring and customizing the linters for Butler check the [linters documentation](/docs/LINTERS.md). ## Making Changes to Butler -Please feel free to change/extend/break this Gulpfile to fit the specific needs of the project. If you would like to add additional functionality please do so to the butler package and create a PR. +Please feel free to change/extend/break this Gulpfile to fit the specific needs of the project. -If you are adding additional functionality you will have to also update the `npm-shrinkwrap.json` by running `update `. You _must_ specify the exact package that needs to be updated and then re-run `npm shrinkwrap --dev` to update the `npm-shrinkwrap.json`. - -_To check which files have become outdated run `npm outdated`_ - -For more information on contributing to this project check the [CONTRIBUTING.md](/docs/CONTRIBUTING.md). +For more information on contributing to this project check the [contributing documentation](/docs/CONTRIBUTING.md). ## Troubleshooting -For now, if you have comments/questions/concerns about working with this please talk to Lauren. +For immediate concerns, if you have comments/questions/concerns about working with this please talk to Lauren. + +To file bug or feature requests, please use the GitHub issue queue for this repository. You can see more about our Issue Guidelines in the [contributing documentation](/docs/CONTRIBUTING.md). diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 72bbda6..ad965db 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -1,7 +1,13 @@ # Contributing +If you would like to add additional functionality please do so, and create a PR. + Any and all are encouraged to contribute! There are three primary ways to do so: creating issues, submitting pull requests (PRs), and reviewing issues and PRs. +If you are adding additional functionality you will have to also update the `npm-shrinkwrap.json` by running `update `. You _must_ specify the exact package that needs to be updated and then re-run `npm shrinkwrap --dev` to update the `npm-shrinkwrap.json`. + +_To check which files have become outdated run `npm outdated`_ + ## Review Process As a major part of the Palantir Tool Chain, this repository should be continually updated. When it is extended for projects or professional development, those changes if pertinent to overall Palantir workflow should be ported back this repository. @@ -57,4 +63,6 @@ Commits should be atomic: the commit should be an indivisible and irreducible ch characters. Think of the first line as a subject of an email and the rest as the body. The blank line separating the summary from the body is critical (unless you omit the body entirely); tools - like rebase can get confused if you run the two together. \ No newline at end of file + like rebase can get confused if you run the two together. + + \ No newline at end of file diff --git a/docs/LINTERS.md b/docs/LINTERS.md index f2bd90c..7342773 100644 --- a/docs/LINTERS.md +++ b/docs/LINTERS.md @@ -6,4 +6,21 @@ Butler runs stylelint as a PostCSS command that ensures that we are writing qual Default style lint configuration can be found at `butler/config/linters/stylelint.config.json`. It is based on a few defaults that we should be matching in our CSS. -To learn more about writing custom rules (or changing these defaults), I recommend reviewing the [Stylelint rule documentation](https://github.com/stylelint/stylelint/blob/master/docs/user-guide/rules.md). \ No newline at end of file +To learn more about writing custom rules (or changing these defaults), I recommend reviewing the [Stylelint rule documentation](https://github.com/stylelint/stylelint/blob/master/docs/user-guide/rules.md). + +### Stylelint Selector Bem Pattern +Butler incorporates the [stylelint-selector-bem-pattern plugin](https://github.com/stylelint/stylelint), which will lint the selectors to check that they are inline with Palantir.net Class Naming guidelines. In order to lint selectors, they must use the following syntax (including comments). + +```` +/** @define MyComponent */ + +:root { + --MyComponent-property: value; +} + +.MyComponent {} + +.MyComponent-other {} +```` + +You can read more documentation on how the selector linter works and how to customize it [here](https://github.com/postcss/postcss-bem-linter). \ No newline at end of file From 6e33eedfa6a4f7ade418da4d2a48e4d9ce7ae676 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Fri, 4 Mar 2016 11:09:53 -0600 Subject: [PATCH 16/22] add deployment to gh-pages --- Gulpfile.js | 24 ++- README.md | 4 + config/options.js | 23 +++ config/paths.js | 9 +- npm-shrinkwrap.json | 350 ++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 6 files changed, 397 insertions(+), 14 deletions(-) create mode 100644 config/options.js diff --git a/Gulpfile.js b/Gulpfile.js index c15843c..3997a76 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -8,28 +8,20 @@ var postcss = require('gulp-postcss'); var reporter = require('postcss-reporter'); var syntax_scss = require('postcss-scss'); var stylelint = require('stylelint'); +var deploy = require('gulp-gh-pages'); // Fetch paths from config var paths = require('./config/paths.js'); -// Autoprefixer options -// @todo: this might need to be set on a project basis (as a config variable) -var browserSupport = { - // Support 2 most recent browser versions and anything with more than 5% support - browsers: ['last 2 versions', '> 5%'] -}; +// Fetch options from config +var options = require('./config/options.js'); -// Stylelint options -var stylelintConfig = { - // point to the configuration file - configFile: paths.stylelint -}; // Just run linters gulp.task('lint', function() { return gulp.src(paths.scss) .pipe(postcss([ - stylelint(stylelintConfig), + stylelint(options.stylelint), reporter({ clearMessages: true }) ], {syntax: syntax_scss})) }); @@ -38,7 +30,7 @@ gulp.task('lint', function() { gulp.task('sass', function() { // Set what postcss plugins need to be run var processors = [ - autoprefixer(browserSupport), + autoprefixer(options.autoprefixer), cssnano ]; // Run on all file paths defined in var scsss @@ -82,6 +74,12 @@ gulp.task('develop', ['sass', 'sculpin', 'watch']); // Set a test task gulp.task('test', ['lint']); +// Set a deploy task +gulp.task('deploy', function() { + return gulp.src(paths.output) + .pipe(deploy(options.deploy)); +}); + // Set default task gulp.task('default', ['develop']); diff --git a/README.md b/README.md index bfd3b65..81f1af2 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,10 @@ The beginnings of a Sculpin based style guide creation tool. This is the testing task it will run linters as their own tasks. To learn more about configuring and customizing the linters for Butler check the [linters documentation](/docs/LINTERS.md). +* `gulp deploy` + + This is a task to deploy the static styleguide to GitHub pages. It will deploy to `gh-pages` branch of the repo defined in the `config/paths.js`. Each commit for this process will default to the message: "Updated with Butler - [timestamp]". + ## Making Changes to Butler Please feel free to change/extend/break this Gulpfile to fit the specific needs of the project. diff --git a/config/options.js b/config/options.js new file mode 100644 index 0000000..4dfbf1d --- /dev/null +++ b/config/options.js @@ -0,0 +1,23 @@ +// Define Butler options + +var options = {}; + +// Autoprefixer options +// Support 2 most recent browser versions and anything with more than 5% support +options.autoprefixer = { browsers: ['last 2 versions', '> 5%'] }; + +// Stylelint options +// point to the configuration file +options.stylelint = { configFile: paths.stylelint }; + +// Deploy message +options.message = { 'Updated with Butler - [timestamp]' }; + +// Deploy options +// point to the correct repo & include deploy message +options.deploy = { + remoteUrl: paths.repo, + message: options.message +}; + +module.exports = options; \ No newline at end of file diff --git a/config/paths.js b/config/paths.js index 9c97e66..273fcb2 100644 --- a/config/paths.js +++ b/config/paths.js @@ -3,10 +3,17 @@ var paths = {}; +// location of the .scss files paths.scss = ['source/code/sass/*.scss', 'source/code/sass/**/*.scss']; +// location of the compiled CSS paths.css = 'source/code/css/'; +// location of the sculpin project root paths.sculpin = '/'; - +// location of the compiled output +paths.output = 'output_dev'; +// location of the remote repository +paths.repo = 'https://github.com/palantirnet/butler.git'; +// location of the stylelint config paths.stylelint = 'config/linters/stylelint.config.json'; module.exports = paths; \ No newline at end of file diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index c0363cd..c2071de 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -49,6 +49,16 @@ "from": "argparse@>=1.0.2 <2.0.0", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.6.tgz" }, + "arr-diff": { + "version": "2.0.0", + "from": "arr-diff@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz" + }, + "arr-flatten": { + "version": "1.0.1", + "from": "arr-flatten@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz" + }, "array-differ": { "version": "1.0.0", "from": "array-differ@>=1.0.0 <2.0.0", @@ -74,6 +84,11 @@ "from": "array-uniq@>=1.0.2 <2.0.0", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz" }, + "array-unique": { + "version": "0.2.1", + "from": "array-unique@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz" + }, "arrify": { "version": "1.0.1", "from": "arrify@>=1.0.0 <2.0.0", @@ -165,6 +180,11 @@ } } }, + "braces": { + "version": "1.8.3", + "from": "braces@>=1.8.2 <2.0.0", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.3.tgz" + }, "breakpoint-sass": { "version": "2.7.0", "from": "breakpoint-sass@>=2.7.0 <3.0.0", @@ -309,6 +329,11 @@ "from": "config-chain@>=1.1.8 <1.2.0", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.10.tgz" }, + "convert-source-map": { + "version": "1.2.0", + "from": "convert-source-map@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.2.0.tgz" + }, "core-util-is": { "version": "1.0.2", "from": "core-util-is@>=1.0.0 <1.1.0", @@ -425,6 +450,22 @@ "from": "duplexer2@0.0.2", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz" }, + "duplexify": { + "version": "3.4.3", + "from": "duplexify@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.4.3.tgz", + "dependencies": { + "end-of-stream": { + "version": "1.0.0", + "from": "end-of-stream@1.0.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz" + }, + "readable-stream": { + "version": "2.0.5", + "from": "readable-stream@>=2.0.0 <3.0.0" + } + } + }, "ecc-jsbn": { "version": "0.1.1", "from": "ecc-jsbn@>=0.0.1 <1.0.0", @@ -450,6 +491,11 @@ "from": "es6-iterator@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz" }, + "es6-promise": { + "version": "2.3.0", + "from": "es6-promise@>=2.3.0 <3.0.0", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz" + }, "es6-symbol": { "version": "3.0.2", "from": "es6-symbol@>=3.0.2 <4.0.0", @@ -470,11 +516,31 @@ "from": "execall@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz" }, + "expand-brackets": { + "version": "0.1.4", + "from": "expand-brackets@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.4.tgz" + }, + "expand-range": { + "version": "1.8.1", + "from": "expand-range@>=1.8.1 <2.0.0", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.1.tgz" + }, "extend": { "version": "2.0.1", "from": "extend@>=2.0.1 <3.0.0", "resolved": "https://registry.npmjs.org/extend/-/extend-2.0.1.tgz" }, + "extend-shallow": { + "version": "2.0.1", + "from": "extend-shallow@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + }, + "extglob": { + "version": "0.3.2", + "from": "extglob@>=0.3.1 <0.4.0", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz" + }, "extsprintf": { "version": "1.0.2", "from": "extsprintf@1.0.2", @@ -485,6 +551,16 @@ "from": "fancy-log@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz" }, + "filename-regex": { + "version": "2.0.0", + "from": "filename-regex@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz" + }, + "fill-range": { + "version": "2.2.3", + "from": "fill-range@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz" + }, "find-index": { "version": "0.1.1", "from": "find-index@>=0.1.1 <0.2.0", @@ -515,6 +591,16 @@ "from": "flatten@1.0.2", "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz" }, + "for-in": { + "version": "0.1.4", + "from": "for-in@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.4.tgz" + }, + "for-own": { + "version": "0.1.3", + "from": "for-own@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.3.tgz" + }, "forever-agent": { "version": "0.6.1", "from": "forever-agent@>=0.6.1 <0.7.0", @@ -555,11 +641,26 @@ "from": "get-stdin@>=4.0.1 <5.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" }, + "gift": { + "version": "0.6.1", + "from": "gift@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/gift/-/gift-0.6.1.tgz" + }, "glob": { "version": "5.0.15", "from": "glob@>=5.0.0 <5.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" }, + "glob-base": { + "version": "0.3.0", + "from": "glob-base@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz" + }, + "glob-parent": { + "version": "2.0.0", + "from": "glob-parent@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz" + }, "glob-stream": { "version": "3.1.18", "from": "glob-stream@>=3.1.5 <4.0.0", @@ -673,6 +774,60 @@ "from": "gulp-exec@>=2.1.2 <3.0.0", "resolved": "https://registry.npmjs.org/gulp-exec/-/gulp-exec-2.1.2.tgz" }, + "gulp-gh-pages": { + "version": "0.5.4", + "from": "gulp-gh-pages@latest", + "resolved": "https://registry.npmjs.org/gulp-gh-pages/-/gulp-gh-pages-0.5.4.tgz", + "dependencies": { + "extend": { + "version": "3.0.0", + "from": "extend@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + }, + "glob-stream": { + "version": "5.3.2", + "from": "glob-stream@>=5.3.2 <6.0.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.2.tgz", + "dependencies": { + "readable-stream": { + "version": "1.0.33", + "from": "readable-stream@>=1.0.33-1 <1.1.0-0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz" + }, + "through2": { + "version": "0.6.5", + "from": "through2@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" + } + } + }, + "ordered-read-streams": { + "version": "0.3.0", + "from": "ordered-read-streams@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz" + }, + "readable-stream": { + "version": "2.0.5", + "from": "readable-stream@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz" + }, + "unique-stream": { + "version": "2.2.1", + "from": "unique-stream@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz" + }, + "vinyl": { + "version": "1.1.1", + "from": "vinyl@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.1.1.tgz" + }, + "vinyl-fs": { + "version": "2.4.2", + "from": "vinyl-fs@>=2.2.1 <3.0.0", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.2.tgz" + } + } + }, "gulp-postcss": { "version": "6.1.0", "from": "gulp-postcss@>=6.1.0 <7.0.0", @@ -683,6 +838,17 @@ "from": "gulp-sass@>=2.2.0 <3.0.0", "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-2.2.0.tgz" }, + "gulp-sourcemaps": { + "version": "1.6.0", + "from": "gulp-sourcemaps@>=1.5.2 <2.0.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", + "dependencies": { + "vinyl": { + "version": "1.1.1", + "from": "vinyl@>=1.0.0 <2.0.0" + } + } + }, "gulp-util": { "version": "3.0.7", "from": "gulp-util@>=3.0.0 <4.0.0", @@ -815,6 +981,11 @@ "from": "is-arrayish@>=0.2.1 <0.3.0", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" }, + "is-buffer": { + "version": "1.1.2", + "from": "is-buffer@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.2.tgz" + }, "is-builtin-module": { "version": "1.0.0", "from": "is-builtin-module@>=1.0.0 <2.0.0", @@ -832,6 +1003,26 @@ } } }, + "is-dotfile": { + "version": "1.0.2", + "from": "is-dotfile@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz" + }, + "is-equal-shallow": { + "version": "0.1.3", + "from": "is-equal-shallow@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz" + }, + "is-extendable": { + "version": "0.1.1", + "from": "is-extendable@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + }, + "is-extglob": { + "version": "1.0.0", + "from": "is-extglob@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" + }, "is-finite": { "version": "1.0.1", "from": "is-finite@>=1.0.0 <2.0.0", @@ -842,16 +1033,31 @@ "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" }, + "is-glob": { + "version": "2.0.1", + "from": "is-glob@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz" + }, "is-my-json-valid": { "version": "2.13.1", "from": "is-my-json-valid@>=2.12.4 <3.0.0", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" }, + "is-number": { + "version": "2.1.0", + "from": "is-number@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz" + }, "is-plain-obj": { "version": "1.1.0", "from": "is-plain-obj@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" }, + "is-primitive": { + "version": "2.0.0", + "from": "is-primitive@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz" + }, "is-property": { "version": "1.0.2", "from": "is-property@>=1.0.0 <2.0.0", @@ -867,6 +1073,11 @@ "from": "is-relative@>=0.1.0 <0.2.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz" }, + "is-stream": { + "version": "1.0.1", + "from": "is-stream@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.0.1.tgz" + }, "is-supported-regexp-flag": { "version": "1.0.0", "from": "is-supported-regexp-flag@>=1.0.0 <2.0.0", @@ -887,6 +1098,11 @@ "from": "is-utf8@>=0.2.0 <0.3.0", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" }, + "is-valid-glob": { + "version": "0.3.0", + "from": "is-valid-glob@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz" + }, "isarray": { "version": "0.0.1", "from": "isarray@0.0.1", @@ -897,6 +1113,11 @@ "from": "isexe@>=1.1.1 <2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz" }, + "isobject": { + "version": "2.0.0", + "from": "isobject@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.0.0.tgz" + }, "isstream": { "version": "0.1.2", "from": "isstream@>=0.1.2 <0.2.0", @@ -927,11 +1148,21 @@ "from": "json-schema@0.2.2", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" }, + "json-stable-stringify": { + "version": "1.0.1", + "from": "json-stable-stringify@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" + }, "json-stringify-safe": { "version": "5.0.1", "from": "json-stringify-safe@>=5.0.1 <5.1.0", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" }, + "jsonify": { + "version": "0.0.0", + "from": "jsonify@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" + }, "jsonpointer": { "version": "2.0.0", "from": "jsonpointer@2.0.0", @@ -942,6 +1173,22 @@ "from": "jsprim@>=1.2.2 <2.0.0", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz" }, + "kind-of": { + "version": "3.0.2", + "from": "kind-of@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.2.tgz" + }, + "lazystream": { + "version": "1.0.0", + "from": "lazystream@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.5", + "from": "readable-stream@>=2.0.5 <3.0.0" + } + } + }, "lcid": { "version": "1.0.0", "from": "lcid@>=1.0.0 <2.0.0", @@ -1007,6 +1254,11 @@ "from": "lodash._root@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz" }, + "lodash._stack": { + "version": "4.1.1", + "from": "lodash._stack@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.1.tgz" + }, "lodash.escape": { "version": "3.2.0", "from": "lodash.escape@>=3.0.0 <4.0.0", @@ -1022,6 +1274,18 @@ "from": "lodash.isarray@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz" }, + "lodash.isequal": { + "version": "4.1.1", + "from": "lodash.isequal@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.1.1.tgz", + "dependencies": { + "lodash.keys": { + "version": "4.0.5", + "from": "lodash.keys@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.0.5.tgz" + } + } + }, "lodash.keys": { "version": "3.1.2", "from": "lodash.keys@>=3.0.0 <4.0.0", @@ -1099,6 +1363,22 @@ } } }, + "merge-stream": { + "version": "1.0.0", + "from": "merge-stream@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.0.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.5", + "from": "readable-stream@>=2.0.1 <3.0.0" + } + } + }, + "micromatch": { + "version": "2.3.7", + "from": "micromatch@>=2.3.7 <3.0.0", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.7.tgz" + }, "mime-db": { "version": "1.22.0", "from": "mime-db@>=1.22.0 <1.23.0", @@ -1188,6 +1468,11 @@ "from": "normalize-package-data@>=2.3.4 <3.0.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz" }, + "normalize-path": { + "version": "2.0.1", + "from": "normalize-path@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz" + }, "normalize-range": { "version": "0.1.2", "from": "normalize-range@>=0.1.2 <0.2.0", @@ -2497,6 +2782,11 @@ "from": "object-assign@>=4.0.1 <5.0.0", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.0.1.tgz" }, + "object.omit": { + "version": "2.0.0", + "from": "object.omit@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.0.tgz" + }, "once": { "version": "1.3.3", "from": "once@>=1.3.0 <2.0.0", @@ -2537,6 +2827,11 @@ "from": "osenv@>=0.0.0 <1.0.0", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz" }, + "parse-glob": { + "version": "3.0.4", + "from": "parse-glob@>=3.0.4 <4.0.0", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz" + }, "parse-json": { "version": "2.2.0", "from": "parse-json@>=2.2.0 <3.0.0", @@ -2739,6 +3034,11 @@ "from": "prepend-http@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.3.tgz" }, + "preserve": { + "version": "0.2.0", + "from": "preserve@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz" + }, "pretty-hrtime": { "version": "1.0.2", "from": "pretty-hrtime@>=1.0.0 <2.0.0", @@ -2774,6 +3074,11 @@ "from": "query-string@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/query-string/-/query-string-3.0.1.tgz" }, + "randomatic": { + "version": "1.1.5", + "from": "randomatic@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.5.tgz" + }, "read-pkg": { "version": "1.1.0", "from": "read-pkg@>=1.0.0 <2.0.0", @@ -2809,6 +3114,21 @@ "from": "reduce-function-call@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.1.tgz" }, + "regex-cache": { + "version": "0.4.2", + "from": "regex-cache@>=0.4.2 <0.5.0", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.2.tgz" + }, + "repeat-element": { + "version": "1.1.2", + "from": "repeat-element@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz" + }, + "repeat-string": { + "version": "1.5.4", + "from": "repeat-string@>=1.5.2 <2.0.0", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz" + }, "repeating": { "version": "2.0.0", "from": "repeating@>=2.0.0 <3.0.0", @@ -2990,6 +3310,11 @@ "from": "strip-bom@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" }, + "strip-bom-stream": { + "version": "1.0.0", + "from": "strip-bom-stream@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz" + }, "strip-indent": { "version": "1.0.1", "from": "strip-indent@>=1.0.1 <2.0.0", @@ -3056,6 +3381,11 @@ } } }, + "through2-filter": { + "version": "2.0.0", + "from": "through2-filter@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz" + }, "tildify": { "version": "1.1.2", "from": "tildify@>=1.0.0 <2.0.0", @@ -3066,6 +3396,11 @@ "from": "time-stamp@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.0.tgz" }, + "to-absolute-glob": { + "version": "0.1.1", + "from": "to-absolute-glob@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz" + }, "tough-cookie": { "version": "2.2.1", "from": "tough-cookie@>=2.2.0 <2.3.0", @@ -3096,6 +3431,11 @@ "from": "uid-number@0.0.5", "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz" }, + "underscore": { + "version": "1.8.3", + "from": "underscore@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz" + }, "uniq": { "version": "1.0.1", "from": "uniq@>=1.0.1 <2.0.0", @@ -3131,6 +3471,11 @@ "from": "v8flags@>=2.0.2 <3.0.0", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.0.11.tgz" }, + "vali-date": { + "version": "1.0.0", + "from": "vali-date@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz" + }, "validate-npm-package-license": { "version": "3.0.1", "from": "validate-npm-package-license@>=3.0.1 <4.0.0", @@ -3208,6 +3553,11 @@ "from": "wrap-ansi@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-1.0.0.tgz" }, + "wrap-promise": { + "version": "1.0.1", + "from": "wrap-promise@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/wrap-promise/-/wrap-promise-1.0.1.tgz" + }, "wrappy": { "version": "1.0.1", "from": "wrappy@>=1.0.0 <2.0.0", diff --git a/package.json b/package.json index 29a37bf..452527a 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "cssnano": "^3.5.2", "gulp": "^3.9.1", "gulp-exec": "^2.1.2", + "gulp-gh-pages": "^0.5.4", "gulp-postcss": "^6.1.0", "gulp-sass": "^2.2.0", "install": "^0.5.4", From 9e434c6a0fbe011dfd15a1d01583571a0b77f37b Mon Sep 17 00:00:00 2001 From: palantir-team Date: Fri, 4 Mar 2016 11:31:14 -0600 Subject: [PATCH 17/22] set the styleguide as a template --- .gitignore | 7 ++++--- .../app}/config/sculpin_kernel.yml | 0 .../app}/config/sculpin_site.yml | 0 .../source}/code/_views/component.html | 0 .../source}/code/_views/default.html | 0 .../source}/code/_views/element.html | 0 .../source}/code/_views/styleguide.html | 0 .../source}/code/css/styles.css | 0 .../source}/code/imgs/README.md | 0 .../source}/code/imgs/fpo-16x9.jpg | Bin .../source}/code/sass/_init.scss | 0 .../source}/code/sass/_mixins.scss | 0 .../source}/code/sass/_normalize.scss | 0 .../source}/code/sass/_print.scss | 0 .../source}/code/sass/components/README.md | 0 .../source}/code/sass/layouts/_l-1up.scss | 0 .../source}/code/sass/layouts/_l-2up.scss | 0 .../source}/code/sass/layouts/_l-33-66.scss | 0 .../source}/code/sass/layouts/_l-3up.scss | 0 .../source}/code/sass/layouts/_l-4up.scss | 0 .../source}/code/sass/layouts/_l-66-33.scss | 0 .../source}/code/sass/layouts/_l-6up.scss | 0 .../code/sass/layouts/_l-zen-grids-base.scss | 0 .../source}/code/sass/styleguide/_styleguide.scss | 0 .../source}/code/sass/styles.scss | 0 {source => STYLEGUIDE_TEMPLATE/source}/index.html | 0 .../source}/styleguide/component-template.html | 0 .../source}/styleguide/element-color-palette.html | 0 .../source}/styleguide/element-form-elements.html | 0 .../source}/styleguide/element-grid.html | 0 .../source}/styleguide/element-typography.html | 0 config/paths.js | 8 ++++---- 32 files changed, 8 insertions(+), 7 deletions(-) rename {app => STYLEGUIDE_TEMPLATE/app}/config/sculpin_kernel.yml (100%) rename {app => STYLEGUIDE_TEMPLATE/app}/config/sculpin_site.yml (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/_views/component.html (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/_views/default.html (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/_views/element.html (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/_views/styleguide.html (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/css/styles.css (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/imgs/README.md (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/imgs/fpo-16x9.jpg (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/_init.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/_mixins.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/_normalize.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/_print.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/components/README.md (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/layouts/_l-1up.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/layouts/_l-2up.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/layouts/_l-33-66.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/layouts/_l-3up.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/layouts/_l-4up.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/layouts/_l-66-33.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/layouts/_l-6up.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/layouts/_l-zen-grids-base.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/styleguide/_styleguide.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/code/sass/styles.scss (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/index.html (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/styleguide/component-template.html (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/styleguide/element-color-palette.html (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/styleguide/element-form-elements.html (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/styleguide/element-grid.html (100%) rename {source => STYLEGUIDE_TEMPLATE/source}/styleguide/element-typography.html (100%) diff --git a/.gitignore b/.gitignore index 80d8a16..349e3a9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ Rakefile .DS_Store .sass-cache/ _site/ -output_dev/ -output_prod/ -node_modules/ \ No newline at end of file +STYLEGUIDE_TEMPLATE/output_dev/ +STYLEGUIDE_TEMPLATE/output_prod/ +node_modules/ +.idea/ \ No newline at end of file diff --git a/app/config/sculpin_kernel.yml b/STYLEGUIDE_TEMPLATE/app/config/sculpin_kernel.yml similarity index 100% rename from app/config/sculpin_kernel.yml rename to STYLEGUIDE_TEMPLATE/app/config/sculpin_kernel.yml diff --git a/app/config/sculpin_site.yml b/STYLEGUIDE_TEMPLATE/app/config/sculpin_site.yml similarity index 100% rename from app/config/sculpin_site.yml rename to STYLEGUIDE_TEMPLATE/app/config/sculpin_site.yml diff --git a/source/code/_views/component.html b/STYLEGUIDE_TEMPLATE/source/code/_views/component.html similarity index 100% rename from source/code/_views/component.html rename to STYLEGUIDE_TEMPLATE/source/code/_views/component.html diff --git a/source/code/_views/default.html b/STYLEGUIDE_TEMPLATE/source/code/_views/default.html similarity index 100% rename from source/code/_views/default.html rename to STYLEGUIDE_TEMPLATE/source/code/_views/default.html diff --git a/source/code/_views/element.html b/STYLEGUIDE_TEMPLATE/source/code/_views/element.html similarity index 100% rename from source/code/_views/element.html rename to STYLEGUIDE_TEMPLATE/source/code/_views/element.html diff --git a/source/code/_views/styleguide.html b/STYLEGUIDE_TEMPLATE/source/code/_views/styleguide.html similarity index 100% rename from source/code/_views/styleguide.html rename to STYLEGUIDE_TEMPLATE/source/code/_views/styleguide.html diff --git a/source/code/css/styles.css b/STYLEGUIDE_TEMPLATE/source/code/css/styles.css similarity index 100% rename from source/code/css/styles.css rename to STYLEGUIDE_TEMPLATE/source/code/css/styles.css diff --git a/source/code/imgs/README.md b/STYLEGUIDE_TEMPLATE/source/code/imgs/README.md similarity index 100% rename from source/code/imgs/README.md rename to STYLEGUIDE_TEMPLATE/source/code/imgs/README.md diff --git a/source/code/imgs/fpo-16x9.jpg b/STYLEGUIDE_TEMPLATE/source/code/imgs/fpo-16x9.jpg similarity index 100% rename from source/code/imgs/fpo-16x9.jpg rename to STYLEGUIDE_TEMPLATE/source/code/imgs/fpo-16x9.jpg diff --git a/source/code/sass/_init.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/_init.scss similarity index 100% rename from source/code/sass/_init.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/_init.scss diff --git a/source/code/sass/_mixins.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/_mixins.scss similarity index 100% rename from source/code/sass/_mixins.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/_mixins.scss diff --git a/source/code/sass/_normalize.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/_normalize.scss similarity index 100% rename from source/code/sass/_normalize.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/_normalize.scss diff --git a/source/code/sass/_print.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/_print.scss similarity index 100% rename from source/code/sass/_print.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/_print.scss diff --git a/source/code/sass/components/README.md b/STYLEGUIDE_TEMPLATE/source/code/sass/components/README.md similarity index 100% rename from source/code/sass/components/README.md rename to STYLEGUIDE_TEMPLATE/source/code/sass/components/README.md diff --git a/source/code/sass/layouts/_l-1up.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-1up.scss similarity index 100% rename from source/code/sass/layouts/_l-1up.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-1up.scss diff --git a/source/code/sass/layouts/_l-2up.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-2up.scss similarity index 100% rename from source/code/sass/layouts/_l-2up.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-2up.scss diff --git a/source/code/sass/layouts/_l-33-66.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-33-66.scss similarity index 100% rename from source/code/sass/layouts/_l-33-66.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-33-66.scss diff --git a/source/code/sass/layouts/_l-3up.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-3up.scss similarity index 100% rename from source/code/sass/layouts/_l-3up.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-3up.scss diff --git a/source/code/sass/layouts/_l-4up.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-4up.scss similarity index 100% rename from source/code/sass/layouts/_l-4up.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-4up.scss diff --git a/source/code/sass/layouts/_l-66-33.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-66-33.scss similarity index 100% rename from source/code/sass/layouts/_l-66-33.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-66-33.scss diff --git a/source/code/sass/layouts/_l-6up.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-6up.scss similarity index 100% rename from source/code/sass/layouts/_l-6up.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-6up.scss diff --git a/source/code/sass/layouts/_l-zen-grids-base.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-zen-grids-base.scss similarity index 100% rename from source/code/sass/layouts/_l-zen-grids-base.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/layouts/_l-zen-grids-base.scss diff --git a/source/code/sass/styleguide/_styleguide.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/styleguide/_styleguide.scss similarity index 100% rename from source/code/sass/styleguide/_styleguide.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/styleguide/_styleguide.scss diff --git a/source/code/sass/styles.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/styles.scss similarity index 100% rename from source/code/sass/styles.scss rename to STYLEGUIDE_TEMPLATE/source/code/sass/styles.scss diff --git a/source/index.html b/STYLEGUIDE_TEMPLATE/source/index.html similarity index 100% rename from source/index.html rename to STYLEGUIDE_TEMPLATE/source/index.html diff --git a/source/styleguide/component-template.html b/STYLEGUIDE_TEMPLATE/source/styleguide/component-template.html similarity index 100% rename from source/styleguide/component-template.html rename to STYLEGUIDE_TEMPLATE/source/styleguide/component-template.html diff --git a/source/styleguide/element-color-palette.html b/STYLEGUIDE_TEMPLATE/source/styleguide/element-color-palette.html similarity index 100% rename from source/styleguide/element-color-palette.html rename to STYLEGUIDE_TEMPLATE/source/styleguide/element-color-palette.html diff --git a/source/styleguide/element-form-elements.html b/STYLEGUIDE_TEMPLATE/source/styleguide/element-form-elements.html similarity index 100% rename from source/styleguide/element-form-elements.html rename to STYLEGUIDE_TEMPLATE/source/styleguide/element-form-elements.html diff --git a/source/styleguide/element-grid.html b/STYLEGUIDE_TEMPLATE/source/styleguide/element-grid.html similarity index 100% rename from source/styleguide/element-grid.html rename to STYLEGUIDE_TEMPLATE/source/styleguide/element-grid.html diff --git a/source/styleguide/element-typography.html b/STYLEGUIDE_TEMPLATE/source/styleguide/element-typography.html similarity index 100% rename from source/styleguide/element-typography.html rename to STYLEGUIDE_TEMPLATE/source/styleguide/element-typography.html diff --git a/config/paths.js b/config/paths.js index 273fcb2..129a57f 100644 --- a/config/paths.js +++ b/config/paths.js @@ -4,13 +4,13 @@ var paths = {}; // location of the .scss files -paths.scss = ['source/code/sass/*.scss', 'source/code/sass/**/*.scss']; +paths.scss = ['STYLEGUIDE_TEMPLATE/source/code/sass/*.scss', 'STYLEGUIDE_TEMPLATE/source/code/sass/**/*.scss']; // location of the compiled CSS -paths.css = 'source/code/css/'; +paths.css = 'STYLEGUIDE_TEMPLATE/source/code/css/'; // location of the sculpin project root -paths.sculpin = '/'; +paths.sculpin = 'STYLEGUIDE_TEMPLATE//'; // location of the compiled output -paths.output = 'output_dev'; +paths.output = 'STYLEGUIDE_TEMPLATE/output_dev'; // location of the remote repository paths.repo = 'https://github.com/palantirnet/butler.git'; // location of the stylelint config From 2116e396d7d35aa1d0a9b0f6720e27828915c161 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Fri, 4 Mar 2016 15:37:55 -0600 Subject: [PATCH 18/22] remove deploy message customization for now --- config/options.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/config/options.js b/config/options.js index 4dfbf1d..32a80ee 100644 --- a/config/options.js +++ b/config/options.js @@ -11,13 +11,12 @@ options.autoprefixer = { browsers: ['last 2 versions', '> 5%'] }; options.stylelint = { configFile: paths.stylelint }; // Deploy message -options.message = { 'Updated with Butler - [timestamp]' }; +// options.message = { "Updated with Butler - [timestamp]" }; // Deploy options // point to the correct repo & include deploy message options.deploy = { - remoteUrl: paths.repo, - message: options.message + remoteUrl: paths.repo }; module.exports = options; \ No newline at end of file From 72cdc53e192e23c18aba4987c2aec477a48236a4 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Fri, 4 Mar 2016 16:00:03 -0600 Subject: [PATCH 19/22] one config file --- Gulpfile.js | 34 +++++++++++++++------------------- README.md | 7 ++++++- config/butler.defaults.js | 33 +++++++++++++++++++++++++++++++++ config/options.js | 22 ---------------------- config/paths.js | 19 ------------------- 5 files changed, 54 insertions(+), 61 deletions(-) create mode 100644 config/butler.defaults.js delete mode 100644 config/options.js delete mode 100644 config/paths.js diff --git a/Gulpfile.js b/Gulpfile.js index 3997a76..64a5aaa 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -10,18 +10,14 @@ var syntax_scss = require('postcss-scss'); var stylelint = require('stylelint'); var deploy = require('gulp-gh-pages'); -// Fetch paths from config -var paths = require('./config/paths.js'); - -// Fetch options from config -var options = require('./config/options.js'); - +// Fetch config +var defaults = require('./config/butler.defaults.js'); // Just run linters gulp.task('lint', function() { - return gulp.src(paths.scss) + return gulp.src(defaults.scss) .pipe(postcss([ - stylelint(options.stylelint), + stylelint(defaults.stylelint), reporter({ clearMessages: true }) ], {syntax: syntax_scss})) }); @@ -30,27 +26,27 @@ gulp.task('lint', function() { gulp.task('sass', function() { // Set what postcss plugins need to be run var processors = [ - autoprefixer(options.autoprefixer), + autoprefixer(defaults.autoprefixer), cssnano ]; - // Run on all file paths defined in var scsss - return gulp.src(paths.scss) + // Run on all file defaults defined in var scsss + return gulp.src(defaults.scss) // Run Sass on those files .pipe(postcss([ - stylelint(stylelintConfig), + stylelint(defaults.stylelint), reporter({ clearMessages: true }) ], {syntax: syntax_scss})) .pipe(sass().on('error',sass.logError)) // Run postcss plugin functions .pipe(postcss(processors)) // Put the CSS in the destination dir - .pipe(gulp.dest(paths.css)); + .pipe(gulp.dest(defaults.css)); }); // Sculpin Development gulp.task('sculpin', function () { - gulp.src(paths.sculpin) + gulp.src(defaults.sculpin) // Run the command line commands to watch sculpin .pipe(exec('sculpin generate --watch --server')); }); @@ -58,9 +54,9 @@ gulp.task('sculpin', function () { // Watch for Changes gulp.task('watch', function() { return gulp - // Watch the scss folder for change - // and run `compile-sass` task when something happens - .watch(paths.scss, ['sass']) + // Watch the scss folder for change + // and run `compile-sass` task when something happens + .watch(defaults.scss, ['sass']) // When there is a change // log a message in the console .on('change', function (event) { @@ -76,8 +72,8 @@ gulp.task('test', ['lint']); // Set a deploy task gulp.task('deploy', function() { - return gulp.src(paths.output) - .pipe(deploy(options.deploy)); + return gulp.src(defaults.output) + .pipe(deploy(defaults.deploy)); }); diff --git a/README.md b/README.md index 81f1af2..2f2a2f5 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,12 @@ The beginnings of a Sculpin based style guide creation tool. 1. NodeJS 1. [Sculpin](https://sculpin.io/getstarted/) -## Getting Started +## Add Butler to a project +1. If the project does not already have npm dependencies run `npm init` to create a `package.json` file + +1. Add Butler as a dependency by running `npm install --save git://github.com/palantirnet/butler.git#remove-ruby` + +## Getting Started with Butler 1. From inside the Butler root, run `npm install -g gulp` This will install Gulp globally. diff --git a/config/butler.defaults.js b/config/butler.defaults.js new file mode 100644 index 0000000..2d06b1a --- /dev/null +++ b/config/butler.defaults.js @@ -0,0 +1,33 @@ +// Define Butler default configuration + +var defaults = {}; + +// location of the .scss files +defaults.scss = ['STYLEGUIDE_TEMPLATE/source/code/sass/*.scss', 'STYLEGUIDE_TEMPLATE/source/code/sass/**/*.scss']; +// location of the compiled CSS +defaults.css = 'STYLEGUIDE_TEMPLATE/source/code/css/'; +// location of the sculpin project root +defaults.sculpin = 'STYLEGUIDE_TEMPLATE//'; +// location of the compiled output +defaults.output = 'STYLEGUIDE_TEMPLATE/output_dev'; +// location of the remote repository +defaults.repo = 'https://github.com/palantirnet/butler.git'; + +// Autoprefixer defaults +// Support 2 most recent browser versions and anything with more than 5% support +defaults.autoprefixer = { browsers: ['last 2 versions', '> 5%'] }; + +// Stylelint defaults +// point to the configuration file +defaults.stylelint = { configFile: 'config/linters/stylelint.config.json' }; + +// Deploy message +// defaults.message = { 'Updated with Butler - [timestamp]' }; + +// Deploy defaults +// point to the correct repo & include deploy message +defaults.deploy = { + remoteUrl: defaults.repo +}; + +module.exports = defaults; \ No newline at end of file diff --git a/config/options.js b/config/options.js deleted file mode 100644 index 32a80ee..0000000 --- a/config/options.js +++ /dev/null @@ -1,22 +0,0 @@ -// Define Butler options - -var options = {}; - -// Autoprefixer options -// Support 2 most recent browser versions and anything with more than 5% support -options.autoprefixer = { browsers: ['last 2 versions', '> 5%'] }; - -// Stylelint options -// point to the configuration file -options.stylelint = { configFile: paths.stylelint }; - -// Deploy message -// options.message = { "Updated with Butler - [timestamp]" }; - -// Deploy options -// point to the correct repo & include deploy message -options.deploy = { - remoteUrl: paths.repo -}; - -module.exports = options; \ No newline at end of file diff --git a/config/paths.js b/config/paths.js deleted file mode 100644 index 129a57f..0000000 --- a/config/paths.js +++ /dev/null @@ -1,19 +0,0 @@ -// Define Butler path variables -// NOTE: these paths are relative to the gulpfile - -var paths = {}; - -// location of the .scss files -paths.scss = ['STYLEGUIDE_TEMPLATE/source/code/sass/*.scss', 'STYLEGUIDE_TEMPLATE/source/code/sass/**/*.scss']; -// location of the compiled CSS -paths.css = 'STYLEGUIDE_TEMPLATE/source/code/css/'; -// location of the sculpin project root -paths.sculpin = 'STYLEGUIDE_TEMPLATE//'; -// location of the compiled output -paths.output = 'STYLEGUIDE_TEMPLATE/output_dev'; -// location of the remote repository -paths.repo = 'https://github.com/palantirnet/butler.git'; -// location of the stylelint config -paths.stylelint = 'config/linters/stylelint.config.json'; - -module.exports = paths; \ No newline at end of file From d729690e6a5e3743bb3f12b6d472651a7e54a4d7 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Fri, 4 Mar 2016 16:56:19 -0600 Subject: [PATCH 20/22] update zen grids and breakpoint path --- STYLEGUIDE_TEMPLATE/source/code/sass/_init.scss | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/STYLEGUIDE_TEMPLATE/source/code/sass/_init.scss b/STYLEGUIDE_TEMPLATE/source/code/sass/_init.scss index 438b0cf..f1bf1ca 100644 --- a/STYLEGUIDE_TEMPLATE/source/code/sass/_init.scss +++ b/STYLEGUIDE_TEMPLATE/source/code/sass/_init.scss @@ -175,12 +175,12 @@ $easing: ease-out; // ============================================================================= // Add the Zen Grids responsive layout mixins. -@import "../../../node_modules/zen-grids/sass/zen-grids"; -@import "../../../node_modules/zen-grids/sass/zen-grids/functions"; -@import "../../../node_modules/zen-grids/sass/zen-grids/background"; -@import "../../../node_modules/zen-grids/sass/zen-grids/flow"; +@import "../../../../node_modules/zen-grids/sass/zen-grids"; +@import "../../../../node_modules/zen-grids/sass/zen-grids/functions"; +@import "../../../../node_modules/zen-grids/sass/zen-grids/background"; +@import "../../../../node_modules/zen-grids/sass/zen-grids/flow"; // Add the Breakpoint mixin. -@import "../../../node_modules/breakpoint-sass/stylesheets/breakpoint"; +@import "../../../../node_modules/breakpoint-sass/stylesheets/breakpoint"; // Now we add our custom helper mixins. @import "mixins"; From 2123a5da52f6ce77b2fab8ea7d296228e5f218b0 Mon Sep 17 00:00:00 2001 From: gleroux02 Date: Fri, 18 Mar 2016 16:13:31 +0000 Subject: [PATCH 21/22] BUTLER-2 #time 10m: allow sculpin to run in a different directory. --- Gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gulpfile.js b/Gulpfile.js index 64a5aaa..ee24393 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -48,7 +48,7 @@ gulp.task('sass', function() { gulp.task('sculpin', function () { gulp.src(defaults.sculpin) // Run the command line commands to watch sculpin - .pipe(exec('sculpin generate --watch --server')); + .pipe(exec('sculpin generate --watch --server --project-dir="' + defaults.sculpin + '"')); }); // Watch for Changes From 79b94a879f3fb1a2b87369201e8724b84741cc30 Mon Sep 17 00:00:00 2001 From: palantir-team Date: Sun, 27 Mar 2016 16:41:41 -0500 Subject: [PATCH 22/22] add butler commands and update readme instructions --- README.md | 18 +++++++----------- package.json | 11 ++++++++--- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 2f2a2f5..8cfce9d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Butler -The beginnings of a Sculpin based style guide creation tool. +The beginnings of a Sculpin-based style guide creation tool. ## Dependencies 1. NodeJS @@ -11,28 +11,24 @@ The beginnings of a Sculpin based style guide creation tool. 1. Add Butler as a dependency by running `npm install --save git://github.com/palantirnet/butler.git#remove-ruby` ## Getting Started with Butler -1. From inside the Butler root, run `npm install -g gulp` +1. From inside the Butler root, run `npm install` - This will install Gulp globally. + This will install all of the npm dependencies for Butler. _some commands may require being run as `sudo`_ -1. run `npm install` - - This will install all of the npm dependencies for Butler. - -1. Run `gulp` or `gulp develop` and begin developing normally +1. Run `npm run butler` and begin developing normally ## What does this Butler do -* `gulp develop`/`gulp` +* `npm run butler` This is the default task. This will watch your sass/sculpin files for changes and compile/build accordingly. It will also flag any sass linting errors before compiling. It will output CSS that has been been minified and optimized. -* `gulp test` +* `npm run linting` This is the testing task it will run linters as their own tasks. To learn more about configuring and customizing the linters for Butler check the [linters documentation](/docs/LINTERS.md). -* `gulp deploy` +* `npm run deploy` This is a task to deploy the static styleguide to GitHub pages. It will deploy to `gh-pages` branch of the repo defined in the `config/paths.js`. Each commit for this process will default to the message: "Updated with Butler - [timestamp]". diff --git a/package.json b/package.json index 452527a..69a689f 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,12 @@ { - "name": "butler", - "version": "1.0.0", + "name": "@palantirnet/butler", + "version": "2.0.0", "description": "This is a stater-kit for Palantir.net style guide", "main": "Gulpfile.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "butler": "gulp develop", + "linting": "gulp test", + "deploy": "gulp deploy" }, "repository": { "type": "git", @@ -15,6 +17,9 @@ "bugs": { "url": "https://github.com/palantirnet/butler/issues" }, + "bin": { + "butler": "./bin/butler" + }, "homepage": "https://github.com/palantirnet/butler#readme", "dependencies": { "autoprefixer": "^6.3.3",