« Bricks... | Main | The Wall Street Journal Comes Through Once Again »

February 27, 2005

Markdown: This Looks Truly Useful

I have been looking for something like this for quite a while:

Daring Fireball: Markdown Syntax Documentation: Philosophy: Markdown is intended to be as easy-to-read and easy-to-write as is feasible.

Readability, however, is emphasized above all else. A Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. While Markdown’s syntax has been influenced by several existing text-to-HTML filters — including Setext, atx, Textile, reStructuredText, Grutatext, and EtText — the single biggest source of inspiration for Markdown’s syntax is the format of plain text email.

To this end, Markdown’s syntax is comprised entirely of punctuation characters, which punctuation characters have been carefully chosen so as to look like what they mean. E.g., asterisks around a word actually look like *emphasis*. Markdown lists look like, well, lists. Even blockquotes look like quoted passages of text, assuming you’ve ever used email.

Markdown’s syntax is intended for one purpose: to be used as a format for writing for the web. Markdown is not a replacement for HTML, or even close to it. Its syntax is very small, corresponding only to a very small subset of HTML tags. The idea is not to create a syntax that makes it easier to insert HTML tags. In my opinion, HTML tags are already easy to insert. The idea for Markdown is to make it easy to read, write, and edit prose. HTML is a publishing format; Markdown is a writing format. Thus, Markdown’s formatting syntax only addresses issues that can be conveyed in plain text...

Posted by DeLong at February 27, 2005 02:22 PM

Trackback Pings

TrackBack URL for this entry:
http://www.j-bradford-delong.net/cgi-bin/mt_2005-2/mt-tb.cgi/434

Comments

You could have stopped looking a long time ago and started using TeX/LaTeX, which allows you to (1) compose using simple markup of plain text files; (2) directly convert marked-up text to typographically extremely high quality postscript and PDF; (3) automatically convert that output to HTML.

