• 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.