|
| 1 | +# Contributing to Mathbook |
| 2 | + |
| 3 | +Hey there, thanks for showing interest in making a contribution towards Mathbook. We are always looking to get more |
| 4 | +hands on deck to help make Mathbook the best math resource available on the internet. |
| 5 | + |
| 6 | +## In what ways can I contribute ? |
| 7 | + |
| 8 | +There is always something to do to help maintain and grow Mathbook. You can, |
| 9 | + |
| 10 | +* Create a tutorial |
| 11 | +* Review a tutorial submitted for review |
| 12 | +* Find and report bugs |
| 13 | +* Fix Bugs |
| 14 | +* Write documentation |
| 15 | +* Write tests |
| 16 | +* Provide feedback ( positive or negative ) |
| 17 | + |
| 18 | +## I want to create a tutorial for Mathbook. |
| 19 | + |
| 20 | +You can read up on how to create and submit a tutorial [here](https://mathbook.io/contribute/create-tutorial'). |
| 21 | + |
| 22 | +## I want to review a tutorial submitted for review. |
| 23 | + |
| 24 | +You can read up on the process currently set up for reviewing a tutorial |
| 25 | +[here](https://mathbook.io/contribute/review-tutorial). |
| 26 | + |
| 27 | +## I want to report a bug I found. |
| 28 | + |
| 29 | +No matter the size of the bug, making the contributors aware of the bug is invaluable, so we thank you in advance. |
| 30 | + |
| 31 | +The Mathbook project is hosted on GitHub and there is an issues section where you can create an issue and tag it as a |
| 32 | +bug. |
| 33 | + |
| 34 | +Please make sure to follow the bug reporting guidelines outlined |
| 35 | +[here](https://github.com/JetJet13/mathbook/wiki/Bug-Reporting-Guideline). |
| 36 | + |
| 37 | +[Click here to go the issues page for Mathbook](https://github.com/JetJet13/mathbook/issues) |
| 38 | + |
| 39 | +## I want to fix/squash some bugs |
| 40 | + |
| 41 | +Fixing bugs is an integral part of maintaining Mathbook. If it's your first time, we recommend starting off with the |
| 42 | +smaller bugs. |
| 43 | + |
| 44 | +If and when you get comfortable fixing bugs and making changes to the source code, you are more than welcome to making |
| 45 | +the jump towards squashing bigger bugs. |
| 46 | + |
| 47 | +[Click here to view the current list of reported bugs](https://github.com/JetJet13/mathbook/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Abug+) |
| 48 | + |
| 49 | +## I want to write some documentation |
| 50 | + |
| 51 | +Documentation is very important for new and existing contributors of Mathbook because it serves as a reference for |
| 52 | +understanding how Mathbook works under the hood. |
| 53 | + |
| 54 | +Writing documentation requires knowledge of the inner workings of Mathbook and the reasoning behind the decisions made |
| 55 | +in the architecture and source code. |
| 56 | + |
| 57 | +The documentation for Mathbook lives [here](https://github.com/JetJet13/mathbook/wiki) |
| 58 | + |
| 59 | +We recommend reading through some parts of the docs to get an idea of what's needed to contribute to the docs, ie) |
| 60 | +formatting, providing examples and maybe even referencing some part of the source code |
| 61 | + |
| 62 | +## I want to contribute by writing some tests |
| 63 | + |
| 64 | +Testing is important to the overall success of Mathbook and all software projects in general. Tests give us visibility |
| 65 | +into the effects of the changes we make into the source code that might be due to a simple refactor or implementing a |
| 66 | +new feature. |
| 67 | + |
| 68 | +Always remember, **if you find a bug, then that means you missed a test scenario.** |
| 69 | + |
| 70 | +For Mathbook, the testing framework we use is [Chai](http://chaijs.com/) and our test runner is |
| 71 | +[Mocha](https://mochajs.org/). We also use [Sinon](http://sinonjs.org/) for stubbing/mocking and setting up spies. |
| 72 | + |
| 73 | +Check out the tests folder in the [source code](./tests) to get an idea of how we structure our test suites. |
| 74 | + |
| 75 | +You can also check out the [documentation](https://github.com/JetJet13/mathbook/wiki/Testing-Documentation) to learn |
| 76 | +about the reasoning behind the different types of tests that we write. |
| 77 | + |
| 78 | +## I want to provide some feedback |
| 79 | + |
| 80 | +Your feedback is always welcome. Do you have an idea for a new feature or think that some functionality could be |
| 81 | +improved, let us know. |
| 82 | + |
| 83 | +You can create an issue on GitHub and tag the issue with the proper tag that reflects your feedback (we have a bunch of |
| 84 | +tags, pick one that best represents your feedback). |
| 85 | + |
| 86 | +[Click here to go the issues page and provide some feedback](https://github.com/JetJet13/mathbook/issues) |
| 87 | + |
| 88 | +## Contributor Behavior |
| 89 | + |
| 90 | +All contributors of Mathbook are expected to be respectful and considerate towards one another. There are no silly |
| 91 | +questions or suggestions, so feel free to share anything that comes to mind. |
| 92 | + |
| 93 | +If you plan on reviewing tutorials, please keep all comments and feedback during the review process constructive. Any |
| 94 | +personal attacks or name calling will not be tolerated. |
| 95 | + |
| 96 | +The common goal we all share is to grow the community of contributors and make Mathbook the best online resource for |
| 97 | +learning mathematics. |
0 commit comments