tags:

views:

208

answers:

3

I'm working on a fairly large CMS-like app that includes a forum, wiki pages, etc. What whould you chose between Markdown and HTML? I'm concerned about usability and the fact non-techie people will use this.

  • Markdown has a very simple syntax but few users know it
  • with HTML you can use a WYSIWYG editor but they are often terrible
+4  A: 

I vote for Markdown.

  1. I picked up Markdown in maybe 5 minutes in writing my first response here. Later I learned more than what I picked up here, but I'd think this to be rather standard.

  2. Markdown is much simpler to get good markup out of, and if you're worried about speed just cache the resulting output.

  3. Markdown is often better, and more easily understood, in plain text than HTML is in a WYSIWYG editor. Also, no-script friendly.

And if you've got a user who wants an embeded object, just drop the HTML code from that Youtube video in and it'll get carried over.

The Wicked Flea
Yes, I thought about caching the HTML too, and using it for viewing only.
wooptoo
+2  A: 

We store XHTML in the database, validated against a restricted XHTML schema. The front-end is either a WYSIWYG editor (for the staff who know how to deal with its quirks) or a plain-text box (for the users, with automatic link detection etc.). We can convert the content back and forth, although the plain-text box loses formatting, so we do not depend on a specific UI. If we needed more than this, I would add another converter from XHTML to markdown.

Malte Clasen
+1 if you must use HTML, well-formed and restricted XHTML is the way to do it.
bobince
+3  A: 

If usability is an issue, and the target audience is non-geeks, WYSIWYG wins over Markdown. People are used to the toolbars with formatting buttons, but Markdown is a completely unknown markup language to most people (even "markup language" is completely unknown!).

I've had to explain a Markdown-lookalike wiki syntax to non-geeks at work, and they don't love it. When you want to write something, you want to write something, not look up weird ASCII syntax. Try not to interrupt the users' flow.

I would find a good WYSIWYG editor, like the one in WordPress (TinyMCE). It works ok.

Christian Davén