This is the repository of Community portal. The current online version of this portal can be found at https://community.torproject.org or [Community Onion Service](http://3gldbgtv5e4god56.onion/).
or browse it [online](http://gitweb.torproject.org/project/web/community.git).
## How to report bugs or feedback
First check if your issue wasn't already opened in [dip.torproject.org](https://dip.torproject.org/web/community/issues), then file a [trac ticket](https://trac.torproject.org/projects/tor/newticket) and choose the component: Webpages/Community.
## What is Lektor
[Lektor](https://www.getlektor.com/) is a framework to generate and serve websites from Markdown files.
Its code can be found at [GitHub](https://github.com/lektor/lektor).
## How to contribute
### (Easy) Edit this page button
You can click ```Edit this page``` and submit your content changes in a [Pull Request in GitHub](https://github.com/torproject/community/pulls).
### (Advanced) Compiling a local version of the website
1. Download and install Lektor: https://www.getlektor.com/downloads/
2. Install the lektor-i18n plugin and its [dependencies](https://github.com/numericube/lektor-i18n-plugin#prerequisites).
5. Translations for the website are imported by Jenkins when bulding the page, but if you want to test them, download the correct branch of the translations repo to the ./i18n/ folder.
1. When starting work on an issue or content, please assign the issue to yourself and move into the `Doing` column on the [Community Portal Project Board](https://dip.torproject.org/web/community/-/boards). You can follow the process outlined in ["How to send a merge request or propose a change"](https://dip.torproject.org/web/tpo/wikis/Git-flow-and-merge-requests#how-to-send-a-merge-request-or-propose-a-change) to work on your changes.
2. To view your changes on the website, you can [run lektor locally](https://dip.torproject.org/web/tpo/wikis/Compiling-a-local-version-of-the-website).
3. Once you are happy with your work, push your changes to `develop` branch and move to `needs-review` column on the [Community Portal Project Board](https://dip.torproject.org/web/community/-/boards).
4. Add a comment to the issue, tagging the reviewer, e.g. `@steph`, with:
- Location of page on lektor-staging `develop` branch, e.g. https://lektor-staging.torproject.org/community/develop/.
- Contents file, containing your changes where it would be located on the **reviewer's repo**, e.g. `https://dip.torproject.org/steph/community/blob/develop/content/onion-services/contents.lr`.
- For the review workflow, please see (Reviewer Workflow).
5. Once the work has been reviewed and any necessary changes and merge request has been made, a repo maintainer or team members with write access to gitweb master will then merge or cherry-pick these changes to master, following the workflow outlined in [How to use our git flow](https://dip.torproject.org/web/tpo/wikis/Git-flow-and-merge-requests#how-to-use-our-git-flow).
- Update "Title" with a short title to explain your changes.
- Update "Description", you can use the commit message you entered before additionally referencing the original issue you have reviewed, e.g. `https://dip.torproject.org/web/community/issues/3`, and tagging one of the repo maintainers, e.g. `@pili`, so they know the change can be merged.
5. Reviewer should comment on the original issue with a link to the merge request created, e.g. `https://dip.torproject.org/steph/community/merge_requests/2`.
This is the workflow that external volunteers should use when making changes on the Community Portal:
We recommend that you use our [github mirror](https://github.com/torproject/community) to submit PRs and contributions to our Community repo. Once you have a PR ready you should:
At this point, one of us on the website team will aim to review your PR within 24h during the week (this may take longer on the weekends). Review will involve:
- If there are any fixes necessary, we will ask for changes to be made.
Once it all looks good and behaves correctly, we will merge your request to the master branch of the community portal [canonical repo](https://gitweb.torproject.org/project/web/community.git/) on [gitweb](https://gitweb.torproject.org/) master.