Berkontribusi

Informasi tentang berkontribusi ke Lemmy, entah itu penerjemahan, menguji, pendesainan, atau pemrograman.

Pelacak Isu/Repositori

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, menggunakan Diesel dan Actix.
  • 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.
    • api - Interaksi pengguna tingkat tinggi (hal seperti CreateComment)
    • 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 dan lint-staged.
  • Rust dengan cargo fmt dan cargo clippy.
  • Typescript dengan prettier dan eslint.