WYSIWYG, or What You See Is What You Get, is the way to go. When I started this blog, I used Scheme code to represent the text of each blog post, like this:
(blurb ((p) "Use these interactive maps to visualize where you've been " ((a href "/maps/usa") "in the USA") " and " ((a href "/maps/world") "in the world") ".") ...)
As you can imagine, that's a tedious way to edit text. So I switched to Emacs Org mode, combined with a home-grown wrapper around Pandoc to convert the Org file to HTML. But Org mode, like Markdown, is impoverished in many ways. [Add detail here.] So I switched to editing HTML manually, and wrote a clunky MHTML-mode extension to make the markup disappear during normal editing, leaving just the text. But that was still no fun to use, especially because, like the other approaches, it meant editing the posts in a way that didn't look at all like the final product.
I finally decided to bite the bullet, and invest in something better. I've written EWE, the Emacs Web Editor, an editor that runs a full web browser, but implements full Emacs text-editing commands. I'm writing this post using EWE.
Notes
- Make a hero image.
- Explain the reason for using HTML over Markdown or Org mode.
- Explain the reason for reading and writing via HTTP. Before publishing, add support for reading and writing files.
- Include a video demo. Display keys as they are entered.