Check out Typst. It’s a markup language focused on print with HTML layout as a secondary target.