Browse Source

Add more info to contributing. Fixes #429

Dessalines 1 year ago
  1. 22
  2. 4
  3. 4
  4. 33


@ -0,0 +1,22 @@
# Lemmy v0.6.0 Release (2020-01-16)
`v0.6.0` is here, and we've closed [41 issues!](
This is the biggest release by far:
- Avatars!
- Optional Email notifications for username mentions, post and comment replies.
- Ability to change your password and email address.
- Can set a custom language.
- Lemmy-wide settings to disable downvotes, and close registration.
- A better documentation system, hosted in lemmy itself.
- [Huge DB performance gains]( (everthing down to < `30ms`) by using materialized views.
- Fixed major issue with similar post URL and title searching.
- Upgraded to Actix `2.0`
- Faster comment / post voting.
- Better small screen support.
- Lots of bug fixes, refactoring of back end code.
Another major announcement is that Lemmy now has another lead developer besides me, []( Theyve created a better documentation system, implemented RSS feeds, simplified docker and project configs, upgraded actix, working on federation, a whole lot else.


@ -0,0 +1,4 @@
# Contributing
See [here]( for contributing Instructions.


@ -46,7 +46,9 @@ Each lemmy server can set its own moderation policy; appointing site-wide admins
Made with [Rust](, [Actix](, [Inferno](, [Typescript]( and [Diesel](
- [Documentation](
- [Releases / Changelog](/CHANGELOG)
- [Contributing](
## Features


@ -1 +1,32 @@
Information about contributing to Lemmy, whether it is translating, testing, designing or programming.
# Contributing
Information about contributing to Lemmy, whether it is translating, testing, designing or programming.
## Translating
Go [here]( for translation instructions.
## Architecture
### Front end
- The front end is written in `typescript`, using a react-like framework called [inferno]( All UI elements are reusable `.tsx` components.
- The main page and routing are in `ui/src/index.tsx`.
- The components are located in `ui/src/components`.
### Back end
- The back end is written in `rust`, using `diesel`, and `actix`.
- The server source code is split into main sections in `server/src`. These include:
- `db` - The low level database actions.
- Database additions are done using diesel migrations. Run `diesel migration generate xxxxx` to add new things.
- `api` - The high level user interactions (things like `CreateComment`)
- `routes` - The server endpoints .
- `apub` - The activitypub conversions.
- `websocket` - Creates the websocket server.
## Linting / Formatting
- Every front and back end commit is automatically formatted then linted using `husky`, and `lint-staged`.
- Rust with `cargo fmt` and `cargo clippy`.
- Typescript with `prettier` and `eslint`.