Leaflet/CONTRIBUTING.md

40 lines
2.7 KiB
Markdown
Raw Normal View History

2012-10-09 22:34:20 +08:00
Contributing to Leaflet
=======================
1. [Getting Involved](#getting-involved)
2. [Reporting Bugs](#reporting-bugs)
3. [Contributing Code](#contributing-code)
4. [Improving Documentation](#improving-documentation)
## Getting Involved
2012-10-10 16:54:22 +08:00
Third-party patches are absolutely essential on our quest to create the best mapping library that will ever exist. However, they're not the only way to get involved with the development of Leaflet. You can help the project tremendously by discovering and reporting bugs, improving documentation, helping others on the [Leaflet forum](https://groups.google.com/forum/#!forum/leaflet-js) and [GitHub issues](https://github.com/CloudMade/Leaflet/issues), and spreading the word about Leaflet among your colleagues and friends.
2012-10-09 22:34:20 +08:00
## Reporting Bugs
2012-10-10 17:33:08 +08:00
Before reporting a bug on the project's [issues page](https://github.com/CloudMade/Leaflet/issues), first make sure that your issue is caused by Leaflet, not your application code (e.g. passing incorrect arguments to methods, etc.). Second, search the already reported issues for similar cases, and if it's already reported, just add any additional details in the comments.
2012-10-10 16:54:22 +08:00
2012-10-10 17:33:08 +08:00
After you made sure that you've found a new Leaflet bug, here are some tips for creating a helpful report that will make fixing it much easier and quicker:
2012-10-10 16:54:22 +08:00
2012-10-10 17:33:08 +08:00
* Write a **descriptive, specific title**. Bad: *Problem with polylines*. Good: *Doing X in IE9 causes Z*.
2012-10-10 16:54:22 +08:00
* Include **browser, OS and Leaflet version** info in the description.
2012-10-10 17:33:08 +08:00
* Create a **simple test case** that demonstrates the bug (e.g. using [JSFiddle](http://jsfiddle.net/)).
* Check whether the bug can be reproduced in **other browsers**.
2012-10-10 16:54:22 +08:00
* Check if the bug occurs in the stable version, master, or both.
2012-10-10 17:33:08 +08:00
* *Bonus tip:* if the bug only appears in the master version but the stable version is fine, use `git bisect` to find the exact commit that introduced the bug.
2012-10-09 22:34:20 +08:00
## Contributing Code
2012-10-10 17:33:08 +08:00
While we happily accept patches, we're also commited to keeping Leaflet simple, lightweight and blazingly fast. So bugfixes, performance optimizations and small improvements that don't add a lot of code are much more likely to get accepted quickly.
Before sending a pull request with a new feature, first check if it's been discussed before already (either on [GitHub issues](https://github.com/CloudMade/Leaflet/issues) or [Leaflet UserVoice](http://leaflet.uservoice.com/)), and then ask yourself two questions:
1. Are you sure that this new feature is important enough to justify its presense in the Leaflet core? Or will it look better as a plugin in a separate repository?
2. Is it written in a simple, concise way that doesn't add bulk to the codebase?
TODO building Leaflet, style guide, sending pulls, etc.
2012-10-09 22:34:20 +08:00
## Improving Documentation
TODO how to contribute to docs.