Sass-Themify
Sass-Themify is a sass library that comes with a set of mixins and functions to help you easily manage multiple color(or variable) themes.
Usage
main.scss
;; //define a theme map ;//call initialize mixin with the theme-map variable
Then in your other scss component file:
box.scss
#box //all color related styling goes below within the sass-themify mixin ( you can even put this in a seperate file if you like ) #box};
Now everytime you append a theme name to body's class, ie.
...
sass-themify-get-color
will get the corresponding variable name fed into the function from $theme-map
.
Here's a demo on CodePen: Codepen Demo
It's that simple!
The advantages in managing your themes this way is that you are able to seperate out color styling code into seperate components while having a single point of management for your color schemes in a hash/map-like format.
Setup and Installation
The simplest way is to just clone the repo and include sass-themify.scss
as a partial from your main scss file.
NPM
npm install sass-themify
Webpack Config
usage with webpack and sass-loader
var path = ; ... module: rules: ... test:/\.$/ use: loader: "style-loader" loader: "css-loader" loader: "sass-loader" options: includePaths: path ...
then you should be able to just do
in your scss file
a full working example is in the test folder
If you like it please support me by giving me a star!