Giter Site home page Giter Site logo

sass-material-colors's Introduction

Sass Material Colors GitHub version

An easy way to use Google's Material Design color palette on your Sass project.

Gem Version Bower version npm version

Installation

Sass Material Colors can be included as a Ruby Gem, a Bower component, or a Node Packaged Module (npm).

Ruby Gem

Add this line to your application's Gemfile:

$ gem 'sass-material-colors'

And then execute:

$ bundle

Or install it yourself as:

$ gem install sass-material-colors

Bower Component

Install sass-material-colors as a development dependency:

$ bower install --save-dev sass-material-colors

Node Packaged Module (npm)

Install sass-material-colors as a development dependency:

$ npm install --save-dev sass-material-colors

Usage

Import the colors map + function to your project:

// Sass
@import 'sass-material-colors'

If you're using Bower or npm, you may need to use the relative path to the main file, e.g.:

// Sass

// Bower
@import 'bower_components/sass-material-colors/sass/sass-material-colors'

// npm
@import 'node_modules/sass-material-colors/sass/sass-material-colors'

By importing this file, a $material-colors Sass map will be added to your Sass project, with all the colors from Google's palette, as well as a material-color function, making it easy for you to reference any color in the spec from your stylesheets.

Optionally, you can import a list of placeholder selectors and/or classes.

The material-color Function

The material-color function allows you to easily reference any color in the _sass-material-colors-map.scss file in your styles:

// Sass
.my-cool-element
  color: material-color('cyan', '400')
  background: material-color('blue-grey', '600')

The material-color function takes 2 parameters:

$color-name String (quoted), Required

Lower-case, dasherized color name from Google's palette (e.g. 'pink', 'amber', 'blue-grey', 'deep-orange', etc.)

$color-variant String (quoted), Optional [Default value: 500]

Lower-case color variant number/code from Google's palette (e.g. '300', '200', 'a100', 'a400', etc.)

It's important for these parameters to be quoted strings, in order to maintain compatibility with Libsass.

Predefined Sass Placeholder Selectors

You can include a list of extendable Sass placeholder selectors in your project by importing the sass-material-colors-placeholders file into your Sass/Scss:

// Sass
@import 'sass-material-colors-placeholders'

This will add a %color-... and %bg-color-... placeholder selector for each color name and variant found in Google's palette to your project, which you can then extend in your stylesheets like so:

// Sass
.my-cool-element
  @extend %color-cyan-400
  @extend %bg-color-blue-grey-600

Predefined Classes

You can include a list of predefined classes in your project by importing the sass-material-colors-classes file into your Sass/Scss:

// Sass
@import 'sass-material-colors-classes'

This will add a .color-... and .bg-color-... class for each color name and variant found in Google's palette to your stylesheets, which you can then use directly in your markup like so:

<!-- HTML -->
<div class='my-cool-element color-cyan-400 bg-color-blue-grey-600'></div>

TO-DO

  • Make it bower friendly
  • Make it npm friendly
  • Create ember-cli addon
  • Pre-compile -placeholders and -classes files
  • Separate color (text) and background classes
  • Add tests
  • Add changelog

Contributing

See CONTRIBUTING.

License

See LICENSE.

Special Thanks

To nilskaspersson/Google-Material-UI-Color-Palette for the inspiration on using a Sass map for the colors, and a map function to retrieve them.

To twbs/bootstrap-sass as a reference for this gem.

And to Google for their Material Design spec.

sass-material-colors's People

Contributors

minusfive avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

sass-material-colors's Issues

How to use in a webpack env

Hi,

I've installed it via npm and trying to use this package in my scss files in the following way:

@import '../../node_modules/sass-material-colors/sass/sass-material-colors';

which work in dev env but when I ran npm run build got the following error:

ERROR in ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js!./public/styles/Shift.scss
Module build failed:
@import '/node_modules/sass-material-colors/sass/sass-material-colors';
^
File to import not found or unreadable: /node_modules/sass-material-colors/sass/sass-material-colors.

Can you please recommend best practice?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.