-
-
Notifications
You must be signed in to change notification settings - Fork 601
HowtoContribute
george-thomas-hill edited this page Apr 7, 2021
·
14 revisions
Contribution Guidelines
First off, thanks for taking the time to contribute!
It is very much appreciated! 👍
- Use Fancytree and send feedback.
- Know a cool project that uses Fancytree? Post a link in the Q&A forum and/or add it to the Gallery
- Created a nice theme? Let us know!
- Create issues for bugs or feature requests (see 'Report Issues' below).
Note: the issue tracker is for bugs and feature requests.
Please use the Q&A forum or Stack Overflow if you have questions. - Improve this Wiki - it is editable!
- Have a look at the RFCs in the Wiki and provide feedback.
- Fix bugs or propose features (see 'Contribute Source Code' below).
- Consider a donation in $ (USD) or € (Euro) .
- The issue tracker is for bugs and feature requests.
Please use the Q&A forum or Stack Overflow if you have questions. - Please make sure that there is not already an existing issue for this problem/request.
Use the search function to find out.
If you have additional information, add a comment there. - If it's a bug report:
Please help us to help you.- Carefully describe the required steps to reproduce the failure.
- Give additional information:
What browser/version?
What jQuery / jQuery UI / Fancytree version? Which Fancytree extensions are enabled? - What output do you see in the browser's debug console?
- Create a test case.
E.g. attach an html file that reproduces the problem, post a link to a sample page, or upload a sample on jsFiddle or Plunker - Maybe attach a patch file or describe a potential fix?
- If it's a feature request:
- What are you trying to accomplish?
- Why is this a cool feature? Give use cases.
- Can you propose a specification? Are there similar implementations in other projects?
Add references or screenshots if you have some.
Remember that the general API must stay generic, extensible, and consistent.
How will this interfere with existing API and functionality?
Does it play well with the other extensions?
- This Documentation Wiki is publicly editable ;-)
- For small fixes, sending a simple patch may do, but
The proposed procedure is
- Fork the repository on GitHub and checkout the new fork to your computer.
- Install tooling (see next section)
- Create your feature branch (
git checkout -b my-new-feature
). - Commit your changes (
git commit -am "Added some cool feature"
). - Push to the branch (
git push origin my-new-feature
). - Create a new Pull Request.
- Since v2.30 the style guide is automatically enforced by the
prettier formatter.
Compliance is automatically checked on check ins, so make sure to callgrunt format
from the command line before comitting. - Test the code. Add unit tests when possible.
- Does your change break any demos? Should new demos be added?
What about the documentation: should it be updated?
- For the testing framework install node.js
and grunt-cli,
then run
npm install
from the source folder. - After that you can run
grunt test
from the console in your checkout folder.
This will run the jshint checker and the unit test suite. - Note that also Travis is configured to do this for every checkin (and pull request).
- Create a pull-request.
In short
$ npm install -g grunt-cli
$ cd fancytree
$ npm install
$ grunt test
$ grunt dev
In general, new major features are added to Fancytree using the extension framework.
Please have a look at the guideline on writing Fancytree extensions.
Documentation Home - Project Page - Copyright (c) 2008-2022, Martin Wendt (https://wwWendt.de)