publish: show spinner while loading preview, other minor style tweaks
extract source HTML out into its own template
show source in publish preview in compact form