/** * HTML <-> the pivot document. * * The other converters in this package each serve one CMS. This one serves a * shape no CMS produces and most templates do: a prop that is a string of HTML, * rendered with Astro's `set:html`, React's `dangerouslySetInnerHTML` or Vue's * `v-html`. A site that renders its own components stores those strings as * content, because from the template's point of view that is what they are. * * Before this existed the only declarable kind close enough was `richtext`, and * it is the wrong one: `richtext` means *a document*, and what arrives is a * string. The panel therefore rendered the markup literally — * * Free template for … * * — which a person cannot edit without breaking, and which is written back to * the site's own source file if they edit it anyway. * * ## What survives * * Tags with a pivot equivalent become nodes and marks. Everything else is * **preserved, not dropped**, which is the decision this file turns on. A * converter that discarded an unrecognised tag would corrupt the source on the * first save of a neighbouring field — the failure mode is silent, and the * content is gone by the time anyone reads the page. So: * * - An unknown element wrapping text (`