I think this is a bit short sighted. I like Markdown and I'll eventually integrate it into my product, but to discredit the usefulness of WYSIWYG would be foolish. Maybe there is a lack of good implementations for it to show any value. I'm currently evaluating redactor (http://imperavi.com/redactor/) as my WYSIWYG editor and I've been happy with it so far.
For example this is how I render the html that is generated by redactor:
If you click the edit button on the bottom right hand corner, it'll bring up the WYSIWYG editor:
And if I need to do a complex layout like the one in the screen shot, redactor lets you edit in raw html, as shown below:
If you are working on a product and believe Markdown is the only way to go, you'll probably do yourself and your customers a disservice.
famous last words.
i haven't seen an html-based editor i couldn't sabotage,
just fooling around with it. and you know what they say
about how the world keeps on inventing better fools, eh?
now, if everyone who edits your content is experienced
with .html, and knows how to avoid the pitfalls, great!
but if you want the general public to touch your stuff,
you're gonna find yourself doing some heavy clean-up...
at least if my experience is any guide.
you'll have stuff that might _look_ "right", as long as it
stays in the exact environment where it was last edited,
but as soon as you move it, it will blow up in your face.
because the markup underlying it was not done correctly.
_that's_ why wysiwyg sucks; it "looks" right, but it's not.
and it's not a "short-sighted" view. it's _experience_.
painful, hard-fought, bang-head-against-wall experience.
now, perhaps redactor is ahead of everyone else on this,
and it knows how to handle these headaches in advance,
and if that's the case, i'd love to hear it. meanwhile...
Case in point: the markup in your final link is terrible: tables for layout, inline styles, DIVs containing nothing by BRs, etc. I could never sanction the use of an editor that produces that kind of garbage.
Don't get me wrong, Markdown is not the solution either. For the novice, it shares the same sort of cognitive barrier as HTML - confusing symbols that take time and effort to understand, the whole notion of plaintext being rendered as formatted text - without the huge benefit of flexibility - many things just can't be done in Markdown.
I don't really know what the solution is, but - in my experience - reducing the problem set from a general purpose editor to do 50% of what HTML does, to context-specific 'wysiwyg-like' editors is a step in the right direction.
To be fair to Redactor, I was using an older version before its license change. It was something I quickly integrated a while back and it does introduce <BR> and some other weird things. At the moment moment of writing the tutorial, I just needed it to "Look Right" and not technically be "Right" or "Pretty". My core product doesn't revolve around document management.
"I could never sanction the use of an editor that produces that kind of garbage."
The thing is, I'm willing to bet a lot of people couldn't care less about the HTML produced. In my case, I just needed to get the document out ASAP so that I could move on to the other hundred things on my to do list. I probably used redactor to put a square into a circle, but it got the job done for me.
"Don't get me wrong, Markdown is not the solution either"
I agree and who ever comes up with the solution, will probably do quite well. My reason for posting was to point out the Markdown isn't the final solution. For now, I'm willing to bet a lot of people just want to be able to type away and have things look right, with out it being right.
People with disabilities, especially visual ones, rely on technologies that extract semantic meaning from your site's HTML in order to convert it to another form. If your HTML is garbage then your site is inaccessible.
Markdown isn't totally there though because there are certain situations where specific styling is needed. I am probably still going to need to implement some kind of extension to enable setting CSS classes on blocks of text to enable this.
By the way: I’m very curious about your “zen markup language” in the make. Got some unfinished work in my drawers on “the best possible tool for writers”, too. Some more research, wireframes, and a few drafts on an _extensible_ markdown-like lightweight markup language. E.g. this little discussion: https://twitter.com/rhythmvs/status/423123272809455616
I sympathize with the idea of poet-turned-programmer. Maybe have a chat?
$ git clone https://github.com/OscarGodson/EpicEditor.git
Cloning into 'EpicEditor'...
remote: Reusing existing pack: 2951, done.
remote: Total 2951 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (2951/2951), 1.53 MiB | 192.00 KiB/s, done.
Resolving deltas: 100% (1392/1392), done.
Checking connectivity... done.
$ grep -ir jqueryui EpicEditor/|wc -l
P.S. Auto-saving in localStorage is a cool though.
HTML is editable, but it doesn't update the Markdown side nor does it update the Preview, so the edits that you do in HTML are apparently just thrown away