Spaces:
Running
Running
| # Flask | |
| [](https://travis-ci.org/jaradlight/flask) | |
| Helper files for fonts and colours in Sass projects. | |
| ## Installation | |
| Install from your preferred package manager: | |
| - **NPM**: `npm install flask` | |
| - **Bower**: `bower install flask` | |
| Import to your stylesheets: | |
| ``` scss | |
| // Installed with NPM | |
| @import '../node_modules/flask/sass/flask'; | |
| // Installed with Bower | |
| @import '../bower_components/flask/sass/flask'; | |
| ``` | |
| ### Importing specific features | |
| If you would like to use one or more features without importing everything, simply import the Flask core followed by the features you need. | |
| ``` scss | |
| // Import Flask Core. | |
| @import '../node_modules/flask/sass/flask/core/core'; | |
| // Import Flask Palette feature. | |
| @import '../node_modules/flask/sass/flask/palette/palette'; | |
| ``` | |
| ## Palette | |
| ### Usage | |
| ``` scss | |
| .teal-base { | |
| color: palette(teal); | |
| // color: #2ed399; | |
| } | |
| .teal-light { | |
| color: palette(teal, light); | |
| // color: #43d7a3; | |
| } | |
| .teal-alias { | |
| color: palette(brand-primary); | |
| // color: #2ed399; | |
| } | |
| .teal-alias-with-variant { | |
| color: palette(brand-primary, light); | |
| // color: #43d7a3; | |
| } | |
| .teal-aliased-variant { | |
| color: palette(highlight); | |
| // color: #43d7a3; | |
| } | |
| ``` | |
| ### Setup | |
| [Example](https://github.com/jaradlight/flask/blob/master/test/setup/_palette.scss) | |
| Begin by defining base colours. You can simply define these inside the palette map instead, but separate base variables make it easier to programmatically define variants. | |
| ``` scss | |
| $flask-color-teal-base: #2ed399; | |
| ``` | |
| #### $palettes | |
| Next create the palette map. This variable will contain all colours and their variants. A colour group is defined by a nested map within the main palette map. The colour group key and any variant keys can be anything you like. However, every colour group needs one colour with the `base` key. Variants are optional. | |
| ``` scss | |
| $palettes: ( | |
| teal: ( // Colour group key | |
| base: $flask-color-teal-base, // Base colour | |
| dark: darken($flask-color-teal-base, 10), // Dark Variant | |
| light: lighten($flask-color-teal-base, 10) // Light Variant | |
| ) | |
| ); | |
| ``` | |
| #### $palette-aliases | |
| Optionally, a `$palette-aliases` map can assign aliases to colour groups. Aliases can be used in place of colour group keys as the first argument to `palette()`. Additionally, aliases for specific colours may be defined by assigning a map of palette function arguments to the alias key. | |
| ``` scss | |
| $palette-aliases: ( | |
| brand-primary: teal, | |
| highlight: (teal, light) | |
| ); | |
| ``` | |
| ## Fonts | |
| ### Usage | |
| ``` scss | |
| .font-family-function { | |
| font-family: font-family(open-sans); | |
| // font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| } | |
| .font-family-mixin { | |
| @include font-family(open-sans); | |
| // font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| } | |
| .font-name { | |
| font-family: font-name(open-sans); | |
| // font-family: "Open Sans"; | |
| } | |
| .font-name-aliased { | |
| font-family: font-name(primary-sans-serif); | |
| // font-family: "Open Sans"; | |
| } | |
| .font-name-aliased-with-variant { | |
| font-family: font-name(primary-sans-serif, special); | |
| // font-family: "Open Sans Special"; | |
| } | |
| .font-name-aliased-variant { | |
| content: font-name(heading); | |
| // content: "Open Sans Special"; | |
| } | |
| .font-type { | |
| content: font-type(open-sans); | |
| // content: sans-serif | |
| } | |
| .font-fallback { | |
| content: font-fallback(open-sans); | |
| // content: "Helvetica Neue", Helvetica, Arial, sans-serif | |
| } | |
| ``` | |
| ### Setup | |
| [Example](https://github.com/jaradlight/flask/blob/master/test/setup/_font.scss) | |
| #### $fonts | |
| The fonts map contains all font names, variants, and fallbacks (if applicable). | |
| Each font should have its own group. For example, if you are using 'Merriweather', you may define a font group under the key `merriweather`. | |
| For each font group, required keys are: | |
| * `font-type` The font family's type. ie: serif, sans-serif, glyph, etc | |
| * `regular` The name of the basic version of the font. | |
| Optional keys: | |
| * `fallback` A map of fallback fonts for this font family. If set, will override the fallback used from `$font-fallbacks` which is based on `font-type`. | |
| ``` scss | |
| $fonts: ( | |
| merriweather: ( | |
| font-type: serif, | |
| regular: 'Merriweather', | |
| fallback: ( | |
| 'Georgia', | |
| serif | |
| ) | |
| ) | |
| ); | |
| ``` | |
| #### $font-fallbacks | |
| `$font-fallbacks` map variable: | |
| ``` scss | |
| $font-fallbacks: ( | |
| serif: ( | |
| 'Georgia', | |
| serif | |
| ), | |
| sans-serif: ( | |
| 'Helvetica Neue', | |
| Helvetica, | |
| Arial, | |
| sans-serif | |
| ) | |
| ); | |
| ``` | |
| #### $font-aliases | |
| Optionally, a `$font-aliases` map can assign aliases to fonts. Aliases can be used in place of font group keys in `font` functions. Additionally, aliases for specific font variants may be defined by assigning a map of font-name function arguments to the alias key. | |
| ``` scss | |
| $font-aliases: ( | |
| primary-serif: merriweather, | |
| primary-sans-serif: open-sans, | |
| heading: (open-sans, special) | |
| ); | |
| ``` | |
| #### Additional Functions | |
| ``` scss | |
| .font-name { | |
| content: font-name(open-sans); | |
| // content: "Open Sans" | |
| } | |
| .font-type { | |
| content: font-type(merriweather); | |
| // content: serif | |
| } | |
| .font-fallback { | |
| content: font-fallback(merriweather); | |
| // content: "Georgia", serif | |
| } | |
| ``` | |