Ask YC: Textile vs Markdown
I'm sick of writing html tags. It is a bore, even when using my favorite editors (vim, textmate).
I've been considering the pros and cons of the 2 most popular lightweight markup languages, but can't seem to pull the trigger one way or the other.
I realize that ultimately it comes down to personal taste, like vim vs emacs, but I'd still like some external input. What do you prefer and why?
22 comments
[ 5.0 ms ] story [ 58.4 ms ] threadThe syntax is pretty easy. [^1]
[^1]: And really adds some jazz to blog entries.
So while I use Markdown, I recommend Textile just so you can avoid this issue.
[Hacker News][hn] is a website.
[hn]: http://news.ycombinator.com/
You should generally use these all the time when writing documents you intend to maintain. For quick one-offs like blog comments, you can instead use:
[Hacker News](http://news.ycombinator.com/) is a website.
Once you actually use markdown for non-trivial documents, it is very easy to remember its syntax.
You have to learn some new system of quoting and escaping. I don't know textile or markdown, but I just went over to http://textism.com/tools/textile/index.php and tried to put a </code> close tag inside the sample code. It's got problems.
You get approximately one chance at a correct conversion to a richer format: converting to html. Nearly any other conversion, such as from the wrong lightweight markup to another lightweight markup, is lossy.
These markups aren't very extensible. They can't store metadata (e.g. microformats), or if they do, it tends to be by allowing html tags mixed into the markup, which means we're back into quoting/escaping issues.
There tend not to be any WYSIWYG editors, neither for you if you one day want one, nor for a less technical user who you'll someday want to edit your document.
So given almost zero knowledge about your problem, I'd recommend a WYSIWYG html editor. Whichever one you choose, it'll occasionally screw up and corrupt your formatting. Or maybe there will be subtle differences between the preview layout and a final browser layout. If you think those kind of issues will be a problem, then you REALLY don't want a lightweight markup language.
I suggest an editor like vim or Emacs with HTML modes that give you auto-indenting and tag completion key bindings. It’s really not that much more work to author straight HTML, and if it’s what you’re targeting anyway, you’ll be happier in the long run when you have to maintain it.
Typical end users dislike raw HTML. Most of them don't know what a <code> tag is. Markdown (though probably not Textile) is superior to HTML for end-users in that you don't even need to know how it works to get better-than-raw-text results.
My company's product does Markdown, and my philosophy is this: tens of thousands of people edit Wikipedia. Most of them are not particularly computer savvy. Wikipedia has perhaps the most baroque and ineffecient markup syntax possible, and people still tolerate it. So, there's the lower bar. By all means, exceed it, but don't obsess.
1. Do you need something that one has that the other doesn't?
2. Who's your target audience? Are they going to be writing a lot of markup? If so, considering the syntax differences is more important than say for blog comments where the only likely uses are bold, italic, and link.
3. How is the library support in your chosen language; are there any quirks? I remember at one point a bug surfaced in py-textile that had something to do with unicode chars so if you were using a lot of unicode chars it was better to go with Markdown.
If I had to pick one I generally like more it would probably be textile, but it's so dependent on the situation that I have no generalized evidence to support one being superior as a rule. If you only want to deal with one, period, I would probably go with Markdown just because, as mentioned, it is more widely used and therefor (slightly) more well-known (also highly dependent on audience) and likely to be better supported lib-wise.
That said, I still prefer Textile, I just like the syntax better.
Textile is more expressive. It has more features and does more stuff.
Markdown is more transparent. It's designed to capture the features of a text email message and render them in HTML.