Thanks for your interest in contributing to Ionicons! 🎉
Please see our Contributor Code of Conduct for information on our rules of conduct.
-
If you have a question about using Ionicons, please ask on the Ionic Forum or in the Ionic Discord.
-
It is required that you clearly describe the steps necessary to reproduce the issue you are running into. Although we would love to help our users as much as possible, diagnosing issues without clear reproduction steps is extremely time-consuming and simply not sustainable.
-
The issue list of this repository is exclusively for bug reports and feature requests. Non-conforming issues will be closed immediately.
-
If you think you have found a bug, or have a new feature idea, please start by making sure it hasn't already been reported. You can search through existing issues to see if there is a similar one reported. Include closed issues as it may have been closed with a solution.
-
Next, create a new issue that thoroughly explains the problem.
-
We appreciate you taking the time to contribute! Before submitting a pull request, we ask that you please create an issue that explains the bug or feature request and let us know that you plan on creating a pull request for it. If an issue already exists, please comment on that issue letting us know you would like to submit a pull request for it. This helps us to keep track of the pull request and make sure there isn't duplicated effort.
-
Looking for an issue to fix? Make sure to look through our issues with the help wanted label!
While we appreciate all contributions, please note that we do not accept contributions that add or modify icon SVG assets. All SVG asset modifications are done by Ionic's in-house design team to ensure design consistency across the entire icon set. If there is an icon you need added or an existing icon you need modified please create a new issue.
Contributions that fix bugs in or add features to the ion-icon
component are welcome!
- Download the installer for the LTS version of Node.js. This is the best way to also install npm.
- Fork this repository.
- Clone your fork.
- Create a new branch from
main
for your change. - Run
npm install
from the root directory to install dependencies for this package. - Run
npm run build
to perform a first time build. - Modify the Icon Component if desired.
- Or, modify and preview the site.
- Navigate to the
src/components/
directory and open theicon
component to modify. - Make any changes to the icon component and then preview the changes.
- Run
npm start
from the root directory to start a local version of the icon test. - Modify the icon test as needed in the
index.html
file. - If you are modifying icons, you can run
npm run build.files
to re-run the SVG optimization script to verify there are no changes after optimizing the SVG.
- Create a new pull request with the
main
branch as thebase
. You may need to click oncompare across forks
to find your changes. - See the Creating a pull request from a fork GitHub help article for more information.
- Please fill out the Pull Request template to the best of your ability and include any issues that are related.
The documentation site for Ionicons is located in the ionicons-site repository.
By contributing your code to the ionic-team/ionicons GitHub Repository, you agree to license your contribution under the MIT license.