Typst[1] is, imo, worth adding to the conversation. I recently used the CLI (and VSCode extensions) to put together a flyer, and I am testing it for invoice generation. So far I am quite enjoying it as a way to put together PDFs programmatically.
Though I use Typst on its own for my CV since I primarily needed it in PDF. Almost every other project I create starts with `quarto create project`. https://github.com/mintyfrankie/brilliant-CV
Repo:
https://github.com/bigskysoftware/hypermedia-systems-book
Blog on the port: