avvo-styleguide
Version:
Avvo styleguide
67 lines (52 loc) • 2.53 kB
Markdown
# Avvo's Styleguide
This repo was ripped and migrated from the [avvo_ui](https://github.com/avvo/avvo_ui) Rails gem.
The intent of this repo is to put the responsibility of compiling the `.scss` and `.js` onto the app - allowing for better modularity and flexibility to load only what is needed.
It serves up uncompiled ES6 based Javascript and .scss files for consumption in the host app. `./source`
There is also a compiled .css and Javascript version for use in host apps that wish to not have to compile the assets `./dist`.
## Usage
Install the package
```
npm install avvo-styleguide --save-dev
```
or with Yarn (faster and preferred package manager)
```
yarn add avvo-styleguide
```
### Javascript with Webpack
Import as you would other node_module packages
```
import FunctionExport from 'avvo-styleguide/source/javascripts/path_to_file'
```
### Sass in Rails app
1. Add additional assets to load path `config/initializers/assets.rb`
```
Rails.application.config.assets.paths << Rails.root.join('node_modules')
```
2. Add modules to autoloader path `config/application.rb`
```
class Application < Rails::Application
# ....
config.autoload_paths += %W(#{config.root}/node_modules)
end
```
3. Suggestion: Import the raw .scss files into a single .scss file - eg. `app/assets/stylesheets/styleguide/main.scss`.
Reference that file when needed.
```
'./sass_helpers';
'node_modules/avvo-styleguide/source/stylesheets/vendor/normalize';
'node_modules/avvo-styleguide/source/stylesheets/fonts/all';
'node_modules/avvo-styleguide/source/stylesheets/base/all';
'node_modules/avvo-styleguide/source/stylesheets/layout/all';
'node_modules/avvo-styleguide/source/stylesheets/components/all';
'node_modules/avvo-styleguide/source/stylesheets/shame/all';
'node_modules/avvo-styleguide/source/stylesheets/utilities/all';
```
4. Make sure to still include your sass helpers when using one off .scss pages and need access to Avvo's colors, or other features of the styleguide `app/assets/stylesheets/styleguide/sass_helpers.scss`
```
'node_modules/avvo-styleguide/source/stylesheets/functions/all';
'node_modules/avvo-styleguide/source/stylesheets/config/all';
'node_modules/avvo-styleguide/source/stylesheets/mixins/all';
```
### Releasing new Version
1. Go to http://infrastructure.corp.avvo.com/read-token.html to set up `~/.npmrc`
2. Run `npm publish`