2021-07-06 18:40:33 +02:00
|
|
|
# How to Contribute to Pure
|
2013-06-10 18:17:04 +02:00
|
|
|
|
|
|
|
Feel free to [open issues][] and send pull requests on GitHub! When sending a
|
|
|
|
pull request, please create a new topic/feature branch, and send your pull
|
2024-10-07 19:52:34 +02:00
|
|
|
request from that branch. Please do _not_ send pull requests from your `main`
|
2013-06-10 18:17:04 +02:00
|
|
|
branch because this tends to lead to merge conflicts.
|
|
|
|
|
|
|
|
In order for us to to merge your pull requests, we need you to review and sign
|
|
|
|
our [Contributor License Agreement][]. The CLA protects you and your
|
|
|
|
contributions along with all other developers who use Pure.
|
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
[contributor license agreement]: #contributor-license-agreement
|
2018-01-19 04:41:39 +01:00
|
|
|
[open issues]: https://github.com/pure-css/pure/issues
|
2013-06-10 18:17:04 +02:00
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
## Docs and Website
|
2013-06-10 18:17:04 +02:00
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
[Pure's website][pure] is located in the `site` directory. Please feel free
|
2020-04-30 18:59:22 +02:00
|
|
|
to open issues or questions in the Issue tab.
|
2013-06-10 18:17:04 +02:00
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
[pure]: http://purecss.io/
|
2024-10-07 19:52:34 +02:00
|
|
|
[pure-site]: https://github.com/pure-css/pure/tree/main/site
|
2013-06-10 18:17:04 +02:00
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
## Building and Testing Pure
|
2013-06-10 18:17:04 +02:00
|
|
|
|
|
|
|
Pure uses [Grunt][], a JavaScript task runner that runs on [Node.js][], for
|
|
|
|
building and testing. You'll need Node.js and Grunt installed to work on Pure.
|
|
|
|
Once installed, clone the `pure` repo (either the main repo or your fork) and
|
2013-06-10 18:27:04 +02:00
|
|
|
install Pure's gruntplugins via npm:
|
2013-06-10 18:17:04 +02:00
|
|
|
|
|
|
|
```shell
|
2018-01-19 04:41:39 +01:00
|
|
|
$ git clone git://github.com/pure-css/pure.git
|
2013-06-10 18:17:04 +02:00
|
|
|
$ cd pure/
|
|
|
|
$ npm install
|
|
|
|
```
|
|
|
|
|
|
|
|
Building Pure is easy, run `grunt`:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
$ grunt
|
|
|
|
```
|
|
|
|
|
2013-08-28 19:15:09 +02:00
|
|
|
Pure uses [CSSLint][] for basic testing to make sure we're shipping valid CSS
|
2013-06-10 18:17:04 +02:00
|
|
|
which complies with standard best practices. To run Pure's tests, run
|
|
|
|
`grunt test`:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
$ grunt test
|
|
|
|
```
|
|
|
|
|
|
|
|
**Note:** To save your fingers from The Developer Konami Code: ⌘⇥ ↑ ⏎ run the
|
|
|
|
`grunt watch` task with will continuously test and build Pure anytime a CSS file
|
|
|
|
changes:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
$ grunt watch
|
|
|
|
```
|
|
|
|
|
|
|
|
### Browser Support and Testing
|
|
|
|
|
|
|
|
Pure is tested and works in:
|
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
- Latest Stable: Edge, Firefox, Chrome, Safari
|
|
|
|
- iOS 6+
|
|
|
|
- Android 4.x
|
2013-06-10 18:17:04 +02:00
|
|
|
|
|
|
|
Before sending pull requests, please ensure that you open the test HTML files
|
|
|
|
in these environments. If you don't have access to all these environments, list
|
|
|
|
the ones that you have tested in on the pull request description. That way, we
|
|
|
|
know what's missing, and can help you out.
|
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
[grunt]: http://gruntjs.com/
|
|
|
|
[node.js]: http://nodejs.org/
|
|
|
|
[csslint]: https://github.com/stubbornella/csslint
|
2013-06-10 18:17:04 +02:00
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
## Coding Standards and Style Guide
|
2013-06-10 18:17:04 +02:00
|
|
|
|
|
|
|
Pure has adopted the [SMACSS][] conventions for writing CSS. If you are new to
|
|
|
|
SMACSS, you should give it a read, especially the section on [module rules][].
|
|
|
|
|
|
|
|
The [Extend][] section of the Pure website more info about the style guide and
|
|
|
|
naming conventions, along with examples of how to extend the library.
|
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
[smacss]: http://smacss.com/
|
2013-06-10 18:17:04 +02:00
|
|
|
[module rules]: http://smacss.com/book/type-module
|
2021-07-06 18:40:33 +02:00
|
|
|
[extend]: http://purecss.io/extend/
|
2013-06-10 18:17:04 +02:00
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
## Contributor License Agreement
|
2013-06-10 18:17:04 +02:00
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
Please [sign the Yahoo CLA][cla] after sending pull requests. We can't merge
|
2014-08-26 18:05:45 +02:00
|
|
|
your pull requests unless you have a signed CLA.
|
2013-06-10 18:17:04 +02:00
|
|
|
|
|
|
|
The CLA ensures that everyone who submits a work of authorship to Pure is
|
|
|
|
contributing work that is their own or for which they can authoritatively speak.
|
|
|
|
This protects the all of of developers who use Pure in their daily work, all of
|
|
|
|
whom rely on Pure's BSD license to appropriately cover their use of the library.
|
|
|
|
|
|
|
|
The CLA does **not** transfer title or copyright of your contributed work to
|
|
|
|
Yahoo!. It merely guarantees that you approve the use of your work within Pure
|
|
|
|
and by those who use the library under the terms of its license.
|
|
|
|
|
|
|
|
If you want to make contributions (software, documentation or other material) to
|
|
|
|
the Pure Project and such contributions could be covered under intellectual
|
|
|
|
property laws, you must submit a Contributor License Agreement (CLA) prior to
|
|
|
|
making your contribution:
|
|
|
|
|
2013-06-12 02:07:28 +02:00
|
|
|
1. Review Pure's BSD license. All of Pure's code is issued under this license,
|
2013-06-10 18:17:04 +02:00
|
|
|
and contributions you make to the library will be subject to this license.
|
|
|
|
**Note:** that the BSD license is very liberal; it allows for reuse and
|
|
|
|
adaptation in commercial projects.
|
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
2. [Sign the Yahoo CLA][cla] online. If you have questions about the CLA, you
|
2014-08-26 18:05:45 +02:00
|
|
|
can address them to opensource-cla@yahoo-inc.com.
|
2013-06-10 18:17:04 +02:00
|
|
|
|
2021-07-06 18:40:33 +02:00
|
|
|
[cla]: https://yahoocla.herokuapp.com/
|