← Back to context

Comment by susam

5 days ago

> SSGs are good for static sites with no interactivity or feedback. If you want interactivity or feedback, someone (you or a 3rd party service provider) is going to have to run a server.

For my website, I do both. Static HTML pages are generated with a static site generator. Comments are accepted using a server-side program I have written using Common Lisp and Hunchentoot.

How did you get to that position? Did you have to create the server side components to solve the SSG comments problem...?

  • I have always had a comments section on my website since its early days. Originally, my website was written as a set of PHP pages. Back then, I had a PHP page that served as the comment form. So later when I switched to Common Lisp, I rewrote the comment form in it.

    It's a single, self-contained server side program that fits in a single file [1]. It runs as a service [2] on the web server [2], serves the comment and subscriber forms, accepts the form submissions and writes them to text files on the web server.

    [1] https://github.com/susam/susam.net/blob/0.4.0/form.lisp

    [2] https://github.com/susam/susam.net/blob/0.4.0/etc/form.servi...

    [3] https://github.com/susam/susam.net/blob/0.4.0/etc/nginx/http...

    • Nice! So you weren't forced to rewrite a comments solution when you shifted to an SSG, you just coincidentally had to do them at the same time?

      It looks like you did exactly what Jeff did: got fed up with big excessive server sides and went the opposite way and deployed and wrote your own minimal server side solutions instead.

      There's nothing wrong with that, but what problem were you solving with the SSG part of that solution? Why would you choose to pregenerate a bunch of stuff which might never get used any time anyone comments or updates your website, when you have the compute and processes to generate HTML from markdown and comments on demand?

      The common sales points for SSGs are often:

      - SSGs are easier (doesn't apply to you because you had to rewrite all your comment stuff anyway)

      - cheaper (doesn't apply to you since you're already running a server for comments, and markdown SSR on top would be minimal)

      - fewer dependencies (doesn't apply to you, the SSG you use is an added dependency to your existing server)

      This largely applies to Jeff's site too.

      Don't get me wrong, from a curious nerd perspective, SSGs presented the fun challenge of trying to make them interactive. But now, in 2026, they seem architecturally inappropriate for all but the most static of leaflet sites.

      5 replies →