mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-02 19:50:15 +08:00
Reorganized contribution guidelines page (#1784)
* feat(website): update dependencies * docs: reorganized contribution guidelines page * feat(website): modify the side directory configuration * chore: update issue documentation template and configuration
This commit is contained in:
parent
fba9411235
commit
18dae3c5f0
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
@ -1,4 +1,4 @@
|
|||||||
blank_issues_enabled: false
|
blank_issues_enabled: true
|
||||||
contact_links:
|
contact_links:
|
||||||
- name: GitHub Community Discussions
|
- name: GitHub Community Discussions
|
||||||
url: https://github.com/wailsapp/wails/discussions
|
url: https://github.com/wailsapp/wails/discussions
|
||||||
|
2
.github/ISSUE_TEMPLATE/documentation.yml
vendored
2
.github/ISSUE_TEMPLATE/documentation.yml
vendored
@ -20,7 +20,7 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
label: Have you read the Documentation Contribution Guidelines?
|
label: Have you read the Documentation Contribution Guidelines?
|
||||||
options:
|
options:
|
||||||
- label: I have read the [Documentation Contribution Guidelines](https://wails.io/contributing/documenting).
|
- label: I have read the [Documentation Contribution Guidelines](https://wails.io/community-guide#ways-of-contributing).
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
|
@ -227,6 +227,10 @@ const config = {
|
|||||||
],
|
],
|
||||||
copyright: `Copyright © ${new Date().getFullYear()} Lea Anthony. Built with Docusaurus.`,
|
copyright: `Copyright © ${new Date().getFullYear()} Lea Anthony. Built with Docusaurus.`,
|
||||||
},
|
},
|
||||||
|
tableOfContents: {
|
||||||
|
minHeadingLevel: 2,
|
||||||
|
maxHeadingLevel: 5,
|
||||||
|
},
|
||||||
prism: {
|
prism: {
|
||||||
theme: lightCodeTheme,
|
theme: lightCodeTheme,
|
||||||
darkTheme: darkCodeTheme,
|
darkTheme: darkCodeTheme,
|
||||||
|
@ -14,9 +14,9 @@
|
|||||||
"write-heading-ids": "docusaurus write-heading-ids"
|
"write-heading-ids": "docusaurus write-heading-ids"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@docusaurus/core": "2.0.0-beta.17",
|
"@docusaurus/core": "^2.0.1",
|
||||||
"@docusaurus/preset-classic": "2.0.0-beta.17",
|
"@docusaurus/preset-classic": "^2.0.1",
|
||||||
"@docusaurus/theme-search-algolia": "^2.0.0-beta.18",
|
"@docusaurus/theme-search-algolia": "^2.0.1",
|
||||||
"@mdx-js/react": "^1.6.22",
|
"@mdx-js/react": "^1.6.22",
|
||||||
"@wails/react-contributors": "^1.1.3",
|
"@wails/react-contributors": "^1.1.3",
|
||||||
"clsx": "^1.1.1",
|
"clsx": "^1.1.1",
|
||||||
|
@ -2,4 +2,174 @@
|
|||||||
|
|
||||||
The number of Wails users is growing at an incredible rate, and if you're reading this, chances are you're ready to join. So... welcome!
|
The number of Wails users is growing at an incredible rate, and if you're reading this, chances are you're ready to join. So... welcome!
|
||||||
|
|
||||||
To become a contributor please see the [ways of contributing](/contributing/ways-of-contributing).
|
## Resources
|
||||||
|
|
||||||
|
### Code of Conduct
|
||||||
|
|
||||||
|
coming soon...
|
||||||
|
|
||||||
|
### Stay in the Know
|
||||||
|
|
||||||
|
- Follow our [official Twitter account](https://twitter.com/wailsapp).
|
||||||
|
|
||||||
|
### Get Support
|
||||||
|
|
||||||
|
- [GitHub](https://github.com/wailsapp/wails) - If you have a bug to report or feature to request, that's what the GitHub issues are for. Please respect the rules specified in each repository's issue template.
|
||||||
|
- [Slack](https://gophers.slack.com/messages/CJ4P9F7MZ/) - A place for Wails devs to meet and chat in real time.
|
||||||
|
- [QQ Group(中文)](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - A Wails group for Chinese developers to communicate, where you can get help from other developers.
|
||||||
|
|
||||||
|
### Explore the Ecosystem
|
||||||
|
|
||||||
|
- [The Awesome Wails Page](https://github.com/wailsapp/awesome-wails) - See what other awesome resources have been published by other awesome people.
|
||||||
|
|
||||||
|
## Ways of contributing
|
||||||
|
|
||||||
|
Wails is an open source, community driven project. We welcome anyone to join us in
|
||||||
|
contributing to the project. This documentation is aimed at anyone wishing to get
|
||||||
|
familiar with the project and the development processes.
|
||||||
|
|
||||||
|
There are many ways to contribute to the project:
|
||||||
|
|
||||||
|
- Developing new features
|
||||||
|
- Fixing bugs
|
||||||
|
- Testing
|
||||||
|
- Documenting features
|
||||||
|
- Writing tutorials / guides
|
||||||
|
- Helping others on the issues + discussions boards
|
||||||
|
|
||||||
|
Guides for these have been created in their own sections. Before getting started,
|
||||||
|
please introduce yourself in the [Contributing to Wails](https://github.com/wailsapp/wails/discussions/1520)
|
||||||
|
discussion.
|
||||||
|
|
||||||
|
### Developing New Features
|
||||||
|
|
||||||
|
We are always keen to add features to Wails and expand on what the project can do.
|
||||||
|
The process for adding new features are as follows:
|
||||||
|
|
||||||
|
- Pick an enhancement ticket with the "TODO" label. It's preferable to select one from the current
|
||||||
|
[Backlog](https://github.com/orgs/wailsapp/projects/1/views/1) but the choice is yours.
|
||||||
|
- Before developing, check that the ticket includes the following information:
|
||||||
|
- The purpose of the enhancement
|
||||||
|
- What is out of scope for the enhancement
|
||||||
|
- What platforms the enhancement targets (most features should be cross-platform unless there's a very specific reason)
|
||||||
|
- If the ticket does not include this information, feel free to request the information from the
|
||||||
|
person who opened the ticket. Sometimes placeholder tickets are created and require more details
|
||||||
|
- Comment on the ticket stating you wish to develop the feature
|
||||||
|
- Clone the repository and create a branch with the format `feature/<ticket_number>_<ticket_title>`
|
||||||
|
- New features often require documentation so please ensure you have also added or updated the documentation as part of
|
||||||
|
the changes
|
||||||
|
- Once the feature is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and
|
||||||
|
test cases listed with checkmarks, so that others can know what still needs to be tested.
|
||||||
|
- Once all the testing is completed, please update the status of the PR from draft and leave a message.
|
||||||
|
|
||||||
|
:::note
|
||||||
|
There is nothing stopping you from opening a ticket and working on it yourself, but please be aware that all
|
||||||
|
enhancement requests are reviewed for good fit. Not all ideas will be selected so it's best to have discussion
|
||||||
|
on the ticket first.
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
Any PRs opened without a corresponding ticket may be rejected.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Fixing Bugs
|
||||||
|
|
||||||
|
The process for fixing bugs are as follows:
|
||||||
|
|
||||||
|
- Check the current [Backlog](https://github.com/orgs/wailsapp/projects/1/views/1) and select a bug to fix
|
||||||
|
- Before developing, check that the ticket includes the following information:
|
||||||
|
- The scope of the issue including platforms affected
|
||||||
|
- The steps to reproduce. Sometimes bugs are opened that are not Wails issues and the onus is on the reporter to
|
||||||
|
prove that it is a Wails issue with a minimal reproducible example
|
||||||
|
- The output of `wails doctor`
|
||||||
|
- If the ticket does not include this information, feel free to request the information from the
|
||||||
|
person who opened the ticket.
|
||||||
|
- Comment on the ticket stating you wish to develop a fix
|
||||||
|
- Clone the repository and create a branch with the format `bugfix/<ticket_number>_<ticket_title>`
|
||||||
|
- Once the fix is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and
|
||||||
|
test cases listed with checkmarks, so that others can know what still needs to be tested.
|
||||||
|
- Once all the testing is completed, please update the status of the PR from draft and leave a message.
|
||||||
|
|
||||||
|
:::note
|
||||||
|
There is nothing stopping you from opening a ticket and working on it yourself, but please be aware that all
|
||||||
|
bugfixes should be discussed as the approach may have unintended side effects.
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
Any PRs opened without a corresponding ticket may be rejected.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
|
||||||
|
Testing is vitally important to ensure quality in the project. There are a couple of
|
||||||
|
scenarios where testing can really help the project:
|
||||||
|
|
||||||
|
- Testing if a bug is reproducible on your local system
|
||||||
|
- Testing PRs to ensure that they work correctly
|
||||||
|
|
||||||
|
If you chose to test if someone's bug report is reproducible on your local system, then
|
||||||
|
feel free to add a comment on the ticket confirming this with the output of `wails doctor`.
|
||||||
|
|
||||||
|
To test PRs, choose a PR to test and check if the PR description has the testing scenarios
|
||||||
|
listed. If not, please ask the person who opened the PR to provide that list. Once you have
|
||||||
|
determined a valid test scenario, please report your findings on the PR.
|
||||||
|
|
||||||
|
If you ever need more clarity or help on testing, please ask a question in the [Contributing to Wails](https://github.com/wailsapp/wails/discussions/1520)
|
||||||
|
discussion or on slack.
|
||||||
|
|
||||||
|
### Documenting
|
||||||
|
|
||||||
|
This website is also the main documentation site for the project. Sometimes this gets
|
||||||
|
out of date and needs some slight adjustments. Some of the documentation isn't written
|
||||||
|
to the best standards either. Developing documentation is hard and so any contribution
|
||||||
|
to this is greatly appreciated. Features without documentation are unfinished so to the
|
||||||
|
project, it's _as important_ as the code.
|
||||||
|
|
||||||
|
We generally do not create tickets for updating documentation so if there is text you
|
||||||
|
think should be updated or rephrased then feel free to submit a PR for that. This site
|
||||||
|
is in the main repository under the `website` directory. We use [Docusaurus](https://docusaurus.io/) to create
|
||||||
|
the site so there is plenty of existing documentation and tutorials around to get started.
|
||||||
|
|
||||||
|
To set up a local documentation development environment, do the following:
|
||||||
|
|
||||||
|
- [Install npm](https://docs.npmjs.com/cli/v8/configuring-npm/install)
|
||||||
|
- `cd website`
|
||||||
|
- `npm install`
|
||||||
|
- `npm run start`
|
||||||
|
|
||||||
|
After it has all installed and is running, you should see the site at [`http://localhost:3000`](http://localhost:3000).
|
||||||
|
Any changes made to the site text will be immediately reflected in the browser.
|
||||||
|
|
||||||
|
#### Versioning
|
||||||
|
|
||||||
|
We employ a versioning system where we have the "latest" documentation AKA "Next Version" which
|
||||||
|
has all the changes that have occurred since the last release. We also keep the last release
|
||||||
|
documentation as well as the version before that.
|
||||||
|
|
||||||
|
There isn't usually a reason to update released documentation so we don't generally update
|
||||||
|
the documents in the `versioned_docs` or `versioned_sidebars` directories.
|
||||||
|
|
||||||
|
The "next version" docs are mainly in `website/docs` with some "version independent" documents
|
||||||
|
in `src/pages`. Any updates should be made in the `website/docs` directory.
|
||||||
|
|
||||||
|
#### Languages
|
||||||
|
|
||||||
|
The default documents of the Wails project are English documents. We use the "crowdin" tool to translate documents in other languages and synchronize them to the website. You can [join our project](https://crowdin.com/project/wails) and submit your translations to make contributions.
|
||||||
|
|
||||||
|
##### Add new language
|
||||||
|
|
||||||
|
If you want to add a new language to the documentation, please follow the prompts to [fill in and submit an Issue](https://github.com/wailsapp/wails/issues/new?assignees=&labels=documentation&template=documentation.yml). After being confirmed by the maintainer, we will add the language to the "crowdin" and you will then be able to submit your translation.
|
||||||
|
|
||||||
|
### Helping Others
|
||||||
|
|
||||||
|
A great way to contribute to the project is to help others who are experiencing difficulty.
|
||||||
|
This is normally reported as a ticket or a message on the Wails slack channel. Even just
|
||||||
|
clarifying the issue can really help out. Sometimes, when an issue is discussed and gets
|
||||||
|
resolved, we create a guide out of it to help others who face the same issues.
|
||||||
|
|
||||||
|
To join the Wails slack channel, accept the invite [here](https://gophers.slack.com/join/shared_invite/zt-197vymgt3-sJt4oyakb6nqlVKjXTyeVw#/shared-invite/email)
|
||||||
|
and join us on the channel by following [this link](https://gophers.slack.com/?redir=%2Fmessages%2FCJ4P9F7MZ%2F).
|
||||||
|
|
||||||
|
:::note
|
||||||
|
Work In Progress
|
||||||
|
:::
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
# Developing New Features
|
|
||||||
|
|
||||||
We are always keen to add features to Wails and expand on what the project can do.
|
|
||||||
The process for adding new features are as follows:
|
|
||||||
|
|
||||||
- Pick an enhancement ticket with the "TODO" label. It's preferable to select one from the current
|
|
||||||
[Backlog](https://github.com/orgs/wailsapp/projects/1/views/1) but the choice is yours.
|
|
||||||
- Before developing, check that the ticket includes the following information:
|
|
||||||
- The purpose of the enhancement
|
|
||||||
- What is out of scope for the enhancement
|
|
||||||
- What platforms the enhancement targets (most features should be cross-platform unless there's a very specific reason)
|
|
||||||
- If the ticket does not include this information, feel free to request the information from the
|
|
||||||
person who opened the ticket. Sometimes placeholder tickets are created and require more details
|
|
||||||
- Comment on the ticket stating you wish to develop the feature
|
|
||||||
- Clone the repository and create a branch with the format `feature/<ticket_number>_<ticket_title>`
|
|
||||||
- New features often require documentation so please ensure you have also added or updated the documentation as part of
|
|
||||||
the changes
|
|
||||||
- Once the feature is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and
|
|
||||||
test cases listed with checkmarks, so that others can know what still needs to be tested.
|
|
||||||
- Once all the testing is completed, please update the status of the PR from draft and leave a message.
|
|
||||||
|
|
||||||
:::note
|
|
||||||
There is nothing stopping you from opening a ticket and working on it yourself, but please be aware that all
|
|
||||||
enhancement requests are reviewed for good fit. Not all ideas will be selected so it's best to have discussion
|
|
||||||
on the ticket first.
|
|
||||||
:::
|
|
||||||
|
|
||||||
:::warning
|
|
||||||
Any PRs opened without a corresponding ticket may be rejected.
|
|
||||||
:::
|
|
@ -1,42 +0,0 @@
|
|||||||
# Documenting
|
|
||||||
|
|
||||||
This website is also the main documentation site for the project. Sometimes this gets
|
|
||||||
out of date and needs some slight adjustments. Some of the documentation isn't written
|
|
||||||
to the best standards either. Developing documentation is hard and so any contribution
|
|
||||||
to this is greatly appreciated. Features without documentation are unfinished so to the
|
|
||||||
project, it's _as important_ as the code.
|
|
||||||
|
|
||||||
We generally do not create tickets for updating documentation so if there is text you
|
|
||||||
think should be updated or rephrased then feel free to submit a PR for that. This site
|
|
||||||
is in the main repository under the `website` directory. We use [Docusaurus](https://docusaurus.io/) to create
|
|
||||||
the site so there is plenty of existing documentation and tutorials around to get started.
|
|
||||||
|
|
||||||
To set up a local documentation development environment, do the following:
|
|
||||||
|
|
||||||
- [Install npm](https://docs.npmjs.com/cli/v8/configuring-npm/install)
|
|
||||||
- `cd website`
|
|
||||||
- `npm install`
|
|
||||||
- `npm run start`
|
|
||||||
|
|
||||||
After it has all installed and is running, you should see the site at [`http://localhost:3000`](http://localhost:3000).
|
|
||||||
Any changes made to the site text will be immediately reflected in the browser.
|
|
||||||
|
|
||||||
## Versioning
|
|
||||||
|
|
||||||
We employ a versioning system where we have the "latest" documentation AKA "Next Version" which
|
|
||||||
has all the changes that have occurred since the last release. We also keep the last release
|
|
||||||
documentation as well as the version before that.
|
|
||||||
|
|
||||||
There isn't usually a reason to update released documentation so we don't generally update
|
|
||||||
the documents in the `versioned_docs` or `versioned_sidebars` directories.
|
|
||||||
|
|
||||||
The "next version" docs are mainly in `website/docs` with some "version independent" documents
|
|
||||||
in `src/pages`. Any updates should be made in the `website/docs` directory.
|
|
||||||
|
|
||||||
## Languages
|
|
||||||
|
|
||||||
The default documents of the Wails project are English documents. We use the "crowdin" tool to translate documents in other languages and synchronize them to the website. You can [join our project](https://crowdin.com/project/wails) and submit your translations to make contributions.
|
|
||||||
|
|
||||||
### Add new language
|
|
||||||
|
|
||||||
If you want to add a new language to the documentation, please follow the prompts to [fill in and submit an Issue](https://github.com/wailsapp/wails/issues/new?assignees=&labels=documentation&template=documentation.yml). After being confirmed by the maintainer, we will add the language to the "crowdin" and you will then be able to submit your translation.
|
|
@ -1,26 +0,0 @@
|
|||||||
# Fixing Bugs
|
|
||||||
|
|
||||||
The process for fixing bugs are as follows:
|
|
||||||
|
|
||||||
- Check the current [Backlog](https://github.com/orgs/wailsapp/projects/1/views/1) and select a bug to fix
|
|
||||||
- Before developing, check that the ticket includes the following information:
|
|
||||||
- The scope of the issue including platforms affected
|
|
||||||
- The steps to reproduce. Sometimes bugs are opened that are not Wails issues and the onus is on the reporter to
|
|
||||||
prove that it is a Wails issue with a minimal reproducible example
|
|
||||||
- The output of `wails doctor`
|
|
||||||
- If the ticket does not include this information, feel free to request the information from the
|
|
||||||
person who opened the ticket.
|
|
||||||
- Comment on the ticket stating you wish to develop a fix
|
|
||||||
- Clone the repository and create a branch with the format `bugfix/<ticket_number>_<ticket_title>`
|
|
||||||
- Once the fix is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and
|
|
||||||
test cases listed with checkmarks, so that others can know what still needs to be tested.
|
|
||||||
- Once all the testing is completed, please update the status of the PR from draft and leave a message.
|
|
||||||
|
|
||||||
:::note
|
|
||||||
There is nothing stopping you from opening a ticket and working on it yourself, but please be aware that all
|
|
||||||
bugfixes should be discussed as the approach may have unintended side effects.
|
|
||||||
:::
|
|
||||||
|
|
||||||
:::warning
|
|
||||||
Any PRs opened without a corresponding ticket may be rejected.
|
|
||||||
:::
|
|
@ -1,13 +0,0 @@
|
|||||||
# Helping Others
|
|
||||||
|
|
||||||
A great way to contribute to the project is to help others who are experiencing difficulty.
|
|
||||||
This is normally reported as a ticket or a message on the Wails slack channel. Even just
|
|
||||||
clarifying the issue can really help out. Sometimes, when an issue is discussed and gets
|
|
||||||
resolved, we create a guide out of it to help others who face the same issues.
|
|
||||||
|
|
||||||
To join the Wails slack channel, accept the invite [here](https://gophers.slack.com/join/shared_invite/zt-197vymgt3-sJt4oyakb6nqlVKjXTyeVw#/shared-invite/email)
|
|
||||||
and join us on the channel by following [this link](https://gophers.slack.com/?redir=%2Fmessages%2FCJ4P9F7MZ%2F).
|
|
||||||
|
|
||||||
:::note
|
|
||||||
Work In Progress
|
|
||||||
:::
|
|
@ -1,29 +0,0 @@
|
|||||||
# Setting up a Development Environment
|
|
||||||
|
|
||||||
You can set up a development environment by doing the following:
|
|
||||||
|
|
||||||
- Install the latest versions of Go and Git
|
|
||||||
- `git clone https://github.com/wailsapp/wails`
|
|
||||||
- `cd wails/v2/cmd/wails`
|
|
||||||
- `go install`
|
|
||||||
|
|
||||||
NOTE: The directory that you cloned the project into will now be called "clonedir".
|
|
||||||
|
|
||||||
The Wails CLI will now be at the very latest version.
|
|
||||||
|
|
||||||
To update projects to use the latest version, update the project's `go.mod` and
|
|
||||||
ensure the following line is at the bottom of the file:
|
|
||||||
|
|
||||||
`replace github.com/wailsapp/wails/v2 => <clonedir>`
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
On Windows:
|
|
||||||
`replace github.com/wailsapp/wails/v2 => C:\Users\leaan\Documents\wails-v2-beta\wails\v2`
|
|
||||||
|
|
||||||
On 'nix:
|
|
||||||
`replace github.com/wailsapp/wails/v2 => /home/me/projects/wails/v2`
|
|
||||||
|
|
||||||
To revert back to a stable version, run:
|
|
||||||
|
|
||||||
`go install github.com/wailsapp/wails/v2/cmd/wails@latest`
|
|
@ -1,17 +0,0 @@
|
|||||||
# Testing
|
|
||||||
|
|
||||||
Testing is vitally important to ensure quality in the project. There are a couple of
|
|
||||||
scenarios where testing can really help the project:
|
|
||||||
|
|
||||||
- Testing if a bug is reproducible on your local system
|
|
||||||
- Testing PRs to ensure that they work correctly
|
|
||||||
|
|
||||||
If you chose to test if someone's bug report is reproducible on your local system, then
|
|
||||||
feel free to add a comment on the ticket confirming this with the output of `wails doctor`.
|
|
||||||
|
|
||||||
To test PRs, choose a PR to test and check if the PR description has the testing scenarios
|
|
||||||
listed. If not, please ask the person who opened the PR to provide that list. Once you have
|
|
||||||
determined a valid test scenario, please report your findings on the PR.
|
|
||||||
|
|
||||||
If you ever need more clarity or help on testing, please ask a question in the [Contributing to Wails](https://github.com/wailsapp/wails/discussions/1520)
|
|
||||||
discussion or on slack.
|
|
@ -1,18 +0,0 @@
|
|||||||
# Ways of contributing
|
|
||||||
|
|
||||||
Wails is an open source, community driven project. We welcome anyone to join us in
|
|
||||||
contributing to the project. This documentation is aimed at anyone wishing to get
|
|
||||||
familiar with the project and the development processes.
|
|
||||||
|
|
||||||
There are many ways to contribute to the project:
|
|
||||||
|
|
||||||
- Developing new features
|
|
||||||
- Fixing bugs
|
|
||||||
- Testing
|
|
||||||
- Documenting features
|
|
||||||
- Writing tutorials / guides
|
|
||||||
- Helping others on the issues + discussions boards
|
|
||||||
|
|
||||||
Guides for these have been created in their own sections. Before getting started,
|
|
||||||
please introduce yourself in the [Contributing to Wails](https://github.com/wailsapp/wails/discussions/1520)
|
|
||||||
discussion.
|
|
Loading…
Reference in New Issue
Block a user