mirror of
https://github.com/ryanoasis/nerd-fonts.git
synced 2024-12-13 17:18:37 +02:00
2.5 KiB
2.5 KiB
Contributing Guide
How to contribute
Work In Progress, for now the minimum:
- Fork the project from the
master
branch and submit a Pull Request (PR)- Explain what the PR fixes or improves
- Screenshots for bonus points
- Use sensible commit messages
- If your PR fixes a separate issue number, include it in the commit message
Adding a new font
- Check the license even allows the font to be modified and shared
- Add the original (unpatched) version of the font and any readme and/or license files to the
unpatched-sample-fonts
directory inside a new directory- e.g. Adding XYZ Font, create directory
src/unpatched-fonts/xyz/{PUT FONT FILES HERE}
- e.g. Adding XYZ Font, create directory
- Do a basic test with the new font to ensure it patches correctly and generates a new font file, e.g.
./font-patcher src/unpatched-fonts/XYZ/XYZ.ttf --powerline --powerlineextra
- Make sure to then delete this new font file if it is in the repository (all patched fonts should be generated in the
patched-fonts/
directory)
- When fairly satisfied the font patches correctly, patch all of the variations/options, e.g.
./gotta-patch-em-all-font-patcher\!.sh XYZ
- Add the new font to the README table of supported fonts
Things to keep in mind
- Smaller PRs are likely to be merged more quickly than bigger changes
- If it is a useful PR it will get merged in eventually
- This project is using Semantic Versioning 2.0.0
- I try to group fixes into milestones/versions
- If your bug or PR is not trivial it will likely end up in the next MINOR version
- If your bug or PR is trivial or critical it will likely end up in the next PATCH version
- Most of the time PRs and fixes are not merged directly into master without being present on a new versioned branch
- Sometimes for small items I will make exceptions to get the fix or readme change on master sooner but even after there will always be a versioned branch to keep track of each release
Commit messages
- squash or not to squash into 1 commit ? (@todo)
- require a specific format for commit messages for consistency ? (@todo)
Code standards
Shell Scripts
- Follow ShellCheck - A shell script static analysis tool
- Try to follow Google's Shell Style Guide
Python
- Use 4 spaces for indentation
- Consider PEP8 and other (@todo)