1 | # Contributing to Fabric
|
2 |
|
3 | 1. [Questions?!?](#questions)
|
4 | 2. [Issue tracker](#issue-tracker)
|
5 | 3. [Issue tracker guidelines](#issue-tracker-guidelines)
|
6 | 4. [Pull requests](#pull-request)
|
7 | 5. [Pull request guidelines](#pull-request-guidelines)
|
8 |
|
9 | ## Questions?!?
|
10 |
|
11 | To get your questions answered, please ask/search on [Fabric's google group], [StackOverflow] or on Fabric's IRC channel (irc://irc.freenode.net/#fabric.js).
|
12 | Please do not open an issue if you're not sure it's a bug or if it's not a feature/suggestion.
|
13 |
|
14 | For news about Fabric you can follow [@fabric.js], [@AndreaBogazzi], [@kangax], or [@kienzle_s] on Twitter.
|
15 | Demos and examples can be found on [jsfiddle], [codepen.io] and [fabricjs.com].
|
16 |
|
17 | ## Issue tracker
|
18 |
|
19 | If you are sure that it's a bug in Fabric.js or a suggestion, open a new [issue] and try to answer the following questions:
|
20 |
|
21 | - What did you do?
|
22 | - What did you expect to happen?
|
23 | - What happened instead?
|
24 |
|
25 | ### Issue tracker guidelines
|
26 |
|
27 | - **Search:** Before opening a new issue please [search](https://github.com/kangax/fabric.js/search?q=&ref=cmdform&type=Issues) Fabric's existing issues.
|
28 |
|
29 | - **Title:** Choose an informative title.
|
30 |
|
31 | - **Description:** Use the questions above to describe the issue. Add logs, screenshots or videos if that makes sense.
|
32 |
|
33 | - **Test case:** Please post code to replicate the bug - best on [jsfiddle](http://jsfiddle.net). Ideally a failing test would be
|
34 | perfect, but even a simple script demonstrating the error would suffice. You could use [this jsfiddle template](http://jsfiddle.net/fabricjs/Da7SP/) as a
|
35 | starting point.
|
36 |
|
37 | - **Fabric.js version:** Make sure to specify which version of Fabric.js you are using. The version can be found in [fabric.js file](https://github.com/kangax/fabric.js/blob/master/dist/fabric.js#L5) or just by executing `fabric.version` in the browser console.
|
38 |
|
39 | ## Pull requests
|
40 |
|
41 | We are very grateful for your pull requests! This is your chance to improve Fabric for everyone else.
|
42 |
|
43 | ### Pull request guidelines
|
44 |
|
45 | Here are a few notes you should take into account:
|
46 |
|
47 | - **Code style, notes:** Make sure you have complied with the [guidelines](https://github.com/kangax/fabric.js/wiki/How-to-contribute-to-Fabric#code-style-notes)
|
48 |
|
49 | - **Distribution files:** Do your changes only in the [source files](https://github.com/kangax/fabric.js/tree/master/src). Don't include the [distribution files](https://github.com/kangax/fabric.js/tree/master/dist) in your commit.
|
50 |
|
51 | - **Add tests**: Tests are always a great addition - invest a little time and expand the [unit tests suite](https://github.com/kangax/fabric.js/tree/master/test/unit). More informations about [QUnit](http://qunitjs.com/) tests can be found in the [wiki](https://github.com/kangax/fabric.js/wiki/How-to-contribute-to-Fabric#testing-fabric).
|
52 |
|
53 | - **Add documentation:** Fabric uses [JSDoc 3] for documentation. The generated documentation can be found at [fabricjs.com](http://fabricjs.com/docs).
|
54 |
|
55 | - **Create topic branches.** Don't use your master branch for pull request. It's better to create a new branch for every pull request.
|
56 |
|
57 | - **One pull request per feature/bug**. If you want to do more than one thing, send multiple pull requests.
|
58 |
|
59 | - **And there you go!** If you still have questions we're always happy to help. Also feel free to consult [wiki](https://github.com/kangax/fabric.js/wiki/How-to-contribute-to-Fabric).
|
60 |
|
61 | [Fabric's google group]: https://groups.google.com/forum/#!forum/fabricjs
|
62 | [stackoverflow]: http://stackoverflow.com/questions/tagged/fabricjs
|
63 | [@fabric.js]: https://twitter.com/fabricjs
|
64 | [@AndreaBogazzi]: https://twitter.com/AndreaBogazzi
|
65 | [@kangax]: https://twitter.com/kangax
|
66 | [@kienzle_s]: https://twitter.com/kienzle_s
|
67 | [jsfiddle]: http://jsfiddle.net/user/fabricjs/fiddles
|
68 | [codepen.io]: http://codepen.io/tag/fabricjs
|
69 | [fabricjs.com]: http://fabricjs.com/demos
|
70 | [fabricjs.com/docs]: http://fabricjs.com/docs
|
71 | [JSDoc 3]: http://usejsdoc.org/
|
72 | [issue]: https://github.com/kangax/fabric.js/issues
|