2018-03-21 04:05:07 +03:00
# Protocol
2018-02-21 22:31:08 +03:00
A modular design system for Mozilla websites.
2018-04-16 18:23:06 +03:00
https://mozilla-protocol.netlify.com/
2018-03-21 04:05:07 +03:00
2018-05-22 13:33:19 +03:00
## Getting Started
Protocol is built on the [Node.js ](https://nodejs.org/ ) platform and published to [NPM ](https://www.npmjs.com/ ), so be sure to have both installed before proceeding.
## Installation
2018-02-21 22:31:08 +03:00
2018-04-23 13:29:16 +03:00
To use Protocol in your website you can install the core package directly from NPM:
2018-02-21 22:31:08 +03:00
2018-04-23 13:29:16 +03:00
```
npm install @mozilla -protocol/core --save
```
2018-02-21 22:31:08 +03:00
2018-05-25 11:53:21 +03:00
Alternatively, you can also [download the latest release ](https://github.com/mozilla/protocol/releases/latest ) from GitHub.
2018-02-21 22:31:08 +03:00
2018-05-25 03:07:43 +03:00
## Usage
2018-05-22 13:33:19 +03:00
Once installed, the relevant CSS and JS files will be available in your project under `./node_modules/@mozilla-protocol/core/` .
2018-05-25 03:07:43 +03:00
2018-05-22 13:33:19 +03:00
The core CSS file is bundled as `protocol.css` , which contains styling for things such as basic elements and typography. Component and layout CSS is bundled as `protocol-extra.scss` for convenience.
2018-05-25 03:07:43 +03:00
2018-05-22 13:33:19 +03:00
**Note**: The original source (.scss) files are also included in the published package. You may want to consider compiling your own CSS to include only what you need for each page of your website, in order to further optimize for performance.
2018-05-25 03:07:43 +03:00
2018-05-22 13:33:19 +03:00
## Building From Source
2018-04-23 13:29:16 +03:00
To build Protocol from source including the documentatiion site, you can clone the repo from GitHub:
```
$ git clone https://github.com/mozilla/protocol.git
$ cd protocol
$ npm start
```
2018-05-22 13:33:19 +03:00
Running `npm start` will install dependencies, build your toolkit, and start the development server at < http: // localhost:3000 > .
2018-02-21 22:31:08 +03:00
2018-05-22 13:33:19 +03:00
## Further Documentation
2018-02-21 22:31:08 +03:00
- [Project Structure ](docs#project-structure )
2018-05-22 13:33:19 +03:00
- [Build Process ](docs#build-process )
2018-04-23 13:29:16 +03:00
- [Publishing ](docs#publishing )
2018-05-22 13:33:19 +03:00
- [Acknowledgements ](docs#acknowledgements )
2018-02-21 22:31:08 +03:00