Merge pull request #83 from ericf/contributing

Add CONTRIBUTING.md which documents how to contribute to Pure
This commit is contained in:
Eric Ferraiuolo 2013-06-10 09:27:37 -07:00
commit 28f4d7a2ed
2 changed files with 158 additions and 53 deletions

131
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,131 @@
How to Contribute to Pure
=========================
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
request from that branch. Please do *not* send pull requests from your `master`
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.
[Contributor License Agreement]: #contributor-license-agreement
[open issues]: https://github.com/yui/pure/issues
Docs and Website
----------------
[Pure's website][Pure] is also open source, so please open any issues or pull
requests for the docs and website over at the [`pure-site`][pure-site]
repository.
[Pure]: http://purecss.io/
[pure-site]: https://github.com/yui/pure-site
Building and Testing Pure
-------------------------
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
install Pure's gruntplugins via npm:
```shell
$ git clone git://github.com/yui/pure.git
$ cd pure/
$ npm install
```
Building Pure is easy, run `grunt`:
```shell
$ grunt
```
Pure use [CSSLint][] for basic testing to make sure we're shipping valid CSS
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:
* IE 7+
* Latest Stable: Firefox, Chrome, Safari
* iOS 6.x
* Android 4.x
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.
[Grunt]: http://gruntjs.com/
[Node.js]: http://nodejs.org/
[CSSLint]: https://github.com/stubbornella/csslint
Coding Standards and Style Guide
--------------------------------
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.
[SMACSS]: http://smacss.com/
[module rules]: http://smacss.com/book/type-module
[Extend]: http://purecss.io/extend/
Contributor License Agreement
-----------------------------
Please [sign Pure's CLA][CLA] before sending pull requests. We can't merge your
pull requests unless you have a signed CLA.
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:
1. Review Pures's BSD license. All of Pure's code is issued under this license,
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.
2. [Sign the Pure CLA online][CLA]. You will receive confirmation of your CLA
submission via the email address provided on the CLA form. If you have
questions about the CLA, you can address them to yui-cla@yahoo-inc.com.
[CLA]: https://secure.echosign.com/public/hostedForm?formid=A9PFU5T58653A

View File

@ -70,7 +70,7 @@ Build From Source
----------------- -----------------
Optionally, you can build Pure from its source on Github. To do this, you'll Optionally, you can build Pure from its source on Github. To do this, you'll
need to have NodeJS and npm installed. We use [Grunt][] to build Pure. need to have Node.js and npm installed. We use [Grunt][] to build Pure.
```shell ```shell
$ git clone git@github.com:yui/pure.git $ git clone git@github.com:yui/pure.git
@ -79,10 +79,15 @@ $ npm install
$ grunt $ grunt
``` ```
### Build Files
Now, all Pure CSS files should be built into the `pure/build/` directory. All Now, all Pure CSS files should be built into the `pure/build/` directory. All
files that are in this build directory are also available on the CDN. The naming files that are in this build directory are also available on the CDN. The naming
conventions of the files in the `build/` directory follow these rules: conventions of the files in the `build/` directory follow these rules:
* `[module]-core.css`: The minimal set of styles, ususally structural, that
provide the base on which the rest of the module's styles build.
* `[module]-nr.css`: Rollup of `[module]-core.css` + `[module].css` + * `[module]-nr.css`: Rollup of `[module]-core.css` + `[module].css` +
`[module]-[feature].css` from the `src/[module]/` dir. This is the `[module]-[feature].css` from the `src/[module]/` dir. This is the
non-responsive version of a module. non-responsive version of a module.
@ -98,71 +103,39 @@ conventions of the files in the `build/` directory follow these rules:
* `pure-nr-min.css`: A Rollup of all modules without @media queries. This is a * `pure-nr-min.css`: A Rollup of all modules without @media queries. This is a
non-responsive roll-up of everything. non-responsive roll-up of everything.
**Note:** To save your fingers from The Developer Konami Code: ⌘⇥ ⌃C ↑ ⏎ use
the `grunt watch` task:
```shell
$ grunt watch
```
[Grunt]: http://gruntjs.com/ [Grunt]: http://gruntjs.com/
Contributions and Code Standards
--------------------------------
Feel free to file bugs and submit pull requests on Github! When submitting a
pull request, please checkout a new feature branch, and submit your pull request
from it. Please do not submit pull requests from your `master` branch.
### Testing
We use [CSSLint][] for basic testing to make sure we're shipping valid CSS which
compiles with standard best practices and rules. To run Pure's test use
[Grunt][]:
```shell
$ grunt test
```
### Docs and Website
Pure's website is also open source, so please file any issues or pull requests
for the docs or website over at the [`pure-site`][pure-site] repo.
### CLA
Please [sign the CLA][] before submitting pull requests. We can't merge your
pull requests unless you have a signed CLA. It's super easy and can be done
online. For more information regarding the CLA, please visit the
[Contribute][] page.
### Versioning
Pure adheres to [Semantic Versioning 2.0](http://semver.org/).
[CSSLint]: https://github.com/stubbornella/csslint
[pure-site]: https://github.com/yui/pure-site
[sign the CLA]: https://secure.echosign.com/public/hostedForm?formid=A9PFU5T58653A
[Contribute]: http://yuilibrary.com/contribute/cla/
Browser Support and Testing Browser Support and Testing
--------------------------- ---------------------------
Pure is tested and works in: Pure is tested and works in:
* IE 7+ * IE 7+
* Latest Stable Firefox/Chrome/Safari * Latest Stable: Firefox, Chrome, Safari
* iOS 6.x * iOS 6.x
* Android 4.x * Android 4.x
Before submitting 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 Docs and Website
the ones that you have tested in on the pull request description. That way, we ----------------
know what's missing, and can help you out.
[Pure's website][Pure] is also open source, so please open any issues or pull
requests for the docs and website over at the [`pure-site`][pure-site]
repository.
[pure-site]: https://github.com/yui/pure-site
Contributing
------------
See the [CONTRIBUTING file][] for information on how to contribute to Pure.
[CONTRIBUTING file]: https://github.com/yui/pure/blob/master/CONTRIBUTING.md
License License
@ -171,4 +144,5 @@ License
This software is free to use under the Yahoo! Inc. BSD license. This software is free to use under the Yahoo! Inc. BSD license.
See the [LICENSE file][] for license text and copyright information. See the [LICENSE file][] for license text and copyright information.
[LICENSE file]: https://github.com/yui/pure/blob/master/LICENSE.md [LICENSE file]: https://github.com/yui/pure/blob/master/LICENSE.md