For any UI devs: I’ve starting working on a lemmy front end called
lemmy-ui-leptos [https://github.com/LemmyNet/lemmy-ui-leptos] using leptos
[https://leptos.dev/], a Rust UI framework with isomorphic support, and tailwind
+ daisyUI [https://daisyui.com/] for the component styling. This could
eventually replace the frankenstein’s monster that lemmy-ui has become. Some
reasons for doing this: - lemmy-ui uses infernojs, which is based on the react
model. IMO is largely superseded by signal-based reactivity in use in android
jetpack-compose, SolidJS, and most new UI frameworks. - I had to hack on
isomorphic support / server-side-rendering to infernoJS, and it’s very messy.
Leptos has isomorphic support out of the box. - All the benefits of Rust over
javascript. - Since leptos is in Rust, we can import the lemmy types directly. -
I’ve been waiting for years for a good rust UI framework, and I think we’re
finally here with leptos or sycamore. - lemmy-ui uses bootstrap, which is
showing its age and limitations. Tailwind (and daisyUI) seem to be much more
future-proof. I plan on leaving the site design and component styling to other,
more skilled UI devs, while I work mostly on the auth, services, params, and
overall back-end structure. - Please use daisyUI classes tho whenever possible
over exhaustive tailwind ones. - I’d also like it if the UI could match that of
jerboa’s (whenever possible), so that a change in one could be represented in
the other, and so that things like badge appearance for admins, could be
recognizeable across lemmy’s front ends. You don’t really need to learn rust to
help out with this, as the components look very similar to JSX. Instructions for
running it are in the CONTRIBUTING.md
[https://github.com/LemmyNet/lemmy-ui-leptos/blob/main/CONTRIBUTING.md] . Feel
free to contribute! Right now only the home page, and post pages are working,
but ready to be styled.
Quoting the author
I’ve starting working on a lemmy front end called lemmy-ui-leptos using leptos, a Rust UI framework with isomorphic support, and tailwind + daisyUI for the component styling. This could eventually replace the frankenstein’s monster that lemmy-ui has become.
That’s not software being political, that’s admins using software for political goals. That same web of trust (or whatever it is) isn’t political, it only gets political when you choose who or what is in that web. It can be used to limit spam, or it can be used to silence opposing views.
A far left and a far right person could use the same software for opposite political ends. You can see precisely that with Lemmygrad vs Exploding Heads, both use the same software stack, the main difference is in the moderation. Lemmy itself isn’t really political, it’s just that the people admining the original instance have a certain agenda.
Some software is more compatible with certain ideologies than others (e.g. decentralized tools like blockchain is near useless for an autocratic regime), but even then you’d probably be surprised how your tool is being used (e.g. Tor was created by the US military, and now it’s largely use to subvert law enforcement and international espionage). It just so happens that humans are really good at molding tools to different purposes.
That’s not software being political, that’s admins using software for political goals. That same web of trust (or whatever it is) isn’t political, it only gets political when you choose who or what is in that web. It can be used to limit spam, or it can be used to silence opposing views.
A far left and a far right person could use the same software for opposite political ends. You can see precisely that with Lemmygrad vs Exploding Heads, both use the same software stack, the main difference is in the moderation. Lemmy itself isn’t really political, it’s just that the people admining the original instance have a certain agenda.
Some software is more compatible with certain ideologies than others (e.g. decentralized tools like blockchain is near useless for an autocratic regime), but even then you’d probably be surprised how your tool is being used (e.g. Tor was created by the US military, and now it’s largely use to subvert law enforcement and international espionage). It just so happens that humans are really good at molding tools to different purposes.