Markdown 1.0

截至上周五,Markdown 1.0终于退出了测试阶段A fair amount has changed since the first public release back in February, so here’s a run-down of what’s new:

  • I experimented with a licensing scheme that basically said Markdown was legally licensed under theGPL, but that commercial users ought to pay for a $50 commercial license to support Markdown’s developmentThis experiment was both (a) confusing and (b) unsuccessful, so Markdown is now simply licensed under the GPL, no strings attachedDonations to support Markdown’s development are happily accepted, but are not required.

  • 大大简化了代码块的语法规则Colons are no longer necessary; any block of text indented by 4 spaces or 1 tab is considered a code block.

    注意:This means existing Markdown-formatted text that uses extra colons to trigger code blocks will now contain superfluous colons in the XHTML outputSorry about that, but the good news is that this is the only significant syntax change that breaks compatibility with the initial public beta.

  • Unordered list items can now be denoted by any of the following bullet markers:[* + - ]

There were a bunch of other small changes; the full list is available in the “Version History” section in the source code.


As mentioned in the documentation, “Markdown” is really two different things: (1) a structured plain text formatting syntax for writers; and (2) software I wrote in Perl that translates Markdown-formatted text into HTML.

I had hoped that others would port/re-implement Markdown in other scripting languages and weblogging/content management systems, and it didn’t take long:

  • Michel Fortin的PHP Markdownis a line-for-line, feature-for-feature translation of my Perl version, written in PHP. Michel’s port is terrific, and is included as a plug-in with recent versions ofWordPress的It also works with a bunch of other PHP-based weblog systems, including的TextpatternbBlog, and

  • BlueCloth是迈克尔格兰杰的Ruby之港。

  • Tom Watson在他的版本中使用了我的Perl版本手稿项目。

  • xMarkdownis European Bob’s complete re-implementation of Markdown in Perl, which differs from my version by refusing to output anything that isn’t strict XHTML(In normal use, my Markdown generates valid XHTML, but if you pass in a block of invalid HTML tag soup, it will pass through unchanged.)

  • Grayson Hansard写了一些AppleScript胶水Markdown work within TextWrangler


(If there are other complete working ports of Markdown, or other publishing systems that work with any of the above implementations, let me know.)