Skip to content

Commit 65f25e8

Browse files
shuashuaifenboxLinkinStars
authored
Build community (apache#126)
add community docs --------- Co-authored-by: fen <[email protected]> Co-authored-by: LinkinStars <[email protected]>
1 parent bd801ae commit 65f25e8

File tree

101 files changed

+6038
-3981
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+6038
-3981
lines changed

README.md

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,54 @@
11
# Website
22

3-
Answer official website is built using [Docusaurus 2](https://docusaurus.io/), and we use [pnpm](https://pnpm.io/) to manage dependencies.
4-
5-
### Installation
3+
Answer official website is built using [Docusaurus](https://docusaurus.io/), and we use [pnpm](https://pnpm.io/) to manage dependencies.
64

5+
```txt
6+
# Directory description
7+
.
8+
├── blog # blog posts
9+
├── community # community docs
10+
├── docs # using docs
11+
├── i18n # translation files
12+
├── plugins # plugin config
13+
├── src # components, custom css and pages
14+
├── static # static files
15+
└── ...
716
```
8-
// pnpm version should > 8
17+
18+
## Installation
19+
20+
```shell
21+
# pnpm version should > 8
922
pnpm i
1023
```
1124

12-
### Local Development
25+
## Local Development
1326

14-
```
27+
```shell
1528
pnpm start
1629
```
1730

1831
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
1932

20-
### Build
33+
## Build
2134

22-
```
35+
```shell
2336
pnpm build
2437
```
2538

2639
This command generates static content into the `build` directory and can be served using any static contents hosting service.
2740

28-
### Deployment
41+
## Deployment
2942

3043
Using SSH:
3144

32-
```
45+
```shell
3346
USE_SSH=true pnpm deploy
3447
```
3548

3649
Not using SSH:
3750

38-
```
51+
```shell
3952
GIT_USER=<Your GitHub username> pnpm deploy
4053
```
4154

blog/2023-05-12-what-is-q-and-a-platform-and-how-to-use-it/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ No matter what your Q&A platform is about, it’s always great to collect valuab
100100
💻 [GitHub Repo](https://github.com/apache/incubator-answer): Keep an eye on what we are up to lately on GitHub.
101101
📄[Documents](https://answer.apache.org/docs/): Everything you need to build your Answer Community from zero to hero.
102102
🐞 [Bug Report](https://github.com/apache/incubator-answer/issues): Hunt a bug? Simply report it for us to track efficiently.
103-
🚩[Public Roadmap](https://github.com/orgs/apache/projects/301): Feel free to drop a comment here and be a part of our roadmap!
103+
🚩[Public Roadmap](https://github.com/apache/incubator-answer/projects): Feel free to drop a comment here and be a part of our roadmap!
104104

105105
## Conclusion
106106

blog/2023-06-15-answer-1.1.0-release/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ From 1.0 to 1.1.0, it's not just a stack-up of numbers, but a step forward for y
1414
## Plugin: The New Wings to Your Answer
1515

1616
![Answer Supports Plugin](1.1.0release1.png)
17-
The most notable in this update is **the support of Plugin**. From small tweaks to big changes, you can make it happen in Answer. Read the documentation of Plugin [here](https://answer.apache.org/docs/development/extending/) before bust a move.
17+
The most notable in this update is **the support of Plugin**. From small tweaks to big changes, you can make it happen in Answer. Read the documentation of Plugin [here](https://answer.apache.org/docs/plugins) before bust a move.
1818

1919
A quick example is to embrace a simplified and efficient user authentication experience with the plugin's OAuth capabilities for your Answer. Now, your community members can sign up or log in with existing accounts from social media platforms. For adding other log-in options, admin can go **Admin\>Plugins\>OAuth2Basic**, then fill in the necessary information in **OAuth2Basic**.
2020

blog/2023-07-11-the-what-why-using-tags-for-online-community/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ In Answer, tag is a thread that connects users, content, and moderator. With mor
4444
Moderator can group related posts together and help organize content based on specific topics, themes, or categories.
4545

4646
![Game Community Built with Answer](OrganizeContent1.png)
47-
[![Support Community Built with Answer](OrganizeContent2.png)](../2023-07-05-how-to-build-a-help-center-with-your-users-and-answer/index.md)
47+
[![Support Community Built with Answer](OrganizeContent2.png)](/blog/2023/07/05/how-to-build-a-help-center-with-your-users-and-answer)
4848

4949
2. Quick Search
5050
Tags make content more discoverable. In Answer, users can search for specific tags to find relevant content they are looking for.

blog/2023-09-27-celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Celebrate Answer’s first birthday with contributions, the more the better, no
4343

4444
### Vaunt Your Contribution
4545

46-
We are partnering with [Vaunt](https://github.com/VauntDev) during Hacktoberfest to reward contributions. Our team will have an initial review of the submitted issues, and tag it with **hacktoberfest-accepted** first. Then, we will have a closer look to see whether it shares the same goals or visions with our[roadmap](https://github.com/orgs/apache/projects/301). If it’s a yes, we will add **LGTM** tag to it, and congratulations you’ll get a digital badge from us! Here's a group photo of all the badges, from top to bottom and left to right, in order: Plugin Maestro, Bug Hunter, and Visionary Architect. Earn it and show them with pride.
46+
We are partnering with [Vaunt](https://github.com/VauntDev) during Hacktoberfest to reward contributions. Our team will have an initial review of the submitted issues, and tag it with **hacktoberfest-accepted** first. Then, we will have a closer look to see whether it shares the same goals or visions with our[roadmap](https://github.com/apache/incubator-answer/projects). If it’s a yes, we will add **LGTM** tag to it, and congratulations you’ll get a digital badge from us! Here's a group photo of all the badges, from top to bottom and left to right, in order: Plugin Maestro, Bug Hunter, and Visionary Architect. Earn it and show them with pride.
4747

4848
![Answer Digital Badges for 2023](banner.png)
4949

@@ -53,11 +53,11 @@ Bonus: for the top 3 accepted plugins contributions, you’ll also receive a bag
5353

5454
## Resources and FAQ
5555

56-
Here's the gear you need before making a contribution, and we are always here to help ;)
56+
Here's the gear you need before making a contribution, and we are always here to help ;
5757

58-
* Docs: <https://answer.apache.org/docs/>
59-
* Community: <https://meta.answer.dev/>
60-
58+
* Docs: https://answer.apache.org/docs/
59+
* Community: https://meta.answer.dev
60+
6161

6262
1. How to show my digital badges on my GitHub?
6363

community/about.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
slug: /about
3+
---
4+
# About
5+
6+
As a Q&A platform software, we are committed to creating great product that let more people experience the fun and efficiency of Q&A communities, unleash the collective wisdom. As an open-source project, we also hope to embrace the Apache way, and attract more partners sharing the same goals to join our community. Let's build an inclusive and thriving open-source community together.
7+
8+
## Roles
9+
10+
Apache Answer aligns with the Apache Way. Based on community philosophy of Apache Foundation, our community has the following roles: users, contributors, committers, and PMCs.
11+
12+
### Users
13+
14+
For Apache Answer users, you can share and communicate with other users in the [community](/community). If you need help, you can refer to our [documentations](/docs) and pick the one that works for you. We encourage everyone to help each other, so when you have an answer to a question while searching, please don't hesitate to respond. We also welcome more users to join our contributor family.
15+
16+
### Contributor
17+
18+
Becoming a contributor means you are interested in and contribute to the project, not just code. In Answer, there are ways of contribution, and you can find out more [here](/community/contributing). As long as you contribute to the Answer project, you are a recognized Answer Contributor. If you become a valuable contributor to the project, the Project Management Committee (PMC) may invite you to become a Committer.
19+
20+
### Committer
21+
22+
Committers have read-write access to the code repository, have signed the Contributor License Agreement (CLA), and have an `@apache.org` email address. They can directly patch the code or documentation, and the Project Management Committee (PMC) will generally approve these changes by default, or reject them. Of course, the final decision is made by the PMC, not the committer individually.
23+
24+
There's no set timeline or specific code contribution requirement to become a committer, long-term active contributors are typically considered strong candidates. The Apache Software Foundation embraces diverse contributions, so anyone who supports the community and is following the CoPDoC (Contributing to Apache Projects by Doing the Right Thing) is a potential candidate for committership.
25+
26+
As a committer, you'll play a crucial role in shaping the project's future. You'll review and merge code changes, test and vote on release candidates, engage in product discussions, and continue to contribute in various ways. If a committer is active and has made significant contributions to the community, they may be invited to join the Project Management Committee (PMC).
27+
28+
### PMC (Project Management Committee)
29+
30+
A project management committee (PMC) is a committee of the Apache Software Foundation charged with [responsibility and governance](https://www.apache.org/foundation/governance/pmcs.html) for their top level project. The PMC is the vehicle through which decision-making power and responsibility for oversight devolves to developers.
31+
32+
While committers on a project have the ability to update the code, only the PMC as a body has the authority to vote on formal releases of the project's software. The PMC is also responsible for voting in new committers and PMC members to the project, and following other policies as outlined in this [document](https://www.apache.org/dev/pmc.html#policy).
33+
34+
## Reference
35+
36+
- https://community.apache.org/contributors
37+
- https://community.apache.org/contributors/becomingacommitter.html
38+
- https://www.apache.org/dev/pmc.html
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
slug: /contributing
3+
---
4+
5+
# Contributing
6+
7+
Thanks for your interest in contributing to Apache Answer, hopefully, this document makes the process for contributing clear.
8+
9+
The [Open Source Guides](https://opensource.guide/) website has a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open source project. Contributors and people new to open source alike will find the following guides especially useful:
10+
11+
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
12+
- [Building Welcoming Communities](https://opensource.guide/building-community/)
13+
14+
## Code of conduct
15+
16+
Apache Answer has adopted a Code of Conduct that we expect project participants to adhere to. Please read the [full text](https://www.apache.org/foundation/policies/conduct.html) so that you can understand what actions will and will not be tolerated.
17+
18+
## Get involved
19+
20+
Apache Answer is an open source project built by passionate users, contributors, and PMC members. We are committed to creating an open and inclusive community, and we welcome everyone to join us in embracing the Apache way and building open source together.
21+
22+
Anyone can contribute to Answer. In addition to contributing code, there are many other ways to get involved, such as:
23+
24+
##### Using Answer
25+
26+
- Getting started with Answer is easy. Just follow our [Getting Started Guide](/docs/installation) to see if everything works as expected.
27+
- If not, you can [create an issue](/community/issues) to report a bug or suggest an improvement.
28+
29+
##### Triaging issues and pull requests
30+
31+
- Ask for more information if you believe the [issues](/community/issues) does not provide all the details required to solve it.
32+
- Suggest [labels](https://github.com/apache/incubator-answer/labels) that can help categorize issues.
33+
- Flag issues that are stale or that should be closed.
34+
- Ask for test plans and review code.
35+
36+
##### Contributing code
37+
38+
- Claim the issue if you find one that you can solve. Create a [pull request](/community/pull-request) to submit your changes.
39+
- Issues labeled as [`good first issue`](https://github.com/apache/incubator-answer/labels/good%20first%20issue) are great for getting started.
40+
41+
##### Improving documentations
42+
43+
- If you find any typos, grammar, or errors when reading our [docs](/docs), simply click on "Edit this page" and make edits on GitHub.
44+
45+
##### Develop plugins
46+
47+
- Extend the functionality of Answer with plugins.
48+
- There are features that users are expecting, and you can claim or create your needs with [develop and submit](/community/plugins).
49+
50+
##### Helping with version releases
51+
52+
- Help us make Answer even better by testing new candidate releases and voting on [[email protected]](https://lists.apache.org/[email protected]).
53+
- If you don't find any problems, give it a `+1 (non-binding)` upvote.
54+
- If you find a problem, give it a `-1 (non-binding)` downvote.
55+
56+
##### Contributing translations
57+
58+
- If you are fluent in a language other than English, you can help us translate Answer into other languages using [Crowdin](https://crowdin.com/project/answer).
59+
- Please refer to the [Contributing Translations Guide](/community/translation) for more information.
60+
61+
##### Helping with support
62+
63+
- You can be of great help by helping other users on [Answer Meta](https://meta.answer.dev).
64+
- Reply and solve the questions in the [Mailing List](/community/#mailing-list).
65+
66+
##### Promoting Answer
67+
68+
- Share Answer on Social Media
69+
- Share your story with Answer to more people
70+
- Join our meetup, forum, etc.
71+
72+
##### Others
73+
74+
- Got new ideas? All contributions are very welcome.
75+
- If you think you need help planning your contribution, please [reach us](/community/#others) and let us know you are looking for a bit of help.
76+
77+
## Development process
78+
79+
Answer uses [GitHub](https://github.com/apache/incubator-answer) as its source of truth. The core team will be working directly there. All changes will be public from the beginning.
80+
81+
All pull requests will be checked by the continuous integration system, GitHub actions. There are unit tests, and much more.
82+
83+
### Branch organization
84+
85+
Answer has one primary branch `main` and we use feature branches with deploy previews to deliver new features with pull requests.

community/contributing/development.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
slug: /development
3+
---
4+
5+
# Development
6+
7+
## Frontend
8+
9+
### Installation
10+
11+
1. Ensure you have [node](https://nodejs.org/en) and [pnpm](https://pnpm.io/installation) installed.
12+
2. After cloning the repository, run the following command. This will install all dependencies as well as build all local packages.
13+
14+
```shell
15+
$ cd ./ui
16+
$ pnpm install
17+
```
18+
19+
3. To start a development server, run `pnpm start`. now, your browser should already open automatically, and autoload `http://localhost:3000`. you can also manually visit it.
20+
4. To switch API, you can modify the `ui/.env.development` file and then re-run pnpm start. If you're just using it yourself, we recommend creating a `.env.development.local` file that defines the address of the api you're going to use.
21+
22+
### Code conventions
23+
24+
- **Most important: Look around.** Match the style you see used in the rest of the project. This includes formatting, naming files, naming things in code, naming things in documentation, etc.
25+
- We do have Prettier (a formatter) and ESLint (a syntax linter) to catch most stylistic problems. If you are working locally, you can run `pnpm lint` and `pnpm prettier` to fix most code formatting.
26+
- **No runtime errors** Before submitting the code, please ensure that there will be no errors when running locally. This will greatly reduce the workload of review.
27+
28+
29+
## Backend
30+
31+
### Installation
32+
33+
1. Ensure you have [golang](https://go.dev/doc/install) installed.
34+
2. After cloning the repository, run the following command for build.
35+
36+
```shell
37+
$ go mod download
38+
$ go run cmd/answer/main.go init -C ./answer-data
39+
```
40+
41+
3. Visit `http://localhost/` to see the installation page and complete the installation.
42+
43+
4. Run the following command to start the server.
44+
```shell
45+
$ go run cmd/answer/main.go run -C ./answer-data
46+
```
47+
48+
### Code conventions
49+
50+
We recommend that you follow [uber's Golang Guidelines](https://github.com/uber-go/guide) code style.

0 commit comments

Comments
 (0)