Thank you for your interest in contributing to the Röntgen icon set!
Röntgen is a personal design project, and I want to keep it that way. Icon design is inherently subjective, and this project reflects my personal preferences, so I cannot add icons drawn by someone else to the set.
However, the following contributions are highly welcome:
- Request icon coverage for your preferred OpenStreetMap tags.
- Suggest new icons or design changes (please open an issue for discussion).
- Improvements and bugfixes in the Python code (pull requests are welcome).
- Shape: a single SVG path created by iconscript or extracted from an SVG
sketch file. It has only an
idand the path data itself. - Icon: a visual symbol described in
data/config.json. It has anid, human-readablename,keywords, categories, and one or more shape references.
- Install development dependencies:
pip install -e .[dev]. - Install Rust implementation of iconscript:
cargo install iconscript@0.3. - Enable pre-commit hooks:
git config --local core.hooksPath .githooks.
- Change version in
VERSIONfiles:
echo "$VERSION_NUMBER" > VERSION
echo "$VERSION_NUMBER" > icons/VERSION-
Change version in
pyproject.toml, andpackage.json. -
Update
CHANGELOG.md. -
Commit and push.
git add VERSION icons/VERSION pyproject.toml CHANGELOG.md
git commit -m "Update version to $VERSION_NUMBER"
git push-
Check if tests pass on GitHub.
-
If tests pass, add and push a tag:
git tag -a v$VERSION_NUMBER -m "Version $VERSION_NUMBER"
git push origin v$VERSION_NUMBER- Create ZIP file with icons:
cp -r icons/ release/roentgen-$VERSION_NUMBER
cd release
zip -r roentgen-$VERSION_NUMBER.zip roentgen-$VERSION_NUMBER/
cd ..- Create new GitHub Release:
gh release create v$VERSION_NUMBER \
--title "Version $VERSION_NUMBER" \
release/roentgen-$VERSION_NUMBER.zip- Build and publish Python package:
rm -r dist/
source .venv/bin/activate
python -m build
python -m twine upload dist/roentgen_icons-$VERSION_NUMBER*
deactivate
cd ..- Publish npm package:
npm publish --access public