Merge remote-tracking branch 'origin/main' into more_restore_note

This commit is contained in:
Dessalines 2023-06-08 12:13:05 -04:00
commit 607e16d18d
14 changed files with 29 additions and 18 deletions

View file

@ -12,11 +12,19 @@ pipeline:
#- git fetch --tags
- git submodule init
- git submodule update --recursive --remote
check_formatting:
image: tmknom/prettier
commands:
- prettier -c src
check_typos:
image: alpine:3
commands:
- wget -O typos.tar.gz https://github.com/crate-ci/typos/releases/download/v1.14.12/typos-v1.14.12-x86_64-unknown-linux-musl.tar.gz
- tar -xzf typos.tar.gz
- ./typos src/en
check_documentation_build:
image: rust:1.61-slim-buster
commands:

View file

@ -2,6 +2,9 @@
authors = ["Felix Ableitner"]
src = "src"
[output.html]
git-repository-url = "https://github.com/LemmyNet/lemmy-docs"
[language.en]
name = "English"
title = "Lemmy Documentation"

View file

@ -24,7 +24,7 @@ Lemmy uses roughly 150 MB of RAM in the default Docker installation. CPU usage i
In some cases, it might be necessary to use different installation methods.
- [From Scratch](from_scratch.md)
- [Yunohost](https://install-app.yunohost.org/?app=lemmy) ([source code](https://github.com/YunoHost-Apps/lemmy_ynh))
- [YunoHost](https://install-app.yunohost.org/?app=lemmy) ([source code](https://github.com/YunoHost-Apps/lemmy_ynh))
- [On Amazon Web Services (AWS)](on_aws.md)
### You could use any other reverse proxy

View file

@ -9,7 +9,7 @@ to AWS using their [Cloud Development Kit](https://docs.aws.amazon.com/cdk/lates
### Included:
- ECS fargate cluster
- ECS Fargate cluster
- Lemmy-UI
- Lemmy
- Pictrs

View file

@ -32,7 +32,7 @@ brew install node yarn
### Setup PostgreSQL database
Debian-based disto:
Debian-based distro:
```bash
sudo apt install postgresql
@ -92,7 +92,7 @@ Run Rust unit tests:
./scripts/test.sh
```
To run federation/API tests, first add the follwing lines to `/etc/hosts`:
To run federation/API tests, first add the following lines to `/etc/hosts`:
```
127.0.0.1 lemmy-alpha

View file

@ -97,7 +97,7 @@ You can also look at the following real-world projects as examples:
### Creating a Custom Frontend
The Lemmy backend and frontend are completely seperate projects. This creates a lot of potential for alternative frontends which can change much of the design and user experience of Lemmy. For example, it is possible to create a frontend in the style of a traditional forum like [phpBB](https://www.phpbb.com/), a question-and-answer site like [stackoverflow](https://stackoverflow.com/), a blogging platform or an image gallery. This way you don't have to write any SQL queries, federation logic, API code and so on, but can use the proven implementation from Lemmy. It is also possible to run multiple frontends for a single Lemmy instance.
The Lemmy backend and frontend are completely separate projects. This creates a lot of potential for alternative frontends which can change much of the design and user experience of Lemmy. For example, it is possible to create a frontend in the style of a traditional forum like [phpBB](https://www.phpbb.com/), a question-and-answer site like [Stack Overflow](https://stackoverflow.com/), a blogging platform or an image gallery. This way you don't have to write any SQL queries, federation logic, API code and so on, but can use the proven implementation from Lemmy. It is also possible to run multiple frontends for a single Lemmy instance.
#### Development
@ -105,7 +105,7 @@ The easiest way to get started is by forking one of the [existing frontends](htt
#### Translations
You can add the [lemmy-translations](https://github.com/LemmyNet/lemmy-translations) repository to your project as a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules). That way you can take advantage of same translations used in the official frontend, and you will also receive new translations contributed via weblate.
You can add the [lemmy-translations](https://github.com/LemmyNet/lemmy-translations) repository to your project as a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules). That way you can take advantage of same translations used in the official frontend, and you will also receive new translations contributed via Weblate.
#### Rate limiting

View file

@ -111,7 +111,7 @@ A page with title, and optional URL and text content. The attachment URL often l
| `attachment` | A single website or image link |
| `image` | Thumbnail for `url`, only present if it is an image link |
| `commentsEnabled` | False indicates that the post is locked, and no comments can be added |
| `sensitive` | True marks the post as NSFW, blurs the thumbnail and hides it from users with NSFW settign disabled |
| `sensitive` | True marks the post as NSFW, blurs the thumbnail and hides it from users with NSFW setting disabled |
| `stickied` | True means that it is shown on top of the community |
| `published` | Datetime when the post was created |
| `updated` | Datetime when the post was edited (not present if it was never edited) |

View file

@ -4,7 +4,7 @@ Lemmy is a selfhosted, federated social link aggregation and discussion forum. I
Federation is a form of decentralization. Instead of a single central service that everyone uses, there are multiple services that any number of people can use.
A Lemmy website can operate alone. Just like a traditional website, people sign up on it, post messages, upload pictures and talk to each other. Unlike a traditional website, Lemmy instances can interoperate, letting their users communicate with each other; just like you can send an email from your Gmail account to someone from Outlook, Fastmail, Protonmail, or any other email provider, as long as you know their email address, you can mention or message anyone on any website using their address.
A Lemmy website can operate alone. Just like a traditional website, people sign up on it, post messages, upload pictures and talk to each other. Unlike a traditional website, Lemmy instances can interoperate, letting their users communicate with each other; just like you can send an email from your Gmail account to someone from Outlook, Fastmail, Proton Mail, or any other email provider, as long as you know their email address, you can mention or message anyone on any website using their address.
Lemmy uses a standardized, open protocol to implement federation which is called ActivityPub. Any software that likewise implements federation via ActivityPub can seamlessly communicate with Lemmy, just like Lemmy instances communicate with one another.
@ -19,6 +19,6 @@ In practical terms: Imagine if you could follow a Facebook group from your Reddi
Unlike proprietary services, anyone has the complete freedom to run, examine, inspect, copy, modify, distribute, and reuse the Lemmy source code. Just like how users of Lemmy can choose their service provider, you as an individual are free to contribute features to Lemmy or publish a modified version of Lemmy that includes different features. These modified versions, also known as software forks, are required to also uphold the same freedoms as the original Lemmy project. Because Lemmy is libre software that respects your freedom, personalizations are not only allowed but encouraged.
<sub>You can contribute to this documentation in the [git repository](https://github.com/LemmyNet/lemmy-docs/pull/172).</sub>
<sub>You can contribute to this documentation in the [git repository](https://github.com/LemmyNet/lemmy-docs).</sub>
<sub>This page is adapted from [Mastodon documentation](https://docs.joinmastodon.org/) under CC BY-SA 4.0.</sub>

View file

@ -54,7 +54,7 @@ On this page you can also change the email and password. Additionally there are
- **Languages**: Select the languages that you speak to see only content in these languages. This is a new feature and many posts don't specify a language yet, so be sure to select "Undetermined" to see them.
- **Theme**: You can choose between different color themes for the user interface. Instance admins can add more themes.
- **Type**: Which timeline you want to see by default on the frontpage; only posts from communities that you subscribe to, posts in local communities, or all posts including federated.
- **Sort type**: How posts and comments should be sorted by default. See [05-votes-and-ranking] for details.
- **Sort type**: How posts and comments should be sorted by default. See [Votes and Ranking](03-votes-and-ranking.md) for details.
- **Show NSFW content**: Whether or not you want to see content that is "not safe for work" (or adult-only).
- **Show Scores**: Whether the number of upvotes and downvotes should be visible.
- **Show Avatars**: Whether profile pictures of other users should be shown.

View file

@ -26,4 +26,4 @@ The main type of content in Lemmy is text which can be formatted with Markdown.
Lemmy also allows sharing of images and videos. To upload an image, go to the _Create post_ page and click the little image icon under the _URL_ field. This allows you to select a local image. If you made a mistake, a popup message allows you to delete the image. The same image button also allows uploading of videos in .gif format. Instead of uploading a local file, you can also simply paste the URL of an image or video from another website.
Note that this functionality is not meant to share large images or videos, because that would require too many server resources. Instead, upload them on another platform like [Peertube](https://joinpeertube.org/) or [Pixelfed](https://pixelfed.org/), and share the link on Lemmy.
Note that this functionality is not meant to share large images or videos, because that would require too many server resources. Instead, upload them on another platform like [PeerTube](https://joinpeertube.org/) or [Pixelfed](https://pixelfed.org/), and share the link on Lemmy.

View file

@ -4,12 +4,12 @@ Lemmy uses a voting system to sort post listings. On the left side of each post
When browsing the frontpage or a community, you can choose between the following sort types for posts:
- **Active** (default): Calculates a rank based on the score and time of the latest comment, with decay over time. See [this page] for more details
- **Active** (default): Calculates a rank based on the score and time of the latest comment, with decay over time
- **Hot**: Like active, but uses time when the post was published
- **New**: Shows most recent posts first
- **Old**: Shows oldest posts first
- **Most Comments**: Shows posts with highest number of comments first
- **New Comments**: Bumps posts to the top when they receive a new reply analogous to the sorting of traditional forums.
- **New Comments**: Bumps posts to the top when they receive a new reply analogous to the sorting of traditional forums
- **Top Day**: Highest scoring posts during the last 24 hours
- **Top Week**: Highest scoring posts during the last 7 days
- **Top Month**: Highest scoring posts during the last 30 days

View file

@ -1,6 +1,6 @@
## Censorship resistance
Today's social media landscape is extremely centralised. The vast majority of users are concentrated on only a handful of platforms like Facebook, Reddit or Twitter. All of these are maintained by large corporations that are subject to profit motive and United States law. In recent years these platforms have increasingly censored users and entire communities, often with questionable justifications. It is only natural that those who are affected by this search for alternatives. This document is intended to help with the evaluation.
Today's social media landscape is extremely centralized. The vast majority of users are concentrated on only a handful of platforms like Facebook, Reddit or Twitter. All of these are maintained by large corporations that are subject to profit motive and United States law. In recent years these platforms have increasingly censored users and entire communities, often with questionable justifications. It is only natural that those who are affected by this search for alternatives. This document is intended to help with the evaluation.
For this purpose we will consider as censorship anything that prevents a person from expressing their opinion, regardless of any moral considerations. All the options explained here also have legitimate uses, such as deleting spam. Nevertheless it is important for users to understand why their posts are getting removed and how to avoid it.
@ -8,7 +8,7 @@ The first and most common source of censorship in this sense is the admin of a g
The second source of censorship is through legal means. This often happens for copyright violation, but can also be used for other cases. What usually happens in this case is that the instance admin receives a takedown notice from the hosting provider or domain registrar. If the targeted content is not removed within a few days, the site gets taken down. The only way to avoid this is to choose the hosting company and country carefully, and avoid those which might consider the content as illegal.
Another way to censor is through social pressure on admins. This can range from spamming reports for unwanted content, to public posts from influental community members _demanding_ to take certain content down. Such pressure can keep mounting for days or weeks, making it seem like everyone supports these demands. But in fact it is often nothing more than a vocal minority. It is the task of admins to gauge the true opinion of their community. Community members should also push back if a minority tries to impose its views on everyone else.
Another way to censor is through social pressure on admins. This can range from spamming reports for unwanted content, to public posts from influential community members _demanding_ to take certain content down. Such pressure can keep mounting for days or weeks, making it seem like everyone supports these demands. But in fact it is often nothing more than a vocal minority. It is the task of admins to gauge the true opinion of their community. Community members should also push back if a minority tries to impose its views on everyone else.
All of this shows that it is relatively easy to censor a single Lemmy instance. Even a group of instances can be censored if they share the same admin team, hosting infrastructure or country. Here it is important that an admin can only censor content on their own instance, or communities which are hosted on his instance. Other instances will be unaffected. So if there is a problem with censorship, it can always be solved by using a different Lemmy instance, or creating a new one.
@ -16,4 +16,4 @@ But what if the goal was to censor the entire Lemmy network? This is inherently
Lastly it might be possible to abuse software vulnerabilities for network-wide censorship. Imagine a bug in Lemmy or in the underlying software stack which allows the attacker to delete arbitrary content. This could remain undetected for a while if used sparingly, but would certainly be discovered after some time. And experience has shown that such critical flaws are fixed very quickly in open source software. It is also highly unlikely that critical vulnerabilities be present in multiple different Fediverse platforms at the same time.
In conclusion, the best way to avoid censorship on Lemmy is through the existince of many independent instances. These should have different admins, different hosting providers and be located in different countries. Additionally users should follow the development process to watch for changes that might create a centralized point of control for all instances. Based on this explanation it should be clear that censorship on Lemmy is difficult, and can always be circumvented. This is in contrast to centralized platforms like Facebook or Reddit. They are not open source and can't be self-hosted, so it is necessary to switch to an entirely different platform to avoid censorship. And due to lack of federation, such a switch means losing contact with users who decide to stay on the censored platform.
In conclusion, the best way to avoid censorship on Lemmy is through the existence of many independent instances. These should have different admins, different hosting providers and be located in different countries. Additionally users should follow the development process to watch for changes that might create a centralized point of control for all instances. Based on this explanation it should be clear that censorship on Lemmy is difficult, and can always be circumvented. This is in contrast to centralized platforms like Facebook or Reddit. They are not open source and can't be self-hosted, so it is necessary to switch to an entirely different platform to avoid censorship. And due to lack of federation, such a switch means losing contact with users who decide to stay on the censored platform.

View file

@ -12,7 +12,7 @@ But that ship sailed years ago; the early innovative spirit of Reddit left with
Its become absorbed into that silicon valley surveillance-capitalist machine that commodifies users to sell ads and paid flairs, and propagandizes pro-US interests above all. Software technology being one of the last monopoly exports the US has, it would be naive to think that one of the top 5 most popular social media sites, where so many people around the world get their news, would be anything other than a mouthpiece for the interests of those same US coastal tech firms.
Despite the conservative talking point that big tech is dominated by “leftist propaganda”, it is liberal, and pro-US, not left (leftism referring to the broad category of anti-capitalism). Reddit has banned its share of leftist users and communities, and the Reddit admins via announcement posts repeatedly villify the USs primary foreign-policy enemies as having “bot campaigns”, and “manipulating Reddit”, yet the default Reddit communities (/r/news, /r/pics, etc), who share a small number of moderators, push a line consistent with US foreign-policy interests. The aptly named /r/copaganda subreddit has exposed the pro-police propaganda that always seems to hit Reddits front page in the wake of every tragedy involving US police killing the innocent (or showing police kissing puppies, even though US police kill ~ 30 dogs every day, which researchers have called a “noted statistical phenomenon”).
Despite the conservative talking point that big tech is dominated by “leftist propaganda”, it is liberal, and pro-US, not left (leftism referring to the broad category of anti-capitalism). Reddit has banned its share of leftist users and communities, and the Reddit admins via announcement posts repeatedly vilify the USs primary foreign-policy enemies as having “bot campaigns”, and “manipulating Reddit”, yet the default Reddit communities (/r/news, /r/pics, etc), who share a small number of moderators, push a line consistent with US foreign-policy interests. The aptly named /r/copaganda subreddit has exposed the pro-police propaganda that always seems to hit Reddits front page in the wake of every tragedy involving US police killing the innocent (or showing police kissing puppies, even though US police kill ~ 30 dogs every day, which researchers have called a “noted statistical phenomenon”).
Weve also seen a rise in anti-China posts that have hit Reddit lately, and along with that comes anti-chinese racism, which Reddit tacitly encourages. That western countries are seeing a rise in attacks against Asian-Americans, just as some of the perpetrators of several hate-crimes against women were found to be Redditors active in mens-rights Reddit communities, is not lost on us, and we know where these tech companies really stand when it comes to violence and hate speech. Leftists know that our position on these platforms is tenuous at best; were currently tolerated, but that will not always be the case.

View file

@ -36,7 +36,7 @@ También es posible utilizar varios frontends para la misma instancia de Lemmy,
## Traducciones
Puedes añadir el repositorio [lemmy-translations](https://github.com/LemmyNet/lemmy-translations) a tu proyecto como un [submódulo git](https://git-scm.com/book/en/v2/Git-Tools-Submodules). De este modo, podrás aprovechar las mismas traducciones que se utilizan en el frontend oficial, y también recibirás las nuevas traducciones aportadas a través de [weblate](https://weblate.org/es/).
Puedes añadir el repositorio [lemmy-translations](https://github.com/LemmyNet/lemmy-translations) a tu proyecto como un [submódulo git](https://git-scm.com/book/en/v2/Git-Tools-Submodules). De este modo, podrás aprovechar las mismas traducciones que se utilizan en el frontend oficial, y también recibirás las nuevas traducciones aportadas a través de [Weblate](https://weblate.org/es/).
## Limitación de la tasa