html::HtmlFormat -> html::Format and optional header and footer