No description
  • Rust 86.3%
  • TypeScript 6.3%
  • CSS 3.7%
  • Fluent 2.1%
  • Dockerfile 0.8%
  • Other 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
renovate[bot] 289107ec5f
Update dependency @playwright/test to v1.55.1 (#300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-01 21:53:38 +08:00
.github Remove jim-taylor-business from codeowners. (#102) 2024-07-15 09:48:53 -04:00
docker Update dessalines/lemmy Docker tag to v0.19.9 (#273) 2025-02-15 08:59:39 -05:00
end2end Update dependency @playwright/test to v1.55.1 (#300) 2025-10-01 21:53:38 +08:00
locales/en Add initial Community Form (#296) 2025-09-08 09:42:57 -04:00
public Update to use Leptos 0.7 (#252) 2025-01-30 14:57:02 -05:00
scripts Fix env var typo 2024-06-06 10:43:40 -04:00
src Add initial Community Form (#296) 2025-09-08 09:42:57 -04:00
style Upgrade Tailwind CSS to v4 and DaisyUI to v5 (#284) 2025-03-14 20:21:25 -04:00
.gitignore Keep playwright-report directory in version control 2024-06-03 20:52:00 -04:00
.leptosfmt.toml Initial commit. 2023-07-11 15:40:23 -04:00
.prettierignore Add dependency on lemmy-client (#51) 2024-05-05 22:46:39 -04:00
.rustfmt.toml Initial commit. 2023-07-11 15:40:23 -04:00
.woodpecker.yml Better ntfy notifs. (#286) 2025-06-17 11:26:08 -04:00
Cargo.lock Upgrade Tailwind CSS to v4 and DaisyUI to v5 (#284) 2025-03-14 20:21:25 -04:00
Cargo.toml Upgrade Tailwind CSS to v4 and DaisyUI to v5 (#284) 2025-03-14 20:21:25 -04:00
CONTRIBUTING.md Update to use Leptos 0.7 (#252) 2025-01-30 14:57:02 -05:00
Dockerfile Remove tailwind.config.js from Dockerfile (#288) 2025-08-25 18:17:13 -04:00
LICENSE Initial commit. 2023-07-11 15:40:23 -04:00
Makefile.toml Initial commit. 2023-07-11 15:40:23 -04:00
package.json Upgrade Tailwind CSS to v4 and DaisyUI to v5 (#284) 2025-03-14 20:21:25 -04:00
pnpm-lock.yaml Update dependency daisyui to v5.0.54 (#293) 2025-08-31 20:22:52 -04:00
README.md Fix minor typos in readme 2024-02-11 14:26:06 +02:00
renovate.json Fixing renovate schedule. (#290) 2025-08-30 11:45:11 -04:00
settings.json Add dependency on lemmy-client (#51) 2024-05-05 22:46:39 -04:00

Lemmy-UI-Leptos

A complete rewrite of Lemmy UI in Rust, Leptos, Daisy and Tailwind.

Using Rust everywhere means we get to use Rust's expressive type system and powerful language in the UI. It also means we inherit types and APIs from the server project Lemmy that automates consistency and enables isomorphic code-reuse between components.

Leptos's signal based framework is both fast and easy to use making it ideal for apps based on web technologies.

Daisy and Tailwind give us components and utility classes that look great and are compiled into the project efficiently.

Development

See CONTRIBUTING.md for information on setting up your development environment.

It's a standard contemporary web development environment. The development feedback loop is made fast and convenient with the cargo-leptos CLI development server.

Objectives

  • initially leverage pure Daisy components to provide common component styling with the least markup
  • when a custom look and feel is agreed upon, implement using Tailwind's fine grained styling
  • use Tailwind's layout and responsive tools to adapt UI to screens of all common sizes
  • use isomorphic Leptos code to ensure that features work in the following contexts:
    • SSR only - server side rendering only. Search engine bots and browsers with diverse technical requirements (JS and WASM are disabled) must be able to read and interact with all core features. There will be sophisticated (non-core) features where we agree this is not possible
    • Hydrate - features progressively enhance from being rendered on the server to running almost entirely in the browser (JS and WASM are available). Feature logic must handle this context switch gracefully
    • CSR only - client side rendering only - when a mobile/desktop app framework target is agreed upon (e.g. Tauri) all UI and interaction code is bundled into an app that communicates directly with its Lemmy instance
  • all core features should be accessible to as diverse a user base as we agree is possible
  • all UI text must be internationalized and rendered effectively for RTL languages
  • the badge feature must be recognizable across all Lemmy front ends for ease of identification and administration