

Sass utility framework for rapid stylesheet development
- No style declarations
- Stylesheet configuration
- Responsive property declarations
- Helper mixins
- Development utilities
Documentation source is available in the docs/
folder.
Installation
To get started, add Scarab as a dev-dependency in your project via npm:
npm install scarab-scss --save-dev
Import scarab-scss
at the beginning of your stylesheet:
@import 'path/to/node_modules/scarab-scss/scarab';
Features
No style declarations
Scarab is a utility framework, not a UI library. Importing scarab-scss
outputs zero CSS.
Stylesheet configuration
Importing scarab.scss
creates a new global variable, $SCARAB
in your Sass project. This is where your stylesheet configuration is stored.
To configure variables in your stylesheet, use the set()
mixin:
@include set(breakpoints, (
small: 600px,
medium: 900px,
large: 1300px
));
@include set(breakpoints, medium, 1024px);
@include set(breakpoints, huge, 1600px);
For more examples of configuration, have a look at the #configuration
section in the docs.
Responsive property declarations
Declare responsive properties with the responsive()
mixin. This allows you to easily manage the appearance of responsive components, and reduce media query clutter in your stylesheet.
.button {
@include responsive((padding-left, padding-right), (
base: 14px,
medium: 18px,
large: 22px
));
}
.button {
padding-left: 14px;
padding-right: 14px;
}
@media (min-width: 1024px) {
.button {
padding-left: 18px;
padding-right: 18px;
}
}
@media (min-width: 1300px) {
.button {
padding-left: 22px;
padding-right: 22px;
}
}
Helper mixins
Scarab provides a bunch of helper mixins like type-scale()
and query()
.
Development utilities
The baseline-grid()
and element-overlay()
mixins overlay visual guides over the DOM. These help when debugging layout and trying to achieve a consistent vertical rythmn.
Resources
- scarab-carapace — Highly configurable framework for generating functional CSS classes
- scarab-styleguide — Generate automatic styleguides from scarab-carapace configuration
- scarab-cli — Command-Line Interface for the Scarab Sass ecosystem
- scarab-snippets — Sublime Text snippets for the Scarab Sass utility framework