I’ve written Go bindings for Lemmy’s HTTP API. If anyone wants to use them, the import path is go.arsenm.dev/go-lemmy
. The repo is at https://gitea.arsenm.dev/Arsen6331/go-lemmy with a mirror on GitHub: https://github.com/Arsen6331/go-lemmy.
I’ve written Go bindings for Lemmy’s HTTP API. If anyone wants to use them, the import path is go.arsenm.dev/go-lemmy
. The repo is at https://gitea.arsenm.dev/Arsen6331/go-lemmy with a mirror on GitHub: https://github.com/Arsen6331/go-lemmy.
I want to try making a bot and maybe a client of some sort
Cool. I often wonder about pulling Lemmy data/components into Hugo (a static website, coded in Go).
For example:
Showing Lemmy ‘cards’ in the main Hugo feed (which display meta info about a Lemmy post (such as: number of comments, topic title, and post summary)).
Or even… displaying a Lemmy post’s entire comment section (creating a nested comment-section for each Hugo post).
It seems like you’ve experimented quite a bit.
Do you feel like either of those is possible?
Indeed Lemmy based comments on a static Hugo site might be really cool. I think there are already some ways to do that with Mastodon, but Lemmy is probably even better suited for that.
I’ve used Hugo quite a bit. It’s a static site generator. That’s the problem, it’s static. There’s no way to run actual Go code on a static site because it runs entirely client-side. However, Lemmy has an official JS client which is perfect for that use case. With lemmy-js-client, yes, you could (probably) display Lemmy info on a Hugo site
Hey, thank you for the reply.
I went through the js-client docs, and the available methods.
Seems
GetPost
is the one required for importing comments.I suppose it would arrive (to Hugo) as a json object (identical to the one in the console log of a Lemmy post).
Within that
GetPost
data, I see that each nested-comment has a parent-comment-id.**
1 - So would the idea be to rebuild a UI for the nested comments section?
(and then connect other JS-client objects to new UI-elements, such as voting-buttons and reply-inputs)?
2 - Or is there an easier way to display the data, since [Lemmy] and [all built-Hugo-pages] are running on the same server/domain?
(and since Lemmy already has the UI code to build nested comments)
[NOTE: Lemmy is in docker, Hugo-pages are in
/srv/
]**
Essentially - What is the suggested/optimal way to display that js-client info on a js-capable static page?
[Please forgive any naiveté in those questions. I am willing to experiment with new approaches.]
I appreciate your response. It’s good to know that this technique is available.
If you want to actually display this information, you will need to use your own UI elements. If you want, you can simply reuse the code for
lemmy-ui
and modify it for whatever you need.