-
Notifications
You must be signed in to change notification settings - Fork 129
Contributing
My background's wikipedia, I really support flexible collaboration between strangers.
I aim to be the most-welcoming, and least-pedantic maintainer I can be.
Software is daunting enough.
Contributing on github should be a light, easy, non-scary
thing to do.
![]() |
that copies the project to your personal github,
where you can make whatever changes you want.
|
![](https://user-images.githubusercontent.com/399657/53584789-66d36d80-3b52-11e9-9fe3-ce3e1d91b25f.png)
get your link from this button:
![]() |
you'll need to have git, and maybe some github tokens setup
but now you're able to see it on your computer
|
![]() |
this will download the random things your computer needs to run (you'll need npm installed - but that's pretty easy) this actually works pretty well usually. |
![]() |
😎
|
npm run start
or npm run watch
.
![]() |
|
![]() |
git add any changed files git commit - add a small message git push - upload it to github |
![]() |
github does a pretty-good job at this. say hello! explain your changes a little bit. |
If it's a big change, or you're going to be adding new features, you may want to open an issue to chat about it first.
- sometimes there are concerns, or discussions to have.
- sometimes maintainers have automatic tests that run during a pull request.
- some maintainers ignore good Pull Requests, which is rude. (It sometimes happens!)
- maintainers have a hard job.
-
best to ensure the tests are still passing, after you've made your changes
-
Bonus points for adding more tests, for the new stuff you're adding.
-
to change your PR, you can simply do another commit+push, it appears automatically.
-
try to keep your Pull Request small, so it's easy to review.
-
sometimes your editor will automatically format things, which can mess-up a clean PR.
-
no-need to commit new builds, or increment version numbers. Let maintainers do that.
-
it may take some time before your change enters a new release. Don't sweat.
your fork will become stale, when the main codebase changes
![image](https://user-images.githubusercontent.com/399657/53647381-6a76fb00-3c0b-11e9-886d-bfa0ce2070bf.png)
you have to do this yourself. It's not totally straightforward.
Everyone forgets to do this.
you can do this through the compare button on github, though personally I've found this a bit confusing.
I prefer to do this stuff, from Cristina Solana:
git remote add upstream git://github.com/REPO_ORG/REPO_NAME.git
git fetch upstream
git pull upstream master
git push
then you'll see this:
![image](https://user-images.githubusercontent.com/399657/53648478-01dd4d80-3c0e-11e9-9d40-8e424001e35a.png)
I put this as a bash-alias, so I don't have to think about it anymore.
This ensures your next PR won't have any gross merge conflicts.
After a few times, this stuff gets easier, I promise.It used to be so much harder.
git, github, homebrew, and nodejs have really lowered the barrier to software projects. A lot of tools, and help are available
- Parsing Concepts are based on Parsoid - https://www.mediawiki.org/wiki/Parsoid
- Output: Based on concepts of the swiss-army knife of
document conversion
developed by John MacFarlane PanDoc - https://www.pandoc.org