Page started: 2025-06-17
Page published: 2025-06-18

In The Wiki Weekend Part 2: The Page Editor Idea, I talked about how "rich text editing", or WYSIWYG editing is prone to failure and frustration. Sadly, it turned out to be even worse, in practice, than I’d expected.
Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura, ché la diritta via era smarrita. Dante Alighieri Inferno Canto ISo, despite a distrust of rich text editing built up over a lifetime of let-downs and sadness, and despite setting basement-level low expectations, the editor portion of my "weekend effort" wiki managed to stab me through the heart so thoroughly that I could only weakly mutter, "I should have known," as I descended into that long dark night known only to those who have reached for the stars and beheld glorious light, only to see it rot and turn to ashes once in hand. Yes, I speak of the contentEditable attribute.
WYSIWYG editing is built on a tower of lies
The idea was that a two-pane editor with raw HTML editing on one side and WYSIWYG editing on the other side would allow easy text entry plus fine-grained control of the document.
I was hopelessly naive.
The two-pane thing worked pretty well (with a lot of caveats) when I simply typed new paragraphs of content and used the controls as intended to insert headings and links.
But then I tried copying and pasting some text from another source.
To engage with WYSIWYG is to slip into a dream only to wake to a perpetual nightmare and the only escape is complete destruction
There was absolutely no way I was going to manually untangle the absolute train-wreck of nested <span> and <div> tags from that pasted content.
I present, "WYSINWLB: What You See Is Not What Lies Beneath."

A lot of copy-paste text is going to contain formatting. And a lot of that formatting is machine-generated to "look right", not for semantic correctness.
To be clear: The problem is not that the markup of the pasted text was abhorrent to me (though it was). Or that it looked bad on the page (also true).
It’s that the pasted content was essentially uneditable.
I’m convinced that my "friends and family" audience for this wiki would paste just one single chunk of text, try to edit the mess, fail, get frustrated, and that would be the end of it. Forever.
It’s called "rich text editing" because it enriches itself while taking your life force
The standard solutions are:
-
A "clear formatting" button.
-
A "paste without formatting" option.
-
Major project: "Normalize" the formatting to fit the wiki
If pasted content was the only problem, I might have tried one of those solutions. I mean, typing directly into it was fine…
But the WYSIWYG editing situation was also pretty bad. Very prone to frustratingly weird behavior. And I had to admit that even I didn’t want to hand-edit the HTML on the other side.
Never forget: contentEditable remains in browsers as a tantalizing "gift" that is better left unwrapped
"And some things that should not have been forgotten were lost. History became legend. Legend became myth. And for two and a half thousand years, the ring passed out of all knowledge." — Galadriel, The Fellowship of the Ring
With a heavy heart, I had to admit my "weekend wiki" wasn’t going to cut it for the intended purpose.
But! From sadness, joy. Because now I could try out my other idea: Store as HTML, Edit as LML. Check it out!