- CSS Autoprefixing
- Built-in preview server with BrowserSync
- Compile Sass with libsass
- Documentation with sassdoc
Keep in mind that libsass is feature-wise not fully compatible with Ruby Sass. Check out this curated list of incompatibilities to find out which features are missing.
- Clone this repo!
- Install dependencies:
npm install
- Run
npm run serve
to preview and watch for changes - Run
npm run build
to build your sass for production
The project structure is based on the Sass 7-1 Pattern. Checkout sass guidlines for a detailed overview. The key difference in this structure is that we've given variables their own directory. Managing variables in a large project can get pretty crazy so to make things easier to maintain, we separate them by type.
Project Root/
β
βββ build/
β βββ css/
β β βββ main.css
β β βββ print.css
βββ src/
β βββ sass/
β βββ base/
β β βββ _all.scss
β β βββ _fonts.scss
β β βββ _iconograpy.scss
β β βββ _typography.scss
β β
β βββ components/
β β βββ _all.scss
β β βββ _buttons.scss
β β
β βββ layout/
β β βββ _all.scss
β β βββ _footer.scss
β β βββ _grid.scss
β β βββ _header.scss
β β βββ _navigation.scss
β β
β βββ pages/
β β βββ _all.scss
β β βββ _home.scss
β β
β βββ themes/
β β βββ _all.scss
β β βββ _default.scss
β β
β βββ utils/
β β βββ _all.scss
β β βββ _functions.scss
β β βββ _helpers.scss
β β βββ _mixins.scss
β β
β βββ variables/
β β βββ _all.scss
β β βββ _breakpoints.scss
β β βββ _colors.scss
β β
β βββ vendor/
β β βββ _all.scss
β β
β β
β βββ main.scss
β βββ print.scss
β
βββ docs/
β
βββ node_modules/
β
βββ .editorconfig
βββ .gitignore
βββ package.json
βββ README.md
##TODO
- SCSS Linting
- Source Maps for Development