🐀 Building a federated link aggregator in rust
Find a file
dullbananas 91834d0d21
Default imprementations for read and delete in Crud trait (#3707)
* h

* Start doing stuff

* Default impl for Crud::read

* Simplify Crud::read lifetimes

* fmt

* Stuff

* Stuff

* Successfully make default read implementation work

* Restore Person::read

* Clean up default Crud::read and rename 'query2

* Replace filter with find

* Attempt default Crud::create

* Change Crud to Crud<'a> (won't compile)

* Revert "Change Crud to Crud<'a> (won't compile)"

This reverts commit 7ed20f5f71.

* Default Crud::delete

* Remove Crud::delete definitions that match default

* Remove commented Site::read

* Insert trait

* Revert "Insert trait"

This reverts commit 9d780c2403.

* Use non-borrowed forms

* Revert "Use non-borrowed forms"

This reverts commit d2dd442563.

* Revert "Revert "Change Crud to Crud<'a> (won't compile)""

This reverts commit 25a27165a8.

* Fix lifetime for everything except Crud::delete

* Fix Crud::delete

* Add comment about futures

* Attempt Crud::create

* Attempt separate CrudBounds

* Revert "Attempt separate CrudBounds"

This reverts commit 1b4ca321c3.

* Try to fix Crud::create

* Move lifetime parameters to associated types

* Revert "Move lifetime parameters to associated types"

This reverts commit af1bc858ce.

* Revert "Try to fix Crud::create"

This reverts commit eec238496c.

* Revert "Revert "Attempt separate CrudBounds""

This reverts commit 1ec33ce502.

* Revert "Attempt separate CrudBounds"

This reverts commit 1b4ca321c3.

* Revert "Attempt Crud::create"

This reverts commit 47e8071b68.

* Revert "Add comment about futures"

This reverts commit b266b14653.

* Revert "Fix Crud::delete"

This reverts commit 3abcce2eec.

* Revert "Fix lifetime for everything except Crud::delete"

This reverts commit c1ad7a161b.

* Revert "Revert "Revert "Change Crud to Crud<'a> (won't compile)"""

This reverts commit 3129cd0fc3.

* Clean up

