mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-05-18 17:58:05 +00:00
5c6258390c
* Adding a way to GetComments for a community given its name only. * Adding getcomments to api docs. * A first pass at locally working isomorphic integration. * Testing out cargo-husky. * Testing a fail hook. * Revert "Testing a fail hook." This reverts commit0941cf1736
. * Moving server to top level, now that UI is gone. * Running cargo fmt using old way. * Adding nginx, fixing up docker-compose files, fixing docs. * Trying to re-add API tests. * Fixing prod dockerfile. * Redoing nightly fmt * Trying to fix private message api test. * Adding CommunityJoin, PostJoin instead of joins from GetComments, etc. - Fixes #1122 * Fixing fmt. * Fixing up docs. * Removing translations. * Adding apps / clients to readme. * Fixing main image. * Using new lemmy-isomorphic-ui with better javascript disabled. * Try to fix image uploads in federation test * Revert "Try to fix image uploads in federation test" This reverts commita2ddf2a90b
. * Fix post url federation * Adding some more tests, some still broken. * Don't need gitattributes anymore. * Update local federation test setup * Fixing tests. * Fixing travis build. * Fixing travis build, again. * Changing lemmy-isomorphic-ui to lemmy-ui * Error in travis build again. Co-authored-by: Felix Ableitner <me@nutomic.com>
41 lines
1.6 KiB
Markdown
41 lines
1.6 KiB
Markdown
# Contributing
|
|
|
|
Information about contributing to Lemmy, whether it is translating, testing, designing or programming.
|
|
|
|
## Issue tracking / Repositories
|
|
|
|
- [GitHub (for issues and pull requests)](https://github.com/LemmyNet/lemmy)
|
|
- [Gitea (only for pull requests)](https://yerbamate.dev/LemmyNet/lemmy)
|
|
- [GitLab (only code-mirror)](https://gitlab.com/dessalines/lemmy)
|
|
|
|
## Translating
|
|
|
|
Check out [Lemmy's Weblate](https://weblate.yerbamate.dev/projects/lemmy/) for translations.
|
|
|
|
|
|
## Architecture
|
|
|
|
### Front end
|
|
|
|
- The front end is written in `typescript`, using a react-like framework called [inferno](https://infernojs.org/). All UI elements are reusable `.tsx` components.
|
|
- The front end repository is [lemmy-ui](https://github.com/LemmyNet/lemmy-ui).
|
|
- The routes are at `src/shared/routes.ts`.
|
|
- The components are located in `src/shared/components`.
|
|
|
|
### Back end
|
|
|
|
- The back end is written in `rust`, using `diesel`, and `actix`.
|
|
- The server source code is split into main sections in `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`.
|