For more germane blogging and ssg in elixir/beam, I use and recommend the excellent tableau generator[2], by Mitch Hanberg. I use it to power my own personal site[3], and publish the source[4] for anyone who is interested.
[2] https://github.com/elixir-tools/tableau
[3] https://pdx.su
https://extrastatic.dev/svekyll/svekyll-cli
I wrote a post about embeddings that uses some fun Svelte animations. You can scroll to the bottom and click view source. That'll show you the markdown for some very complex visualisation in Svelte. Then, click on the download button and download that post entirely, which can be built into a single HTML file with two commands: "npm i && npm build".
Although, one can probably write a Makefile such that it loops through each file, greps or otherwise obtains the `extends` and generates the Makefile rules that way.
You can do it with grep and what nots, but it gets icky fast. Much better is to have the compilers output dependency information while they're compiling, and use that. The compilers have to know the actual dependencies, because they're opening them, and reasonable compilers have options to save it for you.
They made their own template language on top of html. An interesting outcome of this is that any error in the html, like a missing closing tag, becomes a build time error.