[It seems you don't understand what "plain text files" means in this context. TeX input files are not "plain text files."]

Posted by: bza at February 27, 2005 02:45 PM


[pointless]

Posted by: at February 27, 2005 03:32 PM


Ignore the TeX geeks; Markdown is perfect for blogging.

Posted by: Bill Tozier at February 27, 2005 04:36 PM


Wow... TeX is "almost certainly easier"? Granted, my PhD is only in EE, not CS, so the amount of TeX I've emitted is only "not insignificant" as opposed to "copious", but I've done enough to know that the point of TeX is correctness, not ease. (Though if correctness is an inportant factor then TeX could be said to be easier at providing correctness, contrasted for example my thesis advisors requirement to produce a thesis in MicroSoft Word.)

bza makes a correct point that they are both forms of markup but then contradicts that statement by claiming that Markdown "guesses what appropriate markup should be from certain characteristics". If it is itself markup, then there is no guessing. The tool merely parses one (intentionally restricted in this case) expression of markup into another, *which is exactly the sort of thing that you should be making the computer do*. Yay for being a tool-using primate.

Posted by: Matthew Ernest at February 27, 2005 05:02 PM


This sounds a bit like the various wiki markup syntaxes (syntaces?) http://en.wikipedia.org/wiki/Wiki


The only trouble is when you have to go back and forth between several of them, you'll end up with gray matter *everywhere*. They're all simple and obvious, except their capabilities are all a little different, and I can never remember which one bolds text *like this*, which one bolds text '''like this''', and now I see that Markdown bolds text **like this** or __this__.

I like their "reference-style links", and the idea of a text-like markup syntax whose goal is readability of the raw marked-up text is interesting.

Posted by: Jeremy Leader at February 27, 2005 06:09 PM


Hey, I'm pretty much a TeX geek (well, LaTeX, anyway), and I think Textile and Markdown are terrific. Textile is supported by a Movable Type plugin, too. Don't know about Markdown. If you like,you can use Instiki (mac only, google it) as a note taker: it has a rendering pipeline that converts Markeddown or Textiled text into HTML or a LaTeX-generated PDF. Pretty cool.

Posted by: Kieran at February 27, 2005 06:20 PM


Almost Plain Text is very similar and supports a variety of outputs including html. http://www.xmlmind.com/aptconvert.html

Posted by: ac at February 27, 2005 06:27 PM


Meanwhile, could you fix the bug that makes all linebreaks disappear in preview?

Also, nroff rulez.

Posted by: Felix Deutsch at February 27, 2005 06:32 PM


Yet another arbitrary syntax to encode HTML, for people who want to save characters in typing and have discovered that you really don't have to name what an end tag is ending.

The Auto Format Mode found in Scoop which is used at sites like DailyKos is better. It at least deals with the problem of encoding repeated spaces which helps if you are trying to display a small table and are doing it in CODE to get the collums to line up.

Since your comments do not allow any HTML, have a look at the example at

http://www.dkosopedia.com/index.php/DailyKos_FAQ#AF:_monospaced_tables

Read that example and the surrounding section on Auto Format.

I've tried to use the Markdown Dingus

http://daringfireball.net/projects/markdown/dingus

and it doesn't handle the repeated spaces nor does it handle its documented ability to generate CODE.

http://daringfireball.net/projects/markdown/syntax#precode


[ALSO there is something horribly wrong with your Preview button. I've tried all sorts of ways to seperate this post into paragraphs but they all get smooshed together during preview. I hope this doesn't happen when I click on Post.]

Posted by: MonkeyBoy at February 27, 2005 06:45 PM


Aw, c'mon.

Over on my blog, you can post using Markdown syntax *and* embedded TeX equations.

Why be forced to choose between them?

Markdown's kinda nice for composing (X)HTML. If you don't have a good client application with macros for inserting common HTML constructions (unordered lists, say, or tables), then Markdown is much easier to type than raw HTML markup.

TeX can serve both as a (terse and efficient) format for entering equations *and* as a high-quality page-layout language.

The latter is not what you're doing on the web. But, for composing paper or PDF documents, it's hard to beat (for quality, if not necessarily ease-of-use).

[And yeah, the preview is pretty broken hereabouts.]

Posted by: Jacques Distler at February 27, 2005 06:54 PM


I use Markdown and recommend it highly. I've tried many different HTML-creating syntaxes (including one I designed and coded myself) and of them, Markdown is far and away the most natural. It generates particularly clean XHTML and is also pleasant to read in its untranslated form. The Smarty Pants integration alone is a great plus for Markdown.

John Gruber is doing a fine support job. I came across a quasi-bug (the blockquote syntax interacts with the Sendmail >From kludge to produce seemingly random quotation) and had some back-and-forth with him. Thumbs up.

NB: I also love LaTeX. I've written problem sets, papers, and a math-heavy computer science undergraduate thesis in it. It's a great system, and wholly inappropriate for blogging for the reasons given above.

Posted by: James Grimmelmann at February 27, 2005 08:38 PM


The best text2HTML was called HTMLWriter,
but it's no longer compatible with Win98+.
Since it was freeware, never got migrated.

Another grand discovery:

Sourceforge.Net (open source software)
-and-
Vtiger.com (customer relations management)

Especially try VTiger 3.2. Open-source CRM, bundled with Apache and MySQL PHP as a free download, and it reads/writes to MS Outlook.

Chrmn. Gates states emphatically that MSFT is
going after the CRM market as well, with his
upcoming release, PaperTiger v. 1.01 (alpha).
Bundled at 1c with Longhorn, plus you can enter
to win their MSFT coffee mug and a free latte,
so it just side-steps the anti-trust agreement.

Ha,ha,ha,ha.

As soon as Lenovo completes the assimilation
of IBM's PC division, they intend to announce
PC's will no longer be bundled with Win-Tel,
but open-source Chairman Mao's Little Red Hat.

Ha,ha,ha,ha.

And sell for -$100 under everyone else's PP.

But that's right after they start their bank
withdrawal campaign against BoA's knock list,
twisting 93 senators in the wind to approve
IBM's PC deal or lose their secret accounts. %)

"Freedom is emancipation from the
arbitrary rule of Republicans".
-- Mort Adler

Posted by: tante aime at February 27, 2005 11:10 PM


OK, Tex/LaTeX has a completely different design goal than markdown, so I don't understand why we are talking about it. Tex: for print, extremely precise and full-featured layout options, all the way to full-blown, camera-ready documents. markdown: a system of creating plain-text files that look like naturally formatted prose, that can be translated into HTML.

Totally different tasks. TeX is great -- if you need mathematical equations in your documents, there simply is no substitute. But a TeX text file looks nothing like the finished output, nor does it look like normal, readable text.

markdown is a system that could *really* shine in a situation like Project Gutenberg. A plain-text file that is completely natural to the eye and easy to read *as plain text* that can also easily be converted into the more friendly HTML format would be a godsend for me. If only Gutenberg folk would use such tools...

Posted by: Timothy Klein at February 28, 2005 01:22 AM


It has been said that XML is the subset of SGML that Microsoft programmers are capable of understanding. HTML really isn't that hard - do we need another markup language?

Cranky

Posted by: Cranky Observer at February 28, 2005 07:31 AM


Posted by: at March 15, 2005 07:42 AM


Post a comment




Remember Me?