2017-11-09 20:41:18 +03:00
# Primer
2015-03-21 02:30:22 +03:00
2017-11-15 20:59:15 +03:00
[![npm version ](https://img.shields.io/npm/v/primer.svg )](https://www.npmjs.org/package/primer)
2017-11-09 20:41:18 +03:00
[![Build Status ](https://travis-ci.org/primer/primer.svg?branch=master )](https://travis-ci.org/primer/primer)
2015-03-21 02:30:22 +03:00
2017-11-09 20:41:18 +03:00
Primer is the design system that powers GitHub. Primer includes 23 packages that are grouped into 3 core meta-packages for easy install. Each package and meta-package is independently versioned and distributed via npm, so it's easy to include all or part of Primer within your own project.
2015-03-21 02:30:22 +03:00
2017-06-10 01:15:42 +03:00
## Packages
2017-11-09 20:41:18 +03:00
The Primer repo is managed as a monorepo that is composed of many npm packages.
2017-06-10 01:15:42 +03:00
### Core Packages
2017-06-12 18:39:05 +03:00
| Package | Version |
|---|---|
2017-11-15 21:08:26 +03:00
| ** [primer ](/modules/primer )** < br /> Includes all 23 packages | [![npm ](https://img.shields.io/npm/v/primer.svg )](https://www.npmjs.com/package/primer) |
| [primer-core ](/modules/primer-core ) | [![npm ](https://img.shields.io/npm/v/primer-core.svg )](https://www.npmjs.com/package/primer-core) |
| [primer-product ](/modules/primer-product ) | [![npm ](https://img.shields.io/npm/v/primer-product.svg )](https://www.npmjs.com/package/primer-product) |
| [primer-marketing ](/modules/primer-marketing ) | [![npm ](https://img.shields.io/npm/v/primer-marketing.svg )](https://www.npmjs.com/package/primer-marketing) |
2016-05-25 21:56:43 +03:00
2015-03-21 02:30:22 +03:00
## Install
2017-11-09 20:41:18 +03:00
This repository is distributed with [npm][npm]. After [installing npm][install-npm], you can install `primer` with this command.
2015-03-21 02:30:22 +03:00
2017-06-22 21:56:50 +03:00
```sh
2017-11-09 20:41:18 +03:00
$ npm install --save primer
2015-03-21 02:30:22 +03:00
```
2016-05-25 21:56:43 +03:00
## Usage
2015-03-21 02:30:22 +03:00
2017-06-29 21:59:08 +03:00
The source files included are written in [Sass][sass] (SCSS). After [installing ](#install ) with npm, you can add your project's `node_modules` directory to your Sass [include paths ](https://github.com/sass/node-sass#includepaths ) (AKA [load paths ](http://technology.customink.com/blog/2014/10/09/understanding-and-using-sass-load-paths/ ) in Ruby), then import it like this:
2015-03-21 02:30:22 +03:00
```scss
2017-11-09 20:41:18 +03:00
@import "primer/index.scss";
2015-03-21 02:30:22 +03:00
```
2017-06-29 01:38:23 +03:00
You can import individual Primer modules by installing them with npm, for instance:
2017-06-22 22:32:28 +03:00
```sh
$ npm install --save primer-navigation
```
Then, you would import the module with:
```scss
@import "primer-navigation/index.scss";
```
2018-03-07 02:50:58 +03:00
Or, while you're figuring out which modules you need, you can import them directly from the `primer` [`modules` directory ](./modules ) like so:
2017-06-22 22:32:28 +03:00
```scss
2017-11-09 20:41:18 +03:00
@import "primer/modules/primer-navigation/index.css";
2017-06-22 22:32:28 +03:00
```
2016-05-25 21:56:43 +03:00
## Build
2015-03-21 02:30:22 +03:00
2017-06-22 21:56:11 +03:00
For a compiled **CSS** version of this module, an npm script is included that will output a CSS version to `build/build.css` . The built CSS file is also included in the npm package.
2015-03-21 02:30:22 +03:00
2017-06-22 21:56:50 +03:00
```sh
2016-05-25 21:56:43 +03:00
$ npm run build
2015-03-21 02:30:22 +03:00
```
2016-06-02 16:39:45 +03:00
## Documentation
2016-05-25 21:56:43 +03:00
2016-06-02 16:39:45 +03:00
You can read more about primer in the [docs][docs].
2015-03-21 02:30:22 +03:00
## License
2016-06-02 16:39:45 +03:00
[MIT ](./LICENSE ) © [GitHub ](https://github.com/ )
2016-05-25 21:56:43 +03:00
2016-06-02 16:39:45 +03:00
[primer]: https://github.com/primer/primer
2017-11-09 20:41:18 +03:00
[docs]: http://primer.github.io/
2016-05-25 21:56:43 +03:00
[npm]: https://www.npmjs.com/
[install-npm]: https://docs.npmjs.com/getting-started/installing-node
[sass]: http://sass-lang.com/