this post was submitted on 13 Jun 2023
27 points (100.0% liked)

Emacs

1978 readers
8 users here now

Our infinitely powerful editor.

founded 4 years ago
MODERATORS
 

The lack of keyboard interface on Lemmy is killing me, but really what I want is a good client in Emacs. However, it's beyond my Elisp to design and start such a project, but I could probably help. Anyone on it?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 9 points 1 year ago* (last edited 1 year ago) (4 children)

I have quite a few endpoints working now, each mostly just with the basic options implemented, and its easy to add endpoints with a handy macro i wrote. There are still quite a few quirks with lemmy itself that i'm struggling to work out, like how to search for my second account on another instance and actually have it appear in results. I might ask in a support room. The type-heavy rust and ts code is super foreign to me, it's also very large. Moreover, the various documentation links, another one is https://join-lemmy.org/api/classes/LemmyHttp.html, sometime contradict each other. Maybe having the basics down I cd start on some necrco diy interface. [posted and edited via lem.el]

[–] asterisk 3 points 1 year ago (1 children)

I think this would be the best way to go.

Myself, I'd love to be able to interact with Lemmy through Gnus, but it would be great to have a general emacs API for flexibility so you can choose the front-end.

It looks as though the api for a client is defined in api_common.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

thanks for the link. so https://github.com/LemmyNet/lemmy/blob/main/src/api_routes_http.rs shows the paths and params, i tried them in a rest client and it's no too hard to follow.

the mastodon.el http layer isn't great, but it could be v quickly adapted for this case.

[–] asterisk 1 points 1 year ago (1 children)

Thanks, yes that's a more useful source than my one.

[–] [email protected] 2 points 1 year ago (1 children)

https://codeberg.org/martianh/lem has some basics, functions returning plain JSON. i didn't do any auth, but if its oauth and so similar to mastodon.el, we cd also just move its auth code into the fedi.el library. and fedi-http.el is already set up to handle auth tokens.

discovering lemmy's query parameters is quite a pain for me, as i don't know rust.

[–] asterisk 1 points 1 year ago

That looks a promising start. I'll have a look into it when I have some time. I hope some others do too!

I don't know Rust either, but it does appear to be relatively easy to understand; could be worse anyhow.

It would be nice to have a fully documented API to work from: probably not a priority for the lemmy devs right now, I'd imagine.

[–] [email protected] 1 points 1 year ago

Lol oops, i edited using the wrong id! baby steps. For reference, the API 'docs' can be found in the following: https://join-lemmy.org/api/classes/LemmyHttp.html https://github.com/LemmyNet/lemmyBB/tree/main/src/api https://github.com/LemmyNet/lemmy/blob/main/src/api_routes_http.rs.

The first seems most complete.

[–] beizhia 1 points 1 year ago

Do you have, or plan to have, any code up in a github repo? I'm decent with elisp and this sounds like a fun thing to hack on. My spare time is spread a little thin, so I doubt I'll get to start on anything anytime soon, but I could totally try to contribute. If not, no worries.