👍 First of all, thanks for contributing! The team is happy to help if you have any questions. Have a look to this contributing guide and also to the FAQ section. 🐾 The following is a set of guidelines for contributing to Snappy, which is hosted by the KNP Labs Organization on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document opening a pull request.
This project and everyone participating in it is governed by the following Code of Conduct. By participating, you are expected to uphold this code.
- Verify that you are using the latest Snappy version;
- Double-check the documentation and the FAQ section to see if you're not misusing the library;
- Check if the issue is a Snappy issue and not a wkhtmltopdf issue (see how to);
- Check if the issue has already been reported. If it has and the issue is still open, add a comment to the existing issue instead of opening a new one.
In order to verify that the issue is a Snappy issue and not a wkhtmltopdf issue, simply copy paste the command displayed in the error message in your command prompt. If the same error appears on the command line, then it's a wkhtmltopdf issue and you'll have more chance to resolve your issue there.
To report a Snappy bug please open a GitHub issue following the rules below.
- Use a clear and descriptive title for the issue to identify the problem;
- Describe the steps needed to reproduce the bug including a code example when possible;
- Give as much detail as possible about your environment (OS, PHP version, Snappy configuration, ...);
To suggest Snappy enhancements please open a GitHub issue following the rules below.
- Use a clear and descriptive title for the issue to identify the problem;
- Provide a step-by-step description of the suggested enhancement in as many details as possible;
- Explain why this enhancement would be useful with one or more use cases;
A pull request, is the best way to provide a bug fix or to propose enhancements to Snappy.
When submitting a pull request please be sure to follow the same rules described above in Reporting a bug and Suggesting enhancements sections depending on the nature of your change.
Before starting to work on a large change please open an issue to ask the maintainers if they are fine with it (no one likes to work for nothing!).
- Fork the repository
- Once the repository has been forked clone it locally
git clone git@github.com:USERNAME/snappy.git
- Create a new branch
git checkout -b BRANCH_NAME master
- Code!!!
- Add/Update tests (if needed)
- Update documentation (if needed)
- Run the tests and make sure that they are passing
composer unit-tests
composer static-analysis
- Squash your commits
- Rebase your branch on master and fix merge conflicts
- Open the pull request