Make file headings consistent (#321)

* Make file headings consistent

Each file should start with h1 (#) and title should match the
one in SUMMARY.md

* change
This commit is contained in:
Nutomic 2024-09-16 16:45:02 +02:00 committed by GitHub
parent f39b78a46a
commit c88a2349d8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 52 additions and 44 deletions

View file

@ -1,4 +1,4 @@
# Administration info # Administration
Information for Lemmy instance admins, and those who want to run a server. Information for Lemmy instance admins, and those who want to run a server.

View file

@ -1,4 +1,4 @@
# Backup and Restore Guide # Backup and Restore
## Docker and Ansible ## Docker and Ansible

View file

@ -1,4 +1,4 @@
# Using Caddy as reverse proxy example # Using Caddy as reverse proxy
If you prefer to use Caddy instead of Nginx - you could use this template to fit into your needs: If you prefer to use Caddy instead of Nginx - you could use this template to fit into your needs:

View file

@ -1,4 +1,4 @@
# Federation # Getting started with Federation
Lemmy has three types of federation: Lemmy has three types of federation:

View file

@ -1,4 +1,4 @@
# Administration First Steps # First Steps
After you successfully installed Lemmy either [manually with Docker](install_docker.md) or [automatically with Ansible](install_ansible.md) here are some recommendations for a new administrator of a Lemmy server. After you successfully installed Lemmy either [manually with Docker](install_docker.md) or [automatically with Ansible](install_ansible.md) here are some recommendations for a new administrator of a Lemmy server.

View file

@ -1,4 +1,4 @@
# From Scratch # Install from Scratch
These instructions are written for Ubuntu 20.04 / Ubuntu 22.04. They are particularly useful when you'd like to setup a Lemmy container (e.g. LXC on Proxmox) and cannot use Docker. These instructions are written for Ubuntu 20.04 / Ubuntu 22.04. They are particularly useful when you'd like to setup a Lemmy container (e.g. LXC on Proxmox) and cannot use Docker.

View file

@ -1,4 +1,4 @@
# Scaling Lemmy horizontally # Horizontal Scaling
This is a collection of notes on scaling different Lemmy components horizontally. This is not meant as a step-by-step guide, rather as general tips and knowledge that might be useful to somebody who is already familiar with and horizontal scaling concepts and best practices. If you don't already know about concepts like load balancing, object storage, and reverse proxies, then this document will probably be hard (or impossible) to understand. This is a collection of notes on scaling different Lemmy components horizontally. This is not meant as a step-by-step guide, rather as general tips and knowledge that might be useful to somebody who is already familiar with and horizontal scaling concepts and best practices. If you don't already know about concepts like load balancing, object storage, and reverse proxies, then this document will probably be hard (or impossible) to understand.

View file

@ -1,3 +1,3 @@
# Ansible Installation # Install with Ansible
Follow the instructions on the [Lemmy-Ansible](https://github.com/LemmyNet/lemmy-ansible) repo. Follow the instructions on the [Lemmy-Ansible](https://github.com/LemmyNet/lemmy-ansible) repo.

View file

@ -1,4 +1,4 @@
# Docker Installation # Install with Docker
Make sure you have both docker and docker-compose(>=`2.0`) installed. On Ubuntu, just run `apt install docker-compose-v2 docker.io`. On Debian, you need to install Docker [using their official installation instructions and custom `apt` repo](https://docs.docker.com/engine/install/debian/). Make sure you have both docker and docker-compose(>=`2.0`) installed. On Ubuntu, just run `apt install docker-compose-v2 docker.io`. On Debian, you need to install Docker [using their official installation instructions and custom `apt` repo](https://docs.docker.com/engine/install/debian/).

View file

@ -1,4 +1,4 @@
# Installing on AWS # Install on AWS
> ⚠️ **Disclaimer:** this installation method is not recommended by the Lemmy developers. If you have any problems, you need to solve them yourself or ask the respective authors. If you notice any Lemmy bugs on an instance installed like this, please mention it in the bug report. > ⚠️ **Disclaimer:** this installation method is not recommended by the Lemmy developers. If you have any problems, you need to solve them yourself or ask the respective authors. If you notice any Lemmy bugs on an instance installed like this, please mention it in the bug report.

View file

@ -1,4 +1,4 @@
# Prometheus # Prometheus Metrics
Lemmy supports the export of metrics in the [Prometheus](https://prometheus.io/) Lemmy supports the export of metrics in the [Prometheus](https://prometheus.io/)
format. This document outlines how to enable the feature and begin collecting format. This document outlines how to enable the feature and begin collecting

View file

@ -1,4 +1,4 @@
# Tor Hidden Services # Running a Tor Hidden Service
This guide assumes Lemmy has been installed using the official [Docker Compose](install_docker.md) method. This guide assumes Lemmy has been installed using the official [Docker Compose](install_docker.md) method.

View file

@ -1,4 +1,4 @@
## Contributing # Overview
Lemmy is an open source project and relies on community contributions to get better. Development happens mainly in the [Lemmy Github repositories](https://github.com/LemmyNet). Communication is done over [Matrix](https://matrix.to/#/#activitypub-community:codelutin.com). Lemmy is an open source project and relies on community contributions to get better. Development happens mainly in the [Lemmy Github repositories](https://github.com/LemmyNet). Communication is done over [Matrix](https://matrix.to/#/#activitypub-community:codelutin.com).

View file

@ -1,4 +1,4 @@
## Local Development # Local Development
### Install build requirements ### Install build requirements

View file

@ -1,6 +1,6 @@
## Docker Development # Docker Development
### Dependencies ## Dependencies
Debian-based distro: Debian-based distro:
@ -23,7 +23,7 @@ Get the code with submodules:
git clone https://github.com/LemmyNet/lemmy --recursive git clone https://github.com/LemmyNet/lemmy --recursive
``` ```
### Building ## Building
Use these commands to create a custom container based on your local branch and tagged accordingly. Use these commands to create a custom container based on your local branch and tagged accordingly.

View file

@ -1,4 +1,4 @@
## API # API
Lemmy has an HTTP API for clients and frontends. See the [API documentation](/api) for more information. Instead of using the API directly you can use one of the existing [libraries](https://github.com/dbeley/awesome-lemmy#libraries). You can either interact with a local development instance via `http://localhost:8536`, or connect to a production instance. The following instances are available for testing purposes: Lemmy has an HTTP API for clients and frontends. See the [API documentation](/api) for more information. Instead of using the API directly you can use one of the existing [libraries](https://github.com/dbeley/awesome-lemmy#libraries). You can either interact with a local development instance via `http://localhost:8536`, or connect to a production instance. The following instances are available for testing purposes:

View file

@ -1,4 +1,4 @@
## Federation # Federation
Lemmy uses the ActivityPub protocol for communication between servers. If you are unfamiliar with the protocol, you can start by reading the [resource links](06-resources.md#activitypub-resources). This document explains how to interact with it from other projects. Lemmy uses the ActivityPub protocol for communication between servers. If you are unfamiliar with the protocol, you can start by reading the [resource links](06-resources.md#activitypub-resources). This document explains how to interact with it from other projects.

View file

@ -1,4 +1,4 @@
# Resources / Libraries # Resources
## Rust ## Rust

View file

@ -1,4 +1,4 @@
# Trending / Hot / Best Sorting algorithm # Ranking Algorithm
## Goals ## Goals

View file

@ -1,4 +1,4 @@
## Introduction # Introduction
Lemmy is a selfhosted, federated social link aggregation and discussion forum. It consists of many different communities which are focused on different topics. Users can post text, links or images and discuss it with others. Voting helps to bring the most interesting items to the top. There are strong moderation tools to keep out spam and trolls. All this is completely free and open, not controlled by any company. This means that there is no advertising, tracking, or secret algorithms. Lemmy is a selfhosted, federated social link aggregation and discussion forum. It consists of many different communities which are focused on different topics. Users can post text, links or images and discuss it with others. Voting helps to bring the most interesting items to the top. There are strong moderation tools to keep out spam and trolls. All this is completely free and open, not controlled by any company. This means that there is no advertising, tracking, or secret algorithms.

View file

@ -1,4 +1,6 @@
# Choosing an Instance # Getting Started
## Choosing an Instance
If you are used to sites like Reddit, then Lemmy works in a fundamentally different way. Instead of a single website like reddit.com, there are many different websites (called _instances_). These are operated by different people, have different topics and rules. Nevertheless, posts created in one instance can directly be seen by users who are registered on another. Its basically like email, but for social media. If you are used to sites like Reddit, then Lemmy works in a fundamentally different way. Instead of a single website like reddit.com, there are many different websites (called _instances_). These are operated by different people, have different topics and rules. Nevertheless, posts created in one instance can directly be seen by users who are registered on another. Its basically like email, but for social media.
@ -6,7 +8,7 @@ This means before using Lemmy and registering an account, you need to pick an in
[instance list screenshot] [instance list screenshot]
# Registration ## Registration
Once you choose an instance, it's time to create your account. To do this, click _sign up_ in the top right of the page, or click the top right button on mobile to open a menu with _sign up_ link. Once you choose an instance, it's time to create your account. To do this, click _sign up_ in the top right of the page, or click the top right button on mobile to open a menu with _sign up_ link.
@ -29,7 +31,7 @@ When you are done, press the _sign up_ button.
It depends on the instance configuration when you can login and start using the account. In case the email is mandatory, you need to wait for the confirmation email and click the link first. In case "Question/Answer" is present, you need to wait for an admin to manually review and approve your registration. If you have problems with the registration, try to get in contact with the admin for support. You can also choose a different instance to sign up if your primary choice does not work. It depends on the instance configuration when you can login and start using the account. In case the email is mandatory, you need to wait for the confirmation email and click the link first. In case "Question/Answer" is present, you need to wait for an admin to manually review and approve your registration. If you have problems with the registration, try to get in contact with the admin for support. You can also choose a different instance to sign up if your primary choice does not work.
# Following Communities ## Following Communities
After logging in to your new account, its time to follow communities that you are interested in. For this you can click on the _communities_ link at the top of the page (on mobile, you need to click the menu icon on the top right first). You will see a list of communities which can be filtered by subscribed, local or all. Local communities are those which are hosted on the same site where you are signed in, while _all_ also contains federated communities from other instances. In any case you can directly subscribe to communities with the right-hand subscribe link. Or click on the community name to browse the community first, see what its posted and what the rules are before subscribing. After logging in to your new account, its time to follow communities that you are interested in. For this you can click on the _communities_ link at the top of the page (on mobile, you need to click the menu icon on the top right first). You will see a list of communities which can be filtered by subscribed, local or all. Local communities are those which are hosted on the same site where you are signed in, while _all_ also contains federated communities from other instances. In any case you can directly subscribe to communities with the right-hand subscribe link. Or click on the community name to browse the community first, see what its posted and what the rules are before subscribing.
@ -37,7 +39,7 @@ Another way to find communities to subscribe to is by going to the front page an
These previous ways will only show communities that are already known to the instance. Especially if you joined a small or inactive Lemmy instance, there will be few communities to discover. You can find more communities by browsing different Lemmy instances, or using the [Lemmy Community Browser](https://browse.feddit.de/). When you found a community that you want to follow, enter its URL (e.g. `https://feddit.de/c/main`) or the identifier (e.g. `!main@feddit.de`) into the search field of your own Lemmy instance. Lemmy will then fetch the community from its original instance, and allow you to interact with it. The same method also works to fetch users, posts or comments from other instances. These previous ways will only show communities that are already known to the instance. Especially if you joined a small or inactive Lemmy instance, there will be few communities to discover. You can find more communities by browsing different Lemmy instances, or using the [Lemmy Community Browser](https://browse.feddit.de/). When you found a community that you want to follow, enter its URL (e.g. `https://feddit.de/c/main`) or the identifier (e.g. `!main@feddit.de`) into the search field of your own Lemmy instance. Lemmy will then fetch the community from its original instance, and allow you to interact with it. The same method also works to fetch users, posts or comments from other instances.
# Setting up Your Profile ## Setting up Your Profile
Before you start posting, its a good idea to provide some details about yourself. Open the top-right menu and go to "settings". Here the following settings are available for your public profile: Before you start posting, its a good idea to provide some details about yourself. Open the top-right menu and go to "settings". Here the following settings are available for your public profile:
@ -64,7 +66,7 @@ On this page you can also change the email and password. Additionally there are
- **Show Notifications for New Posts**: Enable this to receive a popup notification for each new post that is created. - **Show Notifications for New Posts**: Enable this to receive a popup notification for each new post that is created.
- **Send notifications to Email**: Enable to receive notifications about new comment replies and private messages to your email address. - **Send notifications to Email**: Enable to receive notifications about new comment replies and private messages to your email address.
# Start Posting ## Start Posting
Finally its time to start posting! To do this it is always a good idea to read the community rules in the sidebar (below the _Subscribe_ button). When you are ready, go to a post and type your comment in the box directly below for a top-level reply. You can also write a nested reply to an existing comment, by clicking the left-pointing arrow. Finally its time to start posting! To do this it is always a good idea to read the community rules in the sidebar (below the _Subscribe_ button). When you are ready, go to a post and type your comment in the box directly below for a top-level reply. You can also write a nested reply to an existing comment, by clicking the left-pointing arrow.

View file

@ -1,4 +1,6 @@
# Text # Media
## Text
The main type of content in Lemmy is text which can be formatted with Markdown. Refer to the table below for supported formatting rules. The Lemmy user interface also provides buttons for formatting, so it's not necessary to remember all of it. You can also follow the interactive [CommonMark tutorial](https://commonmark.org/help/tutorial/) to get started. The main type of content in Lemmy is text which can be formatted with Markdown. Refer to the table below for supported formatting rules. The Lemmy user interface also provides buttons for formatting, so it's not necessary to remember all of it. You can also follow the interactive [CommonMark tutorial](https://commonmark.org/help/tutorial/) to get started.
@ -23,13 +25,13 @@ The main type of content in Lemmy is text which can be formatted with Markdown.
[CommonMark Tutorial](https://commonmark.org/help/tutorial/) [CommonMark Tutorial](https://commonmark.org/help/tutorial/)
# Images and Video ## Images and Video
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. 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.
# Torrents ## Torrents
Since Lemmy doesn't host large videos or other media, users can share files using [BitTorrent](https://en.wikipedia.org/wiki/BitTorrent) links. In BitTorrent, files are shared not by a single user, but by _many users_ at the same time. This makes file sharing efficient, fast, and reliable, as long as several sources are sharing the files. Since Lemmy doesn't host large videos or other media, users can share files using [BitTorrent](https://en.wikipedia.org/wiki/BitTorrent) links. In BitTorrent, files are shared not by a single user, but by _many users_ at the same time. This makes file sharing efficient, fast, and reliable, as long as several sources are sharing the files.
@ -37,9 +39,9 @@ Lemmy supports posting torrent magnet links (links that start with `magnet:`) in
With this, Lemmy can serve as an alternative to centralized media-centric services like YouTube and Spotify. With this, Lemmy can serve as an alternative to centralized media-centric services like YouTube and Spotify.
## How to Watch Torrents ### How to Watch Torrents
### Beginner #### Beginner
To easily stream videos and audio on Lemmy, you can use any of the following apps. After clicking on a torrent link in Lemmy, a dialog will pop up asking you to open the link in the app. To easily stream videos and audio on Lemmy, you can use any of the following apps. After clicking on a torrent link in Lemmy, a dialog will pop up asking you to open the link in the app.
@ -48,7 +50,7 @@ To easily stream videos and audio on Lemmy, you can use any of the following app
- [Popcorn Time](https://github.com/popcorn-official/popcorn-desktop) (Desktop) - [Popcorn Time](https://github.com/popcorn-official/popcorn-desktop) (Desktop)
- [xTorrent](https://play.google.com/store/apps/details?id=com.gamemalt.streamtorrentvideos) (Android) - [xTorrent](https://play.google.com/store/apps/details?id=com.gamemalt.streamtorrentvideos) (Android)
### Expert #### Expert
For those who would like to help share files, you can use any of the following torrent clients. For those who would like to help share files, you can use any of the following torrent clients.

View file

@ -1,8 +1,10 @@
# Posts # Votes and Ranking
## Posts
Lemmy uses a voting system to sort post listings. On the left side of each post there are _up_ and _down_ arrows, which let you _upvote_ or _downvote_ it. You can upvote posts that you like so that more users will see them, or downvote posts so that they are less likely to be seen. Each post receives a score which is the number of upvotes minus the number of downvotes. Lemmy uses a voting system to sort post listings. On the left side of each post there are _up_ and _down_ arrows, which let you _upvote_ or _downvote_ it. You can upvote posts that you like so that more users will see them, or downvote posts so that they are less likely to be seen. Each post receives a score which is the number of upvotes minus the number of downvotes.
## Sorting Posts ### Sorting Posts
When browsing the front page or a community, you can choose between the following sort types for posts: When browsing the front page or a community, you can choose between the following sort types for posts:
@ -19,11 +21,11 @@ When browsing the front page or a community, you can choose between the followin
- **Top Year**: Highest scoring posts during the last 12 months - **Top Year**: Highest scoring posts during the last 12 months
- **Top All Time**: Highest scoring posts of all time - **Top All Time**: Highest scoring posts of all time
# Comments ## Comments
Comments are by default arranged in a hierarchy which shows at a glance who it is replying to. Top-level comments which reply directly to a post are on the very left, not indented at all. Comments that are responding to top-level comments are indented one level and each further level of indentation means that the comment is deeper in the conversation. With this layout, it is always easy to see the context for a given comment, by simply scrolling up to the next comment which is indented one level less. Comments are by default arranged in a hierarchy which shows at a glance who it is replying to. Top-level comments which reply directly to a post are on the very left, not indented at all. Comments that are responding to top-level comments are indented one level and each further level of indentation means that the comment is deeper in the conversation. With this layout, it is always easy to see the context for a given comment, by simply scrolling up to the next comment which is indented one level less.
## Sorting Comments ### Sorting Comments
Comments can be sorted in the following ways. These all keep the indentation intact, so only replies to the same parent are shuffled around. Comments can be sorted in the following ways. These all keep the indentation intact, so only replies to the same parent are shuffled around.
@ -36,6 +38,6 @@ Additionally there is a sort option **Chat**. This eliminates the hierarchy, and
The ranking algorithm is described in detail [here](../contributors/07-ranking-algo.md). The ranking algorithm is described in detail [here](../contributors/07-ranking-algo.md).
# Vote Privacy ## Vote Privacy
Lemmy attempts to limit the visibility of votes to protect user privacy. But due to the way Lemmy works, votes cannot be completely private. Instance admins can see the names of everyone who voted on a given post or comment, and community moderators can see the names for the communities they moderate. This helps to fight against vote manipulation. Additionally, individual votes are federated over ActivityPub together with the corresponding username. This means that other federated platforms can freely choose how to display vote information, even going as far as publicly displaying individual votes. Lemmy attempts to limit the visibility of votes to protect user privacy. But due to the way Lemmy works, votes cannot be completely private. Instance admins can see the names of everyone who voted on a given post or comment, and community moderators can see the names for the communities they moderate. This helps to fight against vote manipulation. Additionally, individual votes are federated over ActivityPub together with the corresponding username. This means that other federated platforms can freely choose how to display vote information, even going as far as publicly displaying individual votes.

View file

@ -1,4 +1,4 @@
## Censorship resistance # Censorship resistance
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. 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.

View file

@ -1,17 +1,19 @@
# Theming # Other Features
## Theming
Users can choose between a number of built-in color themes. Admins can also provide additional themes and set them as default. Users can choose between a number of built-in color themes. Admins can also provide additional themes and set them as default.
# Easy to Install, Low Hardware Requirements ## Easy to Install, Low Hardware Requirements
Lemmy is written in Rust, which is an extremely fast language. This is why it has very low hardware requirements. It can easily run on a Raspberry Pi or similar low-powered hardware. This makes it easy to administrate and keeps costs low. Lemmy is written in Rust, which is an extremely fast language. This is why it has very low hardware requirements. It can easily run on a Raspberry Pi or similar low-powered hardware. This makes it easy to administrate and keeps costs low.
# Language Tags ## Language Tags
Lemmy instances and communities can specify which languages can be used for posting. Consider an instance aimed at Spanish users, it would limit the posting language to Spanish so that other languages can't be used. Or an international instance which only allows languages that the admin team understands. Community languages work in the same way, and are restricted to a subset of the instance languages. By default, all languages are allowed (including _undefined_). Lemmy instances and communities can specify which languages can be used for posting. Consider an instance aimed at Spanish users, it would limit the posting language to Spanish so that other languages can't be used. Or an international instance which only allows languages that the admin team understands. Community languages work in the same way, and are restricted to a subset of the instance languages. By default, all languages are allowed (including _undefined_).
Users can also specify which languages they speak, and will only see content in those languages. Lemmy tries to smartly select a default language for new posts if possible. Otherwise you have to specify the language manually. Users can also specify which languages they speak, and will only see content in those languages. Lemmy tries to smartly select a default language for new posts if possible. Otherwise you have to specify the language manually.
# Lemmy as a Blog ## Lemmy as a Blog
Lemmy can also function as a blogging platform. Doing this is as simple as creating a community and enabling the option "Only moderators can post to this community". Now only you and other people that you invite can create posts, while everyone else can comment. Like any Lemmy community, it is also possible to follow from other Fediverse platforms and over RSS. For advanced usage, it is even possible to use the API and create a different frontend which looks more blog-like. Lemmy can also function as a blogging platform. Doing this is as simple as creating a community and enabling the option "Only moderators can post to this community". Now only you and other people that you invite can create posts, while everyone else can comment. Like any Lemmy community, it is also possible to follow from other Fediverse platforms and over RSS. For advanced usage, it is even possible to use the API and create a different frontend which looks more blog-like.

View file

@ -1,4 +1,4 @@
## History of Lemmy # History of Lemmy
The idea to make Lemmy was a combination of factors. The idea to make Lemmy was a combination of factors.