Learn the fundamentals of Markdown, a simple, text-to-html tool used to format writing on the Web.
Download
Markdown 1.0.1 (18 KB) — 17 Dec 2004
Introduction
Markdown is a text-to-HTML conversion tool for web writers. Markdownallows you to write using an easy-to-read, easy-to-write plain textformat, then convert it to structurally valid XHTML (or HTML).
Thus, “Markdown” is two things: (1) a plain text formatting syntax;and (2) a software tool, written in Perl, that converts the plain textformatting to HTML. See the Syntax page for details pertaining toMarkdown’s formatting syntax. You can try it out, right now, using theonline Dingus.
The overriding design goal for Markdown’s formatting syntax is to makeit as readable as possible. The idea is that a Markdown-formatteddocument should be publishable as-is, as plain text, without lookinglike it’s been marked up with tags or formatting instructions. WhileMarkdown’s syntax has been influenced by several existing text-to-HTMLfilters, the single biggest source of inspiration for Markdown’ssyntax is the format of plain text email.
The best way to get a feel for Markdown’s formatting syntax is simplyto look at a Markdown-formatted document. For example, you can viewthe Markdown source for the article text on this page here:http://daringfireball.net/projects/markdown/index.text
(You can use this ‘.text’ suffix trick to view the Markdown source forthe content of each of the pages in this section, e.g. theSyntax and License pages.)
Markdown is free software, available under a BSD-style open sourcelicense. See the License page for more information.
- In research, we usually publish the most important findings in tables and figures. When writing research papers using Rmarkdown (.Rmd), we have several options.
- Now, first of all, Markdown is a text format and conversion tool for people who write documents.
Discussion List
I’ve set up a public mailing list for discussion about Markdown.Any topic related to Markdown — both its formatting syntax andits software — is fair game for discussion. Anyone who is interestedis welcome to join.
It’s my hope that the mailing list will lead to good ideas for futureimprovements to Markdown.
Installation and Requirements
Markdown requires Perl 5.6.0 or later. Welcome to the 21st Century.Markdown also requires the standard Perl library module Digest::MD5, which is probably already installed on your server.
Movable Type
Markdown works with Movable Type version 2.6 or later (includingMovable Type 3.0).
Copy the “Markdown.pl” file into your Movable Type “plugins”directory. The “plugins” directory should be in the same directoryas “mt.cgi”; if the “plugins” directory doesn’t already exist, useyour FTP program to create it. Your installation should look likethis:
Once installed, Markdown will appear as an option in Movable Type’sText Formatting pop-up menu. This is selectable on a per-post basis:
Markdown translates your posts to HTML when you publish; the poststhemselves are stored in your MT database in Markdown format.
If you also install SmartyPants 1.5 (or later), Markdown willoffer a second text formatting option: “Markdown WithSmartyPants”. This option is the same as the regular “Markdown”formatter, except that it automatically uses SmartyPants to createtypographically correct curly quotes, em-dashes, and ellipses. Seethe SmartyPants web page for more information.
To make Markdown (or “Markdown With SmartyPants”) your defaulttext formatting option for new posts, go to Weblog Config:Preferences.
Note that by default, Markdown produces XHTML output. To configureMarkdown to produce HTML 4 output, see “Configuration”, below.
Blosxom
Markdown works with Blosxom version 2.0 or later.
Rename the “Markdown.pl” plug-in to “Markdown” (case isimportant). Movable Type requires plug-ins to have a “.pl”extension; Blosxom forbids it.
Copy the “Markdown” plug-in file to your Blosxom plug-ins folder.If you’re not sure where your Blosxom plug-ins folder is, see theBlosxom documentation for information.
That’s it. The entries in your weblog will now automatically beprocessed by Markdown.
If you’d like to apply Markdown formatting only to certainposts, rather than all of them, Markdown can optionally be used inconjunction with Blosxom’s Meta plug-in. First, install theMeta plug-in. Next, open the Markdown plug-in file in a texteditor, and set the configuration variable
$g_blosxom_use_meta
to 1. Then, simply include a “meta-markup: Markdown
” header lineat the top of each post you compose using Markdown.
BBEdit
Markdown works with BBEdit 6.1 or later on Mac OS X. It also workswith BBEdit 5.1 or later and MacPerl 5.6.1 on Mac OS 8.6 or later. Ifyou’re running Mac OS X 10.2 (Jaguar), you may need to install thePerl module Digest::MD5 from CPAN; Digest::MD5 comespre-installed on Mac OS X 10.3 (Panther).
Copy the “Markdown.pl” file to appropriate filters folder in your“BBEdit Support” folder. On Mac OS X, this should be:
See the BBEdit documentation for more details on the location ofthese folders.
You can rename “Markdown.pl” to whatever you wish.
That’s it. To use Markdown, select some text in a BBEdit document,then choose Markdown from the Filters sub-menu in the “#!” menu, orthe Filters floating palette
Configuration
By default, Markdown produces XHTML output for tags with empty elements.E.g.:
Markdown can be configured to produce HTML-style tags; e.g.:
Movable Type
You need to use a special MTMarkdownOptions
container tag in eachMovable Type template where you want HTML 4-style output:
The easiest way to use MTMarkdownOptions is probably to put theopening tag right after your <body>
tag, and the closing tag rightbefore </body>
.
Format Markdown Formula
To suppress Markdown processing in a particular template, i.e. topublish the raw Markdown-formatted text without translation into(X)HTML, set the output
attribute to ‘raw’:
Format Markdown Sql
Command-Line
Use the --html4tags
command-line switch to produce HTML output from aUnix-style command line. E.g.:
Type perldoc Markdown.pl
, or read the POD documentation within theMarkdown.pl source code for more information.
Acknowledgements
Format Markdown Table
Aaron Swartz deserves a tremendous amount of credit for his feedback on thedesign of Markdown’s formatting syntax. Markdown is much better thanksto Aaron’s ideas, feedback, and testing. Also, Aaron’s html2textis a very handy (and free) utility for turning HTML intoMarkdown-formatted plain text.
Nathaniel Irons, Dan Benjamin, Daniel Bogan, and Jason Perkinsalso deserve thanks for their feedback.
Format Markdown Function
Michel Fortin has ported Markdown to PHP; it’s a splendid port, and highly recommended for anyone looking for a PHP implementation of Markdown.