Chris Coyer Thinks You Should Probably Blog in Markdown
I respectfully disagree with most of his reasoning with the exception of number 5:
Once you’re used to it, it feels very natural. Far less awkward than reaching for those angle bracket keys. I particularly like the link format, where you can write out the text you want to be linked first (within the square brackets) before you need to stop your brain for a second to go copy/paste the link.
Writing in HTML is certainly not ideal—at least not inline. Most text editors can format HTML quite easily after the fact with snippets, though. I have quite a library of these for BBEdit, Atom, Coda, and Sublime Text. Wrapping a 3,000 word page of paragraphs and headings is trivial, as this can usually be accomplished with one or more keyboard shortcuts. Inserting links is only slighty less trivial.
But I don’t do this either. I use TinyMCE in my custom CMS which allows me to write in rich text and it converts everything I write into clean HTML as I type.
My TinyMCE configuration is locked down with the following valid elements:
valid_elements: "h3,h4,h5,h6,p,ul,ol,li[id],a[href],strong,em,del,ins,hr,blockquote,pre,sup[id],table,tr,th,td,thead,tbody,tfoot"
This rule tells TinyMCE to remove all markup from my text that isn’t one of these elements or attributes. The only attributes I am allowed are href for links and ids for linking to footnotes. This is how I ensure my markup is cruft-free.
I do think Markdown is cool… if you’re into pre-processor-style workflows. So is SASS (which I also don’t enjoy using). What can I say? I’m a hands-on person, and I’ve been at this a very long time. When you removed the cruft argument and consider the fact that good old semantic, accessible markup can be compiled to other formats, too (Your browser formatted this very text into rich text just seconds ago!), you’re left with an extra step that doesn’t necessarily add all that much benefit.
I suppose you could argue that TinyMCE is a pre-processor, too. But I don’t need to bother myself with typing out _nasty_ __underscores__, ###hashes, ***asterisks and the like to format my text as I go. Plus I get the added benefit of being able to easily use these characters in my text when I want to.