• PicoBlaanket@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        2 years ago

        Cool. I often wonder about pulling Lemmy data/components into Hugo (a static website, coded in Go).

        For example:

        1. 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)).

        2. 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?

        • Arsen6331 ☭@lemmygrad.mlOP
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          2 years ago

          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

          • PicoBlaanket@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            2 years ago

            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.

            • Arsen6331 ☭@lemmygrad.mlOP
              link
              fedilink
              arrow-up
              1
              ·
              2 years ago

              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.

        • poVoq@slrpnk.net
          link
          fedilink
          arrow-up
          1
          ·
          2 years ago

          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.