👍🎉 First off, thanks for taking the time to contribute! 🎉👍
Here is how you can help
Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved.
Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue or assessing patches and features.
Before you now get lost in the repository, here are a few starting points for you to check out. You might find that others have had similar questions or that your question rather belongs in one place than another.
- Chat (community): https://spectrum.chat/materialize
- Website: https://materialize-angular.workylab.com/
The issue tracker is the preferred channel for bug reports, features requests and submitting pull requests, but please respect the following conditions:
-
Please do not use the issue tracker for personal support requests. Stack Overflow
materialize-angular
tag is the best place to get help or use our Spectrum community. -
Please do not post comments like "+1" or ":thumbsup:". Use GitHub's "reactions" feature instead. We reserve the right to delete comments which violate this rule.
-
Please do not open issues without clearly stating the problem and desired result. See the bug reports section for more information on creating effective issues.
-
Please do search for duplicate or closed issues and make sure to go through our labels, before you open a new issue. Duplicate issues will be closed.
-
Please close your own issue once it is resolved.
-
Every participant is expected to follow the project's Code of Conduct so please be courteous and respectful.
Our bug tracker utilizes several labels to help organize and identify issues. Here's what they represent and how we use them:
breaking
- the issue breaks the projectgood first issues
- very good issue to start contributinghelp
- we need help with this issuepriority: critical
- critical priority issuepriority: high
- high priority issuepriority: low
- low priority issuepriority: medium
- medium priority issuerelease
- will not show in CHANGELOG file (only for deploy PR)status: abandoned
- abandoned statusstatus: accepted
- accepted statusstatus: available
- available statusstatus: blocked
- blocked statusstatus: completed
- completed statusstatus: in progress
- in progress statusstatus: on hold
- on hold statusstatus: pending
- pending statusstatus: review needed
- to review statustype: bug
- something is not workingtype: duplicate
- already existstype: enhancement
- new feature or requesttype: invalid
- this does not seem righttype: maintenance
- used for maintenancetype: question
- further information is requestedtype: wontfix
- this will not be worked onwork: chaotic
- chaotic work to make it possiblework: complex
- complex work to make it possiblework: complicated
- complicated work to make it possiblework: obvious
- obvious work to make it possible
For a complete look at our labels, see the project labels page.
A bug is a demonstrable problem that is caused by the code in the repository. Good bug reports are extremely helpful! Unclear issues with little explanations will be closed.
-
Use the GitHub issue search - check if the issue has already been reported.
-
Check if the issue has been fixed - try to reproduce it using the latest
master
ordev
branch in the repository. -
Isolate the problem — create a reduced test case using Codepen.
A good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed as possible in your report. What is your environment? What steps will reproduce the issue? What browser(s) and OS experience the problem? Do other browsers show the bug differently? What would you expect to be the outcome? All these details will help people to fix any potential bugs. Just make sure to fill out the issue template.
We like feature requests but make sure that it can be seen within the goals of the project and not just something you need individually. Also you should try and give as much examples and details about the new feature as possible. If you are requesting a component from the Material design guidelines, make sure to include a link to the component.
- Issues without a Codepen (where applicable) will be closed or ignored.
- Use this Codepen to illustrate your problem.
Good pull requests - patches, improvements, new features - are a fantastic help. Thanks for taking the time to contribute.
Please ask first before working on any significant pull request, otherwise you risk spending a lot of time working on something that the project's developers might not want to merge into the project.
When contributing to Materialize's documentation, you should edit the documentation repository in
materialize-angular-guide.
Do not edit the gh-pages
branch. That branch is generated from the documentation source files and is managed separately by the materialize-angular maintainers.
Adhering to the following process is the best way to get your work included in the project:
-
Fork the project, clone your fork, and configure the remotes:
# Clone your fork of the repo into the current directory git clone https://github.com/<your-username>/materialize-angular.git # Navigate to the newly cloned directory cd materialize-angular # Assign the original repo to a remote called "upstream" git remote add upstream https://github.com/workylab/materialize-angular.git
-
If you cloned a while ago, get the latest changes from upstream:
git checkout dev git pull upstream dev
-
Create a new topic branch (off the main project development branch) to contain your feature, change, or fix:
git checkout -b <topic-branch-name>
-
Commit your changes in logical chunks with messages written in english. Please adhere to these git commit message guidelines or your code is unlikely be merged into the main project.
-
Locally merge (or rebase) the upstream development branch into your topic branch:
git pull [--rebase] upstream dev
-
Push your topic branch up to your fork:
git push origin <topic-branch-name>
-
Open a Pull Request with a clear title and description against the
dev
branch. Reference any open issue in the description so it is automatically linked. Try and keep your commit history clean and concise. Once you submit your pull request, CircleCI will automatically run your tests and will show a checkmark to show that all the tests have passed. Once this is done, we’ll review your tests and code and make comments if there are issues or things we think could be improved. Then once everything looks good we’ll merge the code in!
We're working in the documentation translation. Hopefully we will have soon and we will add the possibility of contribute with more translations :)
WIP
IMPORTANT: By contributing your code, you agree to allow the project owners to license your work under the terms of the MIT License.