|
1 | 1 | # Contributing Guidelines |
2 | 2 |
|
3 | | -:tada: First of all, thank you for considering contributing to this project! :tada: |
| 3 | +:tada: _First of all, thank you for considering contributing to this project!_ :tada: |
4 | 4 |
|
5 | | -There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into Chirpy itself. |
6 | | - |
7 | | -As a consumer of the open source community, you should make sure that you have gone through the [Wiki][wiki] to understand the project features and how to use it properly. This is to respect the time of the project's developers and maintainers, and to save their energy for other problems that really need to be solved. Please DO NOT email or tweet the project maintainers directly, everything about Chirpy should be left in GitHub issues/PRs. |
8 | | - |
9 | | -**Tips**: If you are new to open source community, here is a very useful article for you — "[How To Ask Questions The Smart Way][ext-reading]". |
| 5 | +There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug |
| 6 | +reports and feature requests or writing code which can be incorporated into Chirpy itself. |
10 | 7 |
|
11 | 8 | ## In This Article |
12 | 9 |
|
| 10 | +- [General Rules](#general-rules) |
13 | 11 | - [Questions and Requests for Help](#questions-and-requests-for-help) |
14 | 12 | - [File a Bug Report](#file-a-bug-report) |
15 | 13 | - [Suggest a New Feature](#suggest-a-new-feature) |
16 | | -- [Submitting a Pull Request](#submitting-a-pull-request) |
17 | | - - [Contributing Code and Documentation Changes](#contributing-code-and-documentation-changes) |
18 | | - - [How To Pass the CI Tests](#how-to-pass-the-ci-tests) |
19 | | - |
20 | | -## Questions and Requests for Help |
21 | | - |
22 | | -We want to make sure that every reasonable question you have is answered appropriately. In most cases, you can get an answer by checking the Wiki and existing issues. Alternatively, you can ask a question in the [Jekyll Forum][forum] and [StackOverflow][stack_overflow], where there are tons of enthusiastic geeks eager to answer your interesting questions. |
| 14 | +- [Contributing Code and Documentation Changes](#contributing-code-and-documentation-changes) |
| 15 | +- [Helpful Resources](#helpful-resources) |
23 | 16 |
|
24 | | -If you can't get an answer in any of the above ways, then open a new issue as your last option. As long as it is not a duplicate / [RTFM][rtfm] / [STFW][stfw] issue, we will respond as soon as possible. |
| 17 | +## General Rules |
25 | 18 |
|
26 | | -## File a Bug Report |
27 | | - |
28 | | -A great way to contribute to the project is to send a detailed issue when you encounter a problem. We always appreciate a well-written, thorough bug report. |
| 19 | +All contributions should be based on the following rules: |
29 | 20 |
|
30 | | -- If the issue is caused by you modifying the project code or some configuration of Jekyll, then please **DO NOT** report such "bugs". |
31 | | -This project is open source, but it doesn't mean that we will maintain other specific projects (such as yours). |
32 | | -You can learn about Jekyll and modern Web development to solve problems caused by custom modifications. |
| 21 | +- You should read through the [Wiki][wiki] to understand the project features and how to use it properly. This is to |
| 22 | +respect the time of the project's developers and |
| 23 | +maintainers, and to save their energy for other problems that really need to be resolved. |
33 | 24 |
|
34 | | -- Update to the latest version and see if that solves the problem. |
| 25 | +- Use the [latest release version][latest-ver]. If your contribution involves code/documentation changes, update to the |
| 26 | +latest version of the default (`master`) branch. |
35 | 27 |
|
36 | | -- Make good use of your browser's incognito mode to troubleshoot if the problem is caused by caching. |
| 28 | +- Avoid making duplicate contributions by searching for existing [Issues][issues] / [Discussioins][discus] / |
| 29 | +[Pull Requests][pr], but don't leave any unhelpful comments such as "I have the same problem". Prefer using |
| 30 | +[reactions][gh-reactions] if you simply want to "+1" an existing issue. |
37 | 31 |
|
38 | | -- Search for similar issues, but don't leave unhelpful comments such as "I had the same problem". Prefer using [reactions][gh-reactions] if you simply want to "+1" an existing issue. |
| 32 | +- DO NOT email or tweet the |
| 33 | +project developers and maintainers directly, everything about Chirpy should be left in GitHub. |
39 | 34 |
|
40 | | -- Once you've gone through the above, you can use the bug-report template to create a new issue, filling in the description of the bug according to the template. If you can, provide a small example of the bug that can be reproduced for faster troubleshooting. |
41 | | - |
42 | | -## Suggest a New Feature |
| 35 | +**Tips**: If you're new to open source, see "[How To Ask Questions The Smart Way][ext-reading]". |
43 | 36 |
|
44 | | -Feature requests are welcome! While we will consider all requests, we cannot guarantee your request will be accepted. |
| 37 | +## Questions and Requests for Help |
45 | 38 |
|
46 | | -We want to avoid chaos in the UI design, so we won't accept requests for changes like color schemes, font families, typography, and so on. **Do not open a duplicate feature request.** Search for existing feature requests first. If you find your feature (or one very similar) previously requested, comment on that issue. |
| 39 | +We expect every reasonable question you ask to be answered appropriately. If you want a quick and timely response, |
| 40 | +please ask questions at [Jekyll Talk][jekyll-talk] and [StackOverflow][stack-overflow], where there are tons of |
| 41 | +enthusiastic geeks who will positively answer your challenging questions. |
47 | 42 |
|
48 | | -If accepted, we cannot make any commitments regarding the timeline for implementation and release. However, you are welcome to submit a pull request to help! |
| 43 | +If you can't get an answer in any of the above ways, then create a new [discussion][discus]. As long as it is not a |
| 44 | +duplicate and [RTFM][rtfm] / [STFW][stfw] issue, we will respond as soon as possible. |
49 | 45 |
|
50 | | -## Submitting a Pull Request |
| 46 | +## File a Bug Report |
51 | 47 |
|
52 | | -### Contributing Code and Documentation Changes |
| 48 | +A great way to contribute to the project is to send a detailed issue when you encounter a problem. We always appreciate |
| 49 | +a well-written, thorough bug report. |
53 | 50 |
|
54 | | -In short, you can follow these steps to complete the contribution. |
| 51 | +1. Please figure out why the bug occurred, or locate the module in the project that caused this bug. Otherwise, there is |
| 52 | +a high probability that you are using/setting it incorrectly. |
55 | 53 |
|
56 | | -1. Fork this project on GitHub and clone your repository locally. |
57 | | -2. Setting up the [development environment][dev-env]. |
58 | | -3. Create a new branch from the default branch and give it a descriptive name (e.g. `add-a-new-feat` or `fix-a-bug`). When development is complete, create a [Conventional Commit][cc] with Git. (See also: "[Verify the commits](#verify-the-commits)") |
59 | | -4. Create a [Pull Request][gh-pr]. |
| 54 | +2. If the issue is caused by you modifying the project code or some configuration of Jekyll, then please DO NOT |
| 55 | +report such "bugs". |
| 56 | +Chirpy is an open-source project, but that doesn't mean we will maintain other specific forks (such as yours). |
| 57 | +You can learn about Jekyll and modern Web development to solve problems caused by custom modifications. |
60 | 58 |
|
61 | | -### How To Pass the CI Tests |
| 59 | +3. Make good use of your browser's incognito mode to troubleshoot if the problem is caused by caching. |
62 | 60 |
|
63 | | -This project has [CI][ci] turned on. In order for your pull request to pass the test, |
64 | | -please read the following. |
| 61 | +4. As a last option, you can create a new [Bug Report][new-issue] follow the template to describe the details. |
| 62 | +If possible, providing a demo that reproduces the error will help us troubleshoot faster. |
65 | 63 |
|
66 | | -#### Verify the Commits |
| 64 | +## Suggest a New Feature |
67 | 65 |
|
68 | | -Before you create a git commit, please complete the following setup. |
| 66 | +Feature requests are welcome! While we will consider all requests, we cannot guarantee your request will be accepted. |
69 | 67 |
|
70 | | -Install `commitlint` & `husky`: |
| 68 | +We want to avoid chaos in the UI design, so we won't accept requests for changes like color schemes, font families, |
| 69 | +typography, and so on. **Do not open a duplicate feature request.** Search for existing feature requests first. If you |
| 70 | +find your feature (or one very similar) previously requested, comment on that issue. |
71 | 71 |
|
72 | | -```console |
73 | | -npm i -g @commitlint/{cli,config-conventional} husky |
74 | | -``` |
| 72 | +If accepted, we cannot make any commitments regarding the timeline for implementation and release. However, you are |
| 73 | +welcome to submit a pull request to help! |
75 | 74 |
|
76 | | -And then enable `husky`: |
| 75 | +## Contributing Code and Documentation Changes |
77 | 76 |
|
78 | | -```console |
79 | | -husky install |
80 | | -``` |
| 77 | +In short, you can follow these steps to complete the contribution. |
81 | 78 |
|
82 | | -#### Check the Core Functionality |
83 | | - |
84 | | -```console |
85 | | -bash ./tools/test |
86 | | -``` |
| 79 | +1. Fork this project on GitHub and clone your repository locally. |
| 80 | +2. Setting up the [development & test environments][dev-env]. |
| 81 | +3. Create a new branch from the default branch and give it a descriptive name (e.g. `add-a-new-feat` or `fix-a-bug`). |
| 82 | +When development is complete, create a [Conventional Commit][cc] with Git. |
| 83 | +4. Create a new [Pull Request][gh-pr]. |
87 | 84 |
|
88 | | -#### Check the SASS Code Style |
| 85 | +## Helpful Resources |
89 | 86 |
|
90 | | -```console |
91 | | -npm test |
92 | | -``` |
| 87 | +- [Code of conduct](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/.github/CODE_OF_CONDUCT.md) |
| 88 | +- [Security policy](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/.github/SECURITY.md) |
93 | 89 |
|
| 90 | +[latest-ver]: https://github.com/cotes2020/jekyll-theme-chirpy/releases/latest |
94 | 91 | [wiki]: https://github.com/cotes2020/jekyll-theme-chirpy/wiki |
| 92 | +[issues]: https://github.com/cotes2020/jekyll-theme-chirpy/issues?q=is%3Aissue |
| 93 | +[pr]: https://github.com/cotes2020/jekyll-theme-chirpy/pulls |
| 94 | +[discus]: https://github.com/cotes2020/jekyll-theme-chirpy/discussions |
95 | 95 | [ext-reading]: http://www.catb.org/~esr/faqs/smart-questions.html |
96 | | -[forum]: https://talk.jekyllrb.com/ |
97 | | -[stack_overflow]: https://stackoverflow.com/questions/tagged/jekyll |
| 96 | +[jekyll-talk]: https://talk.jekyllrb.com/ |
| 97 | +[stack-overflow]: https://stackoverflow.com/questions/tagged/jekyll |
98 | 98 | [rtfm]: https://en.wikipedia.org/wiki/RTFM |
99 | 99 | [stfw]: https://www.webster-dictionary.org/definition/STFW |
100 | 100 | [gh-reactions]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/ |
101 | | -[dev-env]: https://github.com/cotes2020/jekyll-theme-chirpy/wiki/Development |
| 101 | +[new-issue]: https://github.com/cotes2020/jekyll-theme-chirpy/issues/new/choose |
| 102 | +[dev-env]: https://github.com/cotes2020/jekyll-theme-chirpy/wiki/Development-&-Test-Environments |
102 | 103 | [cc]: https://www.conventionalcommits.org/ |
103 | 104 | [gh-pr]: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests |
104 | | -[ci]: https://en.wikipedia.org/wiki/Continuous_integration |
0 commit comments