Any program that can be run from the shell can produce output into an emacs-buffer. The Python program "Sparkup" produces full HTML templates from a condensed markup similar to zen-coding. In emacs you set a region containing the markup and send it to the shell which returns the output to a "Shell Command Output" buffer. It would be nicer if you could directly replace the region with the output, but for learming and experimenting this kluge is OK.
The entire header and body were created from one word "html5". I added a style section in the header with "style" and a heading and paragraph with "h1 + p" in the body, manually addind this second paragraph. The CSS is not reset so a default Helvetica font has appeared. I like how it looks but I know it will look different elsewhere.
The command is involked in emacs with "M-|" with the input selected, a region, and by typing "bin/sparkup" in the minibuffer. The output is to the shell output buffer where earlier results are erased, so for now you have to copy and paste what you want into the working buffer, an HTML file.
The value of this is that complex HTML structures can be created with balanced tags and with desired nesting. Different standards are supported. I chose to use HTML5 and so I could use its sematically significant markup instead of labeled divisions.
Emacs will display HTML in a browser. It uses Konkeror on this Linux system, but that browser doesn't support HTML5 tags as I see that it ignored the style directive above for "footer", whereas Chrome does what I intended, and centers the string. Chrome uses a Roman Font, since that is the default, so I should explicitly set the Helvetica font I want.