Update and document CSS structure

Looking at ITCSS, it appears the last level should be `utilities`. Since that's a name that has no negative connotations, let's use that instead. Also add a README documenting each folder's use.
This commit is contained in:
Kelly Dwan 2019-10-02 10:57:31 -04:00 committed by GitHub
parent c8211bf6a0
commit ef8c78f4f3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 45 additions and 1 deletions

View file

@ -4,7 +4,7 @@ module.exports = function( grunt ) {
const getSassFiles = () => { const getSassFiles = () => {
const files = {}; const files = {};
const paths = [ 'settings', 'tools', 'generic', 'base', 'objects', 'components', 'trumps' ]; const paths = [ 'settings', 'tools', 'generic', 'base', 'objects', 'components', 'utilities' ];
paths.forEach( function( component ) { paths.forEach( function( component ) {
var paths = [ var paths = [

View file

@ -0,0 +1,44 @@
# CSS Structure
This loosely follows [ITCSS.](https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/)
## 01 Settings
Typography, colors, any spacing variables, etc should be set here.
## 02 Tools
This contains any mixins. We inherit the following libraries:
- breakpoint
- kube
- modular-scale
## 03 Generic
Any generic styles. Used for normalize & reset styles. We inherit:
- kube
- normalize
## 04 Base (aka Elements)
Styles for plain html elements. We inherit the base theme's styling here.
## 05 Objects
These are pieces of UI. These should be self-contained (or nested so that they are self-contained). Blocks should
be defined here.
## 06 Components
This section puts together the base and objects to create pages. Page-specific styles are defined here.
## 07 Utilities
The `is-*`/`has-*` classes, these custom classes override previous styles. For example, `has-background` would be
defined here. This is where block styles should live.
# Editor Styles
Editor styles will use a custom import of a subset of the above folders, TBD?