{"id":18254643,"url":"https://github.com/torproject/community","last_synced_at":"2025-04-05T04:12:15.010Z","repository":{"id":40895231,"uuid":"175427245","full_name":"torproject/community","owner":"torproject","description":"Tor community website","archived":false,"fork":false,"pushed_at":"2025-03-25T12:07:32.000Z","size":78567,"stargazers_count":31,"open_issues_count":11,"forks_count":79,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-29T03:11:16.989Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/torproject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://donate.torproject.org"]}},"created_at":"2019-03-13T13:32:51.000Z","updated_at":"2025-03-25T12:07:37.000Z","dependencies_parsed_at":"2024-12-24T02:10:52.573Z","dependency_job_id":"eec9807e-a09a-4755-a3d2-6af338a0f926","html_url":"https://github.com/torproject/community","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torproject%2Fcommunity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torproject%2Fcommunity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torproject%2Fcommunity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torproject%2Fcommunity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/torproject","download_url":"https://codeload.github.com/torproject/community/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247284951,"owners_count":20913704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T10:13:07.744Z","updated_at":"2025-04-05T04:12:14.987Z","avatar_url":"https://github.com/torproject.png","language":"JavaScript","funding_links":["https://donate.torproject.org"],"categories":[],"sub_categories":[],"readme":"# Community portal\n\nThis 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://xmrhfasfg5suueegrnc4gsgyi2tyclcy5oz7f5drnrodmdtob6t2ioyd.onion/).\n\nTo clone the code use either of \n\n```git clone https://gitlab.torproject.org/tpo/web/community.git```\n\n```torify git clone http://eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion/tpo/web/community.git/``` \n\nor browse it [online](https://gitlab.torproject.org/tpo/web/community).\n\n## How to report bugs or feedback \n\nFirst, check if the bug is already known. You can search and read all the issues at https://gitlab.torproject.org/. To create a new issue, please [request a new account](https://gitlab.onionize.space/) to access Tor Project's GitLab instance and [find the right repository](https://gitlab.torproject.org/tpo) to report your issue. Issues related to our websites should be filed under the [Web issue tracker](https://gitlab.torproject.org/groups/tpo/web/-/issues).\n\n## What is Lektor\n\n[Lektor](https://www.getlektor.com/) is a framework to generate and serve websites from Markdown files.\n\nIts code can be found at [GitHub](https://github.com/lektor/lektor).\n\n## How to contribute\n\n### (Easy) Edit this page button\n\nYou can click ```Edit this page``` and submit your content changes in a [Pull Request in GitLab](https://gitlab.torproject.org/tpo/web/community/-/merge_requests/).\n\n### (Advanced) Compiling a local version of the website\n\nSee this guide on our wiki: https://gitlab.torproject.org/tpo/web/team/-/wikis/documentation/Compiling-a-local-version-of-the-website\n\n### Translations\n\nTo help us to translate, please join the [Tor Project team](https://hosted.weblate.org/projects/tor/) on Weblate.\n\n### Getting help\n\nIf you want to contribute to the Community portal, we will be happy to help you. Join us at #tor-www in [irc.oftc.net](https://www.oftc.net).\n\n### Section-specific instructions\n\nInstructions for maintaining specific sections of the website.\n\n#### Adding user stories\n\nUser stories are located under `content/outreach/stories`.\n\nTo add a new user story, add a new directory with the story's pseudonymous name. In that directory two files are required, `portrait.png` and `contents.lr` containing the story text.\n\nFor the portrait, generate one manually from the [CC0](https://creativecommons.org/public-domain/cc0/) [OpenPeeps illustration library](https://www.openpeeps.com/). It should be resized to a 220px-sided square. A portrait from another story may also be re-used.\n\nFor the story content, the `contents.lr` file should be formatted as follows:\n\n```\n---\n_model: story\n---\nhtml: outreach-story.html\n---\nsection: Stories\n---\nsection_id: stories\n---\ntitle: \u003ctitle\u003e\n---\ncategory:\n\n\u003ccategory\u003e\n---\nsummary: \u003csummary\u003e\n---\nbody:\n\n\u003cbody\u003e\n```\n\nReplace the placeholders as follows:\n\n - `\u003ctitle\u003e`: Capitalized pseudonymn for this story\n - `category`: one or more of `activism`, `anti-censorship`, `civic-participation`, `encryption`, `freedom-of-information`, `healthcare`, `lgbtqia`, `online-safety`, `preace-of-mind`, `press-freedom`, `privacy` (as defined in `databags/story-categories.ini`), one category per line\n - `\u003csummary\u003e`: text shown on the index page below the portrait (one or two short phrases)\n - `\u003cbody\u003e`: full story content (the first paragraph will be automatically \"featured\")\n\nThese steps can be done directly in the GitLab Web IDE: simply create a new branch, enter the editor environment, create the directory, add/edit the needed files and finally, create and push a new commit. GitLab will then offer the option to create a merge request. Once the MR is created, a \"review app\" will be deployed allowing to preview the changes.\n\n#### Adding training guides for training resources\n\nEach training resource can optionally have a training guide. You can create a training guide for a particular resource by creating a new lektor contents file with the path `content/training/resources/\u003cresource name\u003e-guide/contents.lr`. So to create a guide for a resource called `all-about-tor`, you would create `content/training/resources/all-about-tor-guide/contents.lr`. Here's an example contents file for a training guide:\n\n```\n_model: resource\n---\ntitle: All About Tor Training Guide\n---\nauthor: Tor Project\n---\ncover:\n---\nbackground: white\n---\nimage: /static/images/onion.png\n---\nbody: body test goes here!\n---\nexternal_sources:\nhttps://www.acsac.org/2011/program/keynotes/syverson.pdf\nhttps://matt.traudt.xyz/posts/2021-02-22-tor-spelling/\n---\nobjectives:\nUnderstand the privacy advantages of the Tor network.\nUnderstand the breadth of the Tor ecosystem of tools.\nIdentify properties important in privacy-preserving technologies.\n---\ntopics:\nfoo\nbar\nbaz\n---\nsample_slides:\n\n#### sample_slide ####\nlanguage: English\n----\nview_link: link to view the training guide\n----\npdf_link: link to the pdf guide\n----\nodp_link: link to the odp guide\n----\n\n#### sample_slide ####\nlanguage: Español\n----\nview_link: link to view the training guide\n----\npdf_link: link to the pdf guide\n----\nodp_link: link to the odp guide\n```\n\n## Design\n\n### The community-generator plugin\n\nThis lektor site uses a special plugin called `community-generator`, you can find it in the `packages` directory. This plugin generates a special set of lektor contents files used for a js-free filtering system on the training resources page.\n\nYou shouldn't need to do anything or know anything about this plugin in order to use it. If you want to develop on this plugin, see the plugin's [README](packages/community-generator/README.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorproject%2Fcommunity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftorproject%2Fcommunity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorproject%2Fcommunity/lists"}