And if you want to add more complex behavior, it's easy to transition it on per page basis. i.e. I want to lock some pages (courses) only to GitHub sponsors.
This is a bit 'harder' to do than alternatives like Hugo, Eleventy etc. (in my opinion)
Oh and for blog part, if you want to do some fancy things like mdx, React/Next is nice as there is a template you can use for it https://github.com/hashicorp/next-mdx-enhanced
Otherwise, you'd have to create something of your own.
Using partials is nowhere near as nice as using real components.
I'm working on a Node SSR project and after trying a couple of templating engines I ended up using Svelte components in SSR mode.
If you're ok with editing code files (markdown, html, etc) this is extremely simple to setup. You can even get a template somewhere[1] and just start producing content. Obviously this is only feasible for devs or maybe designers with HTML/CSS skills.
I'd like to add that SSGs can also render dynamic data from an API or directly from a DB at build time.
> no new files are sent from the server
But you can have 'static' with code splitting and send new files from the server on each route change.
How does it handle authentication? Is there a backend somewhere?