Berkontribusi
Informasi tentang berkontribusi ke Lemmy, entah itu penerjemahan, menguji, pendesainan, atau pemrograman.
Pelacak Isu/Repositori
- GitHub (untuk isu dan permintaan dorong (pull request))
- Gitea (hanya untuk permintaan dorong)
- Codeberg
Penerjemahan
Periksa Weblate Lemmy untuk penerjemahan. Anda bisa juga membantu dengan menerjemahkan dokumentasi ini.
Arsitektur
Antarmuka
- Antarmuka ditulis dengan
Typescript
, menggunakan kerangka mirip-React yang dikenal sebagai Inferno. Semua elemen antarmuka merupakan komponen.tsx
yang dapat digunakan ulang. - Repositori antarmuka adalah lemmy-ui.
- Rutenya adalah
src/shared/routes.ts
. - Komponen berada di
src/shared/components
.
Bagian-Belakang
- Bagian-belakang dengan
Rust
, menggunakanDiesel
danActix
. - Kode peladen dibagi ke bagian utama di
src
. Mereka termasuk:db
- Aksi basis data tingkat rendah.- Penambahan basis data dilakukan menggunakan migrasi Diesel. Jalankan
diesel migration generate xxxxx
untuk menambahkan sesuatu yang baru.
- Penambahan basis data dilakukan menggunakan migrasi Diesel. Jalankan
api
- Interaksi pengguna tingkat tinggi (hal sepertiCreateComment
)routes
- Endpoint peladen.apub
- Konversi activitypub.websocket
- Membuat peladen websocket.
Linting/Pemformatan
- Setiap pengodean antarmuka dan bagian-belakang secara otomatis diformat kemudian dilinting menggunakan
husky
danlint-staged
. - Rust dengan
cargo fmt
dancargo clippy
. - Typescript dengan
prettier
daneslint
.