Skip to content

Commit 60e0a8c

Browse files
committed
Added CONTRIBUTING.md from Peter's branch
1 parent 88de247 commit 60e0a8c

File tree

1 file changed

+261
-0
lines changed

1 file changed

+261
-0
lines changed

CONTRIBUTING.md

+261
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,261 @@
1+
# Contributing to MathJax
2+
3+
So you're interested in giving us a hand? That's awesome! We've put
4+
together some brief guidelines that should help you get started
5+
quickly and easily.
6+
7+
There are lots and lots of ways to get involved, this document covers:
8+
9+
* [raising issues](#raising-issues)
10+
* [bug reports](#bug-reports)
11+
* [feature requests](#feature-requests)
12+
* [change requests](#change-requests)
13+
* [working on MathJax core](#working-on-MathJax-core)
14+
* [submitting pull requests](#submitting-pull-requests)
15+
* [testing and quality assurance](#testing-and-quality-assurance)
16+
* [writing documentation](#writing-documentation)
17+
* [translation](#translation)
18+
* [Conduct](#conduct)
19+
20+
21+
## Reporting An Issue
22+
23+
If you're about to raise an issue because you think you've found a
24+
problem with MathJax, or you'd like to make a request for a new
25+
feature in the codebase, or any other reason… please read this first.
26+
27+
The GitHub issue tracker is the preferred channel for [bug reports](#bug-reports),
28+
[feature requests](#feature-requests), [change requests](#change-requests) and [submitting pull
29+
requests](#submitting-pull-requests), but please respect the following restrictions:
30+
31+
* Please **search for existing issues**. Help us keep duplicate issues
32+
to a minimum by checking to see if someone has already reported your
33+
problem or requested your idea.
34+
35+
* Please **do not** use the issue tracker for personal support
36+
requests (use [the MathJax User Group](https://groups.google.com/forum/#!forum/mathjax-users).
37+
38+
* Please **be civil**. Keep the discussion on topic and respect the
39+
opinions of others. See also our [Conduct Guidelines](#conduct)
40+
41+
### Bug Reports
42+
43+
A bug is a _demonstrable problem_ that is caused by the code in the repository.
44+
Good bug reports are extremely helpful - thank you!
45+
46+
Guidelines for bug reports:
47+
48+
1. **Use the GitHub issue search** — check if the issue has already been
49+
reported.
50+
51+
2. **Check if the issue has been fixed** — try to reproduce it
52+
using the latest `develop` or look for [closed issues in the
53+
current milestone](https://github.com/MathJax/MathJax/issues?&page=1&state=closed).
54+
55+
3. **Isolate the problem** — ideally create a [reduced test
56+
case](http://css-tricks.com/6263-reduced-test-cases/) and a live example.
57+
58+
4. **Include a screencast if relevant** - Is your issue about a design
59+
or front end feature or bug? The most helpful thing in the world is
60+
if we can *see* what you're talking about. Use
61+
[LICEcap](http://www.cockos.com/licecap/) to quickly and easily
62+
record a short screencast (24fps) and save it as an animated gif!
63+
Embed it directly into your GitHub issue. Kapow.
64+
65+
5. Use the Bug Report template below or [click this
66+
link](https://github.com/MathJax/MathJax/issues/new?title=Bug%3A&body=%23%23%23%20Issue%20Summary%0A%0A%23%23%23%20Steps%20to%20Reproduce%0A%0A1.%20This%20is%20the%20first%20step%0A%0AThis%20is%20a%20bug%20because...%0A%0A%23%23%23%20Technical%20details%0A%0A*%20MathJax%20Version%3A%20master%20-%20latest%20commit%3A%20%20INSERT%20COMMIT%20REF%0A*%20Client%20OS%3A%20%0A*%20Browser%3A%20%0A*%20)
67+
to start creating a bug report with the template automatically.
68+
69+
A good bug report shouldn't leave others needing to chase you up for
70+
more information. Be sure to include the details of your environment.
71+
72+
Here is a [real example](https://github.com/mathjax/MathJax/issues/820)
73+
74+
Template Example ([click to use](https://github.com/MathJax/MathJax/issues/new?title=Bug%3A&body=%23%23%23%20Issue%20Summary%0A%0A%23%23%23%20Steps%20to%20Reproduce%0A%0A1.%20This%20is%20the%20first%20step%0A%0AThis%20is%20a%20bug%20because...%0A%0A%23%23%23%20Technical%20details%0A%0A*%20MathJax%20Version%3A%20master%20-%20latest%20commit%3A%20%20INSERT%20COMMIT%20REF%0A*%20Client%20OS%3A%20%0A*%20Browser%3A%20%0A*%20)):
75+
```
76+
Short and descriptive example bug report title
77+
78+
### Issue Summary
79+
80+
A summary of the issue and the browser/OS environment in which it occurs. If
81+
suitable, include the steps required to reproduce the bug.
82+
83+
### Steps to Reproduce
84+
85+
1. This is the first step
86+
2. This is the second step
87+
3. Further steps, etc.
88+
89+
Any other information you want to share that is relevant to the issue
90+
being reported. Especially, why do you consider this to be a bug? What
91+
do you expect to happen instead?
92+
93+
### Technical details:
94+
95+
* MathJax Version: 2.3 (latest commit: f3aaf3a2a3e964df2770dc4aaaa9c87ce5f47e2c)
96+
* Client OS: Mac OS X 10.8.4
97+
* Browser: Chrome 29.0.1547.57
98+
```
99+
100+
101+
### Feature Requests
102+
103+
Feature requests are welcome. Before you submit one be sure to have:
104+
105+
1. Read the
106+
[Roadmaps](https://github.com/mathjax/MathJax/wiki/Mathjax-roadmap),
107+
**use the GitHub search** and check the feature hasn't already been
108+
requested.
109+
2. Take a moment to think about whether your idea fits with the scope
110+
and aims of the project, or if it might better fit being a [custom
111+
extension](https://github.com/mathjax/MathJax-third-party-extensions).
112+
3. Remember, it's up to *you* to make a strong case to convince the
113+
project's leaders of the merits of this feature. Please provide as
114+
much detail and context as possible, this means explaining the use
115+
case and why it is likely to be common.
116+
4. Clearly indicate whether this is a feature request for MathJax
117+
core, input & output jax, or extensions.
118+
119+
120+
### Change Requests
121+
122+
Change requests cover both architectural and functional changes to how
123+
MathJax works. If you have an idea for a new or different dependency,
124+
a refactor, or an improvement to a feature, etc - please be sure to:
125+
126+
1. **Use the GitHub search** and check someone else didn't get there first
127+
2. Take a moment to think about the best way to make a case for, and
128+
explain what you're thinking. Are you sure this shouldn't really be
129+
a [bug report](#bug-reports) or a [feature
130+
request](#feature-requests)? Is it really one idea or is it many?
131+
What's the context? What problem are you solving? Why is what you
132+
are suggesting better than what's already there? Does it fit with
133+
the Roadmap?
134+
135+
136+
### Submitting Pull Requests
137+
138+
Pull requests are awesome. If you're looking to raise a PR for
139+
something which doesn't have an open issue, please think carefully
140+
about [raising an issue](#raising-issues) which your PR can close,
141+
especially if you're fixing a bug. This makes it more likely that
142+
there will be enough information available for your PR to be properly
143+
tested and merged.
144+
145+
##### Need Help?
146+
147+
If you're not completely clear on how to submit / update / *do* Pull
148+
Requests, please check out our [source control
149+
policies](https://github.com/mathjax/MathJax/wiki/Source-control-policies). For
150+
more insights, chech the excellent in depth [Git Workflow
151+
guide](https://github.com/TryGhost/Ghost/wiki/Git-Workflow) from
152+
Ghost, in particular
153+
154+
* [Ghost Workflow guide: commit messages](https://github.com/TryGhost/Ghost/wiki/Git-workflow#commit-messages)
155+
156+
### Testing and Quality Assurance
157+
158+
Never underestimate just how useful quality assurance is. If you're
159+
looking to get involved with the code base and don't know where to
160+
start, checking out and testing a pull request is one of the most
161+
useful things you could do.
162+
163+
If you want to get involved with testing MathJax, there is a set of QA
164+
Documentation [in our testing
165+
framework](https://github.com/MathJax/MathJax-testing).
166+
167+
Essentially though, [check out the latest develop
168+
branch](#contribute-to-core), take it for a spin, and if you find
169+
anything odd, please follow the [bug report guidelines](#bug-reports)
170+
and let us know!
171+
172+
#### Checking out a Pull Request
173+
174+
These are some [excellent
175+
instructions](https://gist.github.com/piscisaureus/3342247) on
176+
configuring your GitHub repository to allow you to checkout pull
177+
requests in the same way as branches:
178+
<https://gist.github.com/piscisaureus/3342247>.
179+
180+
181+
### Documentation
182+
183+
MathJax's main documentation can be found at [docs.mathjax.org](http://docs.mathjax.org).
184+
185+
The documentation is generated using
186+
[Sphinx-doc](http://sphinx-doc.org/) and hosted on [Read the
187+
docs](http://readthedocs.org). The source of the docs is hosted in the
188+
[MathJax-Docs GitHub
189+
repository](http://github.com/mathjax/mathjax-docs).
190+
191+
You can clone the repo and submit pull requests following the
192+
[pull-request](#pull-requests) guidelines.
193+
194+
195+
### Translation
196+
197+
If you wish to add or update translations of MathJax, please do it on
198+
[TranslateWiki.net](https://translatewiki.net/w/i.php?title=Special:Translate&group=out-mathjax-0-all)
199+
(and while you're there you can help other open source projects,
200+
too!).
201+
202+
For bug reports and other questions that don't fit on
203+
TranslateWiki.net, head over to the
204+
[mathjax/mathjax-i18n](https://github.com/mathjax/MathJax-i18n)
205+
repository.
206+
207+
208+
## Working on MathJax Core {core}
209+
210+
### Key Branches & Tags
211+
212+
- **[develop](https://github.com/MathJax/MathJax/tree/develop)** is
213+
the development branch. All work on the next release is here. Do
214+
**NOT** use this branch for a production site.
215+
- **[master](https://github.com/MathJax/MathJax)** contains the latest
216+
release of MathJax. This branch may be used in production.
217+
218+
219+
# Conduct
220+
221+
We are committed to providing a friendly, safe and welcoming environment for
222+
all, regardless of gender, sexual orientation, disability, ethnicity, religion,
223+
or similar personal characteristic.
224+
225+
Please be kind and courteous. There's no need to be mean or rude.
226+
Respect that people have differences of opinion and that every design or
227+
implementation choice carries a trade-off and numerous costs. There is seldom
228+
a right answer, merely an optimal answer given a set of values and
229+
circumstances.
230+
231+
Please keep unstructured critique to a minimum. If you have solid ideas you
232+
want to experiment with, make a fork and see how it works.
233+
234+
We will exclude you from interaction if you insult, demean or harass anyone.
235+
That is not welcome behaviour. We interpret the term "harassment" as
236+
including the definition in the
237+
[Citizen Code of Conduct](http://citizencodeofconduct.org/);
238+
if you have any lack of clarity about what might be included in that concept,
239+
please read their definition. In particular, we don't tolerate behavior that
240+
excludes people in socially marginalized groups.
241+
242+
Private harassment is also unacceptable. No matter who you are, if you feel
243+
you have been or are being harassed or made uncomfortable by a community
244+
member, please contact one of the channel ops or any of the
245+
[MathJax](https://github.com/MathJax/MathJax) core team
246+
immediately. Whether you're a regular contributor or a newcomer, we care about
247+
making this community a safe place for you and we've got your back.
248+
249+
Likewise any spamming, trolling, flaming, baiting or other attention-stealing
250+
behaviour is not welcome.
251+
252+
We also suggest to read [discourse's
253+
rules](http://blog.discourse.org/2013/03/the-universal-rules-of-civilized-discourse/)
254+
255+
### References
256+
257+
* We heavily borrowed from -- thanks to Mozilla and Ghost!
258+
* https://github.com/TryGhost/Ghost/blob/master/CONTRIBUTING.md
259+
* https://github.com/mozilla/rust/wiki/Note-development-policy
260+
* https://github.com/jden/CONTRIBUTING.md/blob/master/CONTRIBUTING.md
261+
* http://blog.discourse.org/2013/03/the-universal-rules-of-civilized-discourse/

0 commit comments

Comments
 (0)