• PicoBlaanket@lemmy.ml
      link
      fedilink
      arrow-up
      6
      ·
      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?

      • poVoq@slrpnk.net
        link
        fedilink
        arrow-up
        7
        ·
        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.

      • Arsen6331 ☭OP
        link
        fedilink
        arrow-up
        5
        ·
        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
          2
          ·
          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 ☭OP
            link
            fedilink
            arrow-up
            2
            ·
            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.