Maybe take a look at pandoc before writing your own DSL. You can use it with --pdf-engine=weasyprint, so your DSL can be Markdown, reStructuredText, Org-mode, ...
Thank you. pandoc may be part of the glue too, I have to think about it. I probably do want my own DSL as none of the existing ones apply to my "domain", "specifically"