* Update site.rs
2023-08-01 10:34:10 -04:00
.cargo Add console-subscriber (#2003) 2022-01-07 09:53:45 -05:00
.github Update CODEOWNERS (#3748) 2023-07-28 11:16:18 -04:00
api_tests Enhanced testing of comments. Validate reply notifications, mentions (#3686) 2023-08-01 09:14:40 -04:00
config Add Prometheus endpoint (#3456) 2023-07-05 13:25:19 +02:00
crates Default imprementations for read and delete in Crud trait (#3707) 2023-08-01 10:34:10 -04:00
docker Update Dockerfile to run process as non-privileged user. (#3709) 2023-07-24 09:51:51 -04:00
migrations remove n^2 part of person triggers, improve community aggregate trigger (#3739) 2023-07-27 23:36:51 +02:00
readmes Add Japanese README (#3620) 2023-07-17 11:05:14 -04:00
scripts Cache & Optimize Woodpecker CI (#3450) 2023-07-17 11:04:14 -04:00
src Rewrite some federation actions to remove Perform/SendActivity (ref #3670) (#3758) 2023-08-01 15:53:36 +02:00
.dockerignore Add feature to embed pictrs in lemmy binary (fixes #2627) (#2633) 2023-01-20 12:46:49 -05:00
.gitattributes Added gitattributes to normalize all files to lf (#3386) 2023-06-29 10:16:11 +02:00
.gitignore Move entry from .rgignore to .gitignore (#3752) 2023-07-28 11:11:18 -04:00
.gitmodules WIP: Email localization (fixes #500) (#2053) 2022-03-24 15:25:51 +00:00
.rustfmt.toml Make lemmy_api_common wasm-compatible (#3587) 2023-07-14 10:45:18 +02:00
.woodpecker.yml Revert "Only run slow CI checks for actual code changes (#3750)" 2023-07-28 22:44:45 +02:00
Cargo.lock Rewrite some API handlers to remove Perform trait (#3735) 2023-07-28 10:39:38 -04:00
Cargo.toml Enable gzip for reqwest (#3696) 2023-07-26 12:22:14 +02:00
CONTRIBUTING.md Fix contributing link (#3015) 2023-06-12 11:04:47 +02:00
diesel.toml Adding diesel enums for SortType and ListingType (#2808) 2023-04-17 15:19:51 -04:00
LICENSE Initial commit 2019-02-14 09:17:18 -08:00
README.md Change readme installation link (#3736) 2023-07-27 09:42:52 -04:00
RELEASES.md Adding 0.18.3 Release notes. (#3753) 2023-07-28 16:33:45 +02:00
SECURITY.md Change security contact mail (#3506) 2023-07-06 07:27:47 -04:00

GitHub tag (latest SemVer) Build Status GitHub issues Docker Pulls Translation status License GitHub stars Delightful Humane Tech

English | Español | Русский | 汉语 | 漢語 | 日本語

Lemmy

A link aggregator and forum for the fediverse.

Join Lemmy · Documentation · Matrix Chat · Report Bug · Request Feature · Releases · Code of Conduct

About The Project

Desktop Mobile
desktop mobile

Lemmy is similar to sites like Reddit, Lobste.rs, or Hacker News: you subscribe to forums you're interested in, post links and discussions, then vote, and comment on them. Behind the scenes, it is very different; anyone can easily run a server, and all these servers are federated (think email), and connected to the same universe, called the Fediverse.

For a link aggregator, this means a user registered on one server can subscribe to forums on any other server, and can have discussions with users registered elsewhere.

It is an easily self-hostable, decentralized alternative to Reddit and other link aggregators, outside of their corporate control and meddling.

Each Lemmy server can set its own moderation policy; appointing site-wide admins, and community moderators to keep out the trolls, and foster a healthy, non-toxic environment where all can feel comfortable contributing.

Why's it called Lemmy?

Built With

Features

  • Open source, AGPL License.
  • Self hostable, easy to deploy.
  • Clean, mobile-friendly interface.
    • Only a minimum of a username and password is required to sign up!
    • User avatar support.
    • Live-updating Comment threads.
    • Full vote scores (+/-) like old Reddit.
    • Themes, including light, dark, and solarized.
    • Emojis with autocomplete support. Start typing :
    • User tagging using @, Community tagging using !.
    • Integrated image uploading in both posts and comments.
    • A post can consist of a title and any combination of self text, a URL, or nothing else.
    • Notifications, on comment replies and when you're tagged.
      • Notifications can be sent via email.
      • Private messaging support.
    • i18n / internationalization support.
    • RSS / Atom feeds for All, Subscribed, Inbox, User, and Community.
  • Cross-posting support.
    • A similar post search when creating new posts. Great for question / answer communities.
  • Moderation abilities.
    • Public Moderation Logs.
    • Can sticky posts to the top of communities.
    • Both site admins, and community moderators, who can appoint other moderators.
    • Can lock, remove, and restore posts and comments.
    • Can ban and unban users from communities and the site.
    • Can transfer site and communities to others.
  • Can fully erase your data, replacing all posts and comments.
  • NSFW post / community support.
  • High performance.
    • Server is written in rust.
    • Front end is ~80kB gzipped.
    • Supports arm64 / Raspberry Pi.

Installation

Lemmy Projects

Support / Donate

Lemmy is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project.

Crypto

  • bitcoin: 1Hefs7miXS5ff5Ck5xvmjKjXf5242KzRtK
  • ethereum: 0x400c96c96acbC6E7B3B43B1dc1BB446540a88A01
  • monero: 41taVyY6e1xApqKyMVDRVxJ76sPkfZhALLTjRvVKpaAh2pBd4wv9RgYj1tSPrx8wc6iE1uWUfjtQdTmTy2FGMeChGVKPQuV
  • cardano: addr1q858t89l2ym6xmrugjs0af9cslfwvnvsh2xxp6x4dcez7pf5tushkp4wl7zxfhm2djp6gq60dk4cmc7seaza5p3slx0sakjutm

Contributing

Translations

Contact

Code Mirrors

Credits

Logo made by Andy Cuccaro (@andycuccaro) under the CC-BY-SA 4.0 license.