mcbean 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
@@ -7,7 +7,6 @@ Rakefile
7
7
  bin/mcbean
8
8
  lib/mcbean.rb
9
9
  lib/mcbean/markdown.rb
10
- markdown-syntax.html
11
10
  test/helper.rb
12
11
  test/test_markdown.rb
13
12
  test/test_mcbean.rb
@@ -1,6 +1,7 @@
1
1
  = McBean
2
2
 
3
3
  * http://github.com/flavorjones/mcbean
4
+ * http://mcbean.heroku.com/
4
5
 
5
6
  == DESCRIPTION:
6
7
 
@@ -29,6 +30,11 @@ Or if you have an HTML document:
29
30
 
30
31
  McBean.document(your_html_string).to_markdown
31
32
 
33
+ Also, +mcbean+ provides a command-line utility installed into your gem path:
34
+
35
+ $ mcbean /usr/lib/openoffice/licenses/LICENSE_en-GB.html
36
+ $ mcbean http://daringfireball.net/projects/markdown/syntax
37
+
32
38
  === Side Note: Fragments vs Documents
33
39
 
34
40
  Generally speaking, if you expect to have a DOCTYPE and a single root
data/bin/mcbean CHANGED
@@ -1,3 +1,14 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- abort "you need to write me"
3
+ require 'open-uri'
4
+ require 'rubygems'
5
+ require 'mcbean'
6
+
7
+ unless ARGV[0]
8
+ puts "USAGE: #{File.basename(__FILE__)} <file-or-url>"
9
+ puts
10
+ puts "McBean transforms HTML into Markdown for your reading pleasure."
11
+ exit 1
12
+ end
13
+
14
+ puts McBean.document(open(ARGV[0])).to_markdown
@@ -1,7 +1,7 @@
1
1
  require "loofah"
2
2
 
3
3
  class McBean
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.2"
5
5
  REQUIRED_LOOFAH_VERSION = "0.4.7"
6
6
 
7
7
  attr_accessor :html
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 1
9
- version: 0.1.1
8
+ - 2
9
+ version: 0.1.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Mike Dalessio
@@ -35,7 +35,7 @@ cert_chain:
35
35
  FlqnTjy13J3nD30uxy9a1g==
36
36
  -----END CERTIFICATE-----
37
37
 
38
- date: 2010-03-09 00:00:00 -05:00
38
+ date: 2010-03-10 00:00:00 -05:00
39
39
  default_executable:
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
@@ -138,7 +138,6 @@ files:
138
138
  - bin/mcbean
139
139
  - lib/mcbean.rb
140
140
  - lib/mcbean/markdown.rb
141
- - markdown-syntax.html
142
141
  - test/helper.rb
143
142
  - test/test_markdown.rb
144
143
  - test/test_mcbean.rb
metadata.gz.sig CHANGED
Binary file
@@ -1,1081 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
- <title>Daring Fireball: Markdown Syntax Documentation</title>
7
- <meta name="viewport" content="width=700, initial-scale=0.70, minimum-scale=0.45" />
8
- <link rel="stylesheet" type="text/css" media="screen" href="/css/fireball_screen.css?v1.45" />
9
- <link rel="stylesheet" type="text/css" media="screen" href="/css/ie_sucks.php" />
10
- <link rel="stylesheet" type="text/css" media="print" href="/css/fireball_print.css?v01" />
11
- <link rel="alternate" type="application/atom+xml" href="/index.xml" />
12
- <script src="/js/js-global/FancyZoom.js" type="text/javascript"></script>
13
- <script src="/js/js-global/FancyZoomHTML.js" type="text/javascript"></script>
14
- <style type="text/css">
15
- ul + p {
16
- margin-top: 2em;
17
- }
18
- .article h2 {
19
- font-family: Georgia;
20
- font-size: 14px;
21
- text-transform: uppercase;
22
- letter-spacing: .25em;
23
- margin-bottom: 2.5em;
24
- }
25
- .article h3 {
26
- font-weight: normal;
27
- text-transform: uppercase;
28
- letter-spacing: .15em;
29
- }
30
- .article p + h3 {
31
- margin-top: 5em;
32
- }
33
- .article pre + h3 {
34
- margin-top: 6em;
35
- }
36
- </style>
37
- <link rel="shortcut icon" href="/favicon.ico" />
38
- <script src="/mint/?js" type="text/javascript"></script>
39
- </head>
40
- <body>
41
- <div id="Box">
42
-
43
- <div id="Banner">
44
- <a href="/" title="Daring Fireball: Home"><img src="http://10.164.97.137/daringfireball.net/graphics/logos/" alt="Daring Fireball" height="56" /></a>
45
- </div>
46
-
47
- <div id="Sidebar">
48
- <p>By <strong>John&nbsp;Gruber</strong></p>
49
-
50
- <ul><!--&#9733;-->
51
- <li><a href="/archive/" title="Previous articles.">Archive</a></li>
52
- <!-- <li><a href="/members/shirts" title="Buy some swell t-shirts.">T-Shirts</a></li> -->
53
- <li><script type="text/javascript">
54
- // <![CDATA[
55
- function ReadCookie(name) {
56
- var nameEQ = name + "=";
57
- var ca = document.cookie.split(';');
58
- for(var i=0;i < ca.length;i++) {
59
- var c = ca[i];
60
- while (c.charAt(0)==' ') c = c.substring(1,c.length);
61
- if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
62
- }
63
- return null;
64
- }
65
- var display_linked_list = ReadCookie('displayLinkedList');
66
- var li_linked = '<a href="/linked/" title="The Linked List.">Linked List<\/a>';
67
- var li_members = '<a href="/members/" title="Support Daring Fireball with a contribution.">Membership<\/a>';
68
- if (display_linked_list == "hide") {
69
- // Linked List is off on home page, so show it in menu:
70
- document.write(li_linked + "<\/li>\n<li>" + li_members);
71
- }
72
- else {
73
- // Default to not putting separate LL item in sidebar:
74
- document.write(li_members);
75
- }
76
- // ]]>
77
- </script></li>
78
- <li><a href="/projects/" title="Software projects, including SmartyPants and Markdown.">Projects</a></li>
79
- <li><a href="/contact/" title="How to send email regarding Daring Fireball.">Contact</a></li>
80
- <li><a href="/colophon/" title="About this site and the tools used to produce it.">Colophon</a></li>
81
- <li><a href="/feeds/">RSS Feed</a></li>
82
- <li><a href="/feeds/sponsors/">Sponsorship</a></li>
83
- </ul>
84
-
85
- <div id="SidebarTheDeck">
86
- <script type="text/javascript">
87
- //<![CDATA[
88
- (function(id) {
89
- document.write('<script type="text/javascript" src="' +
90
- 'http://connect.decknetwork.net/deck' + id + '_js.php?' +
91
- (new Date().getTime()) + '"></' + 'script>');
92
- })("DF");
93
- //]]>
94
- </script>
95
- <a href="http://decknetwork.net/"><img src="http://10.164.97.135/daringfireball.net/graphics/madison/via_the_deck.png" alt="Ads via The Deck" class="the_deck_promo" /></a>
96
- </div>
97
-
98
-
99
- </div> <!-- Sidebar -->
100
-
101
-
102
- <div id="Main">
103
-
104
- <div class="article">
105
- <h1>Markdown: Syntax</h1>
106
-
107
- <ul id="ProjectSubmenu">
108
- <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li>
109
- <li><a href="/projects/markdown/basics" title="Markdown Basics">Basics</a></li>
110
- <li><a class="selected" title="Markdown Syntax Documentation">Syntax</a></li>
111
- <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li>
112
- <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li>
113
- </ul>
114
-
115
- <ul>
116
- <li><a href="#overview">Overview</a>
117
- <ul><li><a href="#philosophy">Philosophy</a></li>
118
- <li><a href="#html">Inline HTML</a></li>
119
- <li><a href="#autoescape">Automatic Escaping for Special Characters</a></li></ul></li>
120
- <li><a href="#block">Block Elements</a>
121
- <ul><li><a href="#p">Paragraphs and Line Breaks</a></li>
122
- <li><a href="#header">Headers</a></li>
123
- <li><a href="#blockquote">Blockquotes</a></li>
124
- <li><a href="#list">Lists</a></li>
125
- <li><a href="#precode">Code Blocks</a></li>
126
- <li><a href="#hr">Horizontal Rules</a></li></ul></li>
127
- <li><a href="#span">Span Elements</a>
128
- <ul><li><a href="#link">Links</a></li>
129
- <li><a href="#em">Emphasis</a></li>
130
- <li><a href="#code">Code</a></li>
131
- <li><a href="#img">Images</a></li></ul></li>
132
- <li><a href="#misc">Miscellaneous</a>
133
- <ul><li><a href="#backslash">Backslash Escapes</a></li>
134
- <li><a href="#autolink">Automatic Links</a></li></ul></li>
135
- </ul>
136
-
137
- <p><strong>Note:</strong> This document is itself written using Markdown; you
138
- can <a href="/projects/markdown/syntax.text">see the source for it by adding &#8216;.text&#8217; to the URL</a>.</p>
139
-
140
- <hr />
141
-
142
- <h2 id="overview">Overview</h2>
143
-
144
- <h3 id="philosophy">Philosophy</h3>
145
-
146
- <p>Markdown is intended to be as easy-to-read and easy-to-write as is feasible.</p>
147
-
148
- <p>Readability, however, is emphasized above all else. A Markdown-formatted
149
- document should be publishable as-is, as plain text, without looking
150
- like it&#8217;s been marked up with tags or formatting instructions. While
151
- Markdown&#8217;s syntax has been influenced by several existing text-to-HTML
152
- filters &#8212; including <a href="http://docutils.sourceforge.net/mirror/setext.html">Setext</a>, <a href="http://www.aaronsw.com/2002/atx/">atx</a>, <a href="http://textism.com/tools/textile/">Textile</a>, <a href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>,
153
- <a href="http://www.triptico.com/software/grutatxt.html">Grutatext</a>, and <a href="http://ettext.taint.org/doc/">EtText</a> &#8212; the single biggest source of
154
- inspiration for Markdown&#8217;s syntax is the format of plain text email.</p>
155
-
156
- <p>To this end, Markdown&#8217;s syntax is comprised entirely of punctuation
157
- characters, which punctuation characters have been carefully chosen so
158
- as to look like what they mean. E.g., asterisks around a word actually
159
- look like *emphasis*. Markdown lists look like, well, lists. Even
160
- blockquotes look like quoted passages of text, assuming you&#8217;ve ever
161
- used email.</p>
162
-
163
- <h3 id="html">Inline HTML</h3>
164
-
165
- <p>Markdown&#8217;s syntax is intended for one purpose: to be used as a
166
- format for <em>writing</em> for the web.</p>
167
-
168
- <p>Markdown is not a replacement for HTML, or even close to it. Its
169
- syntax is very small, corresponding only to a very small subset of
170
- HTML tags. The idea is <em>not</em> to create a syntax that makes it easier
171
- to insert HTML tags. In my opinion, HTML tags are already easy to
172
- insert. The idea for Markdown is to make it easy to read, write, and
173
- edit prose. HTML is a <em>publishing</em> format; Markdown is a <em>writing</em>
174
- format. Thus, Markdown&#8217;s formatting syntax only addresses issues that
175
- can be conveyed in plain text.</p>
176
-
177
- <p>For any markup that is not covered by Markdown&#8217;s syntax, you simply
178
- use HTML itself. There&#8217;s no need to preface it or delimit it to
179
- indicate that you&#8217;re switching from Markdown to HTML; you just use
180
- the tags.</p>
181
-
182
- <p>The only restrictions are that block-level HTML elements &#8212; e.g. <code>&lt;div&gt;</code>,
183
- <code>&lt;table&gt;</code>, <code>&lt;pre&gt;</code>, <code>&lt;p&gt;</code>, etc. &#8212; must be separated from surrounding
184
- content by blank lines, and the start and end tags of the block should
185
- not be indented with tabs or spaces. Markdown is smart enough not
186
- to add extra (unwanted) <code>&lt;p&gt;</code> tags around HTML block-level tags.</p>
187
-
188
- <p>For example, to add an HTML table to a Markdown article:</p>
189
-
190
- <pre><code>This is a regular paragraph.
191
-
192
- &lt;table&gt;
193
- &lt;tr&gt;
194
- &lt;td&gt;Foo&lt;/td&gt;
195
- &lt;/tr&gt;
196
- &lt;/table&gt;
197
-
198
- This is another regular paragraph.
199
- </code></pre>
200
-
201
- <p>Note that Markdown formatting syntax is not processed within block-level
202
- HTML tags. E.g., you can&#8217;t use Markdown-style <code>*emphasis*</code> inside an
203
- HTML block.</p>
204
-
205
- <p>Span-level HTML tags &#8212; e.g. <code>&lt;span&gt;</code>, <code>&lt;cite&gt;</code>, or <code>&lt;del&gt;</code> &#8212; can be
206
- used anywhere in a Markdown paragraph, list item, or header. If you
207
- want, you can even use HTML tags instead of Markdown formatting; e.g. if
208
- you&#8217;d prefer to use HTML <code>&lt;a&gt;</code> or <code>&lt;img&gt;</code> tags instead of Markdown&#8217;s
209
- link or image syntax, go right ahead.</p>
210
-
211
- <p>Unlike block-level HTML tags, Markdown syntax <em>is</em> processed within
212
- span-level tags.</p>
213
-
214
- <h3 id="autoescape">Automatic Escaping for Special Characters</h3>
215
-
216
- <p>In HTML, there are two characters that demand special treatment: <code>&lt;</code>
217
- and <code>&amp;</code>. Left angle brackets are used to start tags; ampersands are
218
- used to denote HTML entities. If you want to use them as literal
219
- characters, you must escape them as entities, e.g. <code>&amp;lt;</code>, and
220
- <code>&amp;amp;</code>.</p>
221
-
222
- <p>Ampersands in particular are bedeviling for web writers. If you want to
223
- write about &#8216;AT&amp;T&#8217;, you need to write &#8216;<code>AT&amp;amp;T</code>&#8217;. You even need to
224
- escape ampersands within URLs. Thus, if you want to link to:</p>
225
-
226
- <pre><code>http://images.google.com/images?num=30&amp;q=larry+bird
227
- </code></pre>
228
-
229
- <p>you need to encode the URL as:</p>
230
-
231
- <pre><code>http://images.google.com/images?num=30&amp;amp;q=larry+bird
232
- </code></pre>
233
-
234
- <p>in your anchor tag <code>href</code> attribute. Needless to say, this is easy to
235
- forget, and is probably the single most common source of HTML validation
236
- errors in otherwise well-marked-up web sites.</p>
237
-
238
- <p>Markdown allows you to use these characters naturally, taking care of
239
- all the necessary escaping for you. If you use an ampersand as part of
240
- an HTML entity, it remains unchanged; otherwise it will be translated
241
- into <code>&amp;amp;</code>.</p>
242
-
243
- <p>So, if you want to include a copyright symbol in your article, you can write:</p>
244
-
245
- <pre><code>&amp;copy;
246
- </code></pre>
247
-
248
- <p>and Markdown will leave it alone. But if you write:</p>
249
-
250
- <pre><code>AT&amp;T
251
- </code></pre>
252
-
253
- <p>Markdown will translate it to:</p>
254
-
255
- <pre><code>AT&amp;amp;T
256
- </code></pre>
257
-
258
- <p>Similarly, because Markdown supports <a href="#html">inline HTML</a>, if you use
259
- angle brackets as delimiters for HTML tags, Markdown will treat them as
260
- such. But if you write:</p>
261
-
262
- <pre><code>4 &lt; 5
263
- </code></pre>
264
-
265
- <p>Markdown will translate it to:</p>
266
-
267
- <pre><code>4 &amp;lt; 5
268
- </code></pre>
269
-
270
- <p>However, inside Markdown code spans and blocks, angle brackets and
271
- ampersands are <em>always</em> encoded automatically. This makes it easy to use
272
- Markdown to write about HTML code. (As opposed to raw HTML, which is a
273
- terrible format for writing about HTML syntax, because every single <code>&lt;</code>
274
- and <code>&amp;</code> in your example code needs to be escaped.)</p>
275
-
276
- <hr />
277
-
278
- <h2 id="block">Block Elements</h2>
279
-
280
- <h3 id="p">Paragraphs and Line Breaks</h3>
281
-
282
- <p>A paragraph is simply one or more consecutive lines of text, separated
283
- by one or more blank lines. (A blank line is any line that looks like a
284
- blank line &#8212; a line containing nothing but spaces or tabs is considered
285
- blank.) Normal paragraphs should not be indented with spaces or tabs.</p>
286
-
287
- <p>The implication of the &#8220;one or more consecutive lines of text&#8221; rule is
288
- that Markdown supports &#8220;hard-wrapped&#8221; text paragraphs. This differs
289
- significantly from most other text-to-HTML formatters (including Movable
290
- Type&#8217;s &#8220;Convert Line Breaks&#8221; option) which translate every line break
291
- character in a paragraph into a <code>&lt;br /&gt;</code> tag.</p>
292
-
293
- <p>When you <em>do</em> want to insert a <code>&lt;br /&gt;</code> break tag using Markdown, you
294
- end a line with two or more spaces, then type return.</p>
295
-
296
- <p>Yes, this takes a tad more effort to create a <code>&lt;br /&gt;</code>, but a simplistic
297
- &#8220;every line break is a <code>&lt;br /&gt;</code>&#8221; rule wouldn&#8217;t work for Markdown.
298
- Markdown&#8217;s email-style <a href="#blockquote">blockquoting</a> and multi-paragraph <a href="#list">list items</a>
299
- work best &#8212; and look better &#8212; when you format them with hard breaks.</p>
300
-
301
- <h3 id="header">Headers</h3>
302
-
303
- <p>Markdown supports two styles of headers, <a href="http://docutils.sourceforge.net/mirror/setext.html">Setext</a> and <a href="http://www.aaronsw.com/2002/atx/">atx</a>.</p>
304
-
305
- <p>Setext-style headers are &#8220;underlined&#8221; using equal signs (for first-level
306
- headers) and dashes (for second-level headers). For example:</p>
307
-
308
- <pre><code>This is an H1
309
- =============
310
-
311
- This is an H2
312
- -------------
313
- </code></pre>
314
-
315
- <p>Any number of underlining <code>=</code>&#8217;s or <code>-</code>&#8217;s will work.</p>
316
-
317
- <p>Atx-style headers use 1-6 hash characters at the start of the line,
318
- corresponding to header levels 1-6. For example:</p>
319
-
320
- <pre><code># This is an H1
321
-
322
- ## This is an H2
323
-
324
- ###### This is an H6
325
- </code></pre>
326
-
327
- <p>Optionally, you may &#8220;close&#8221; atx-style headers. This is purely
328
- cosmetic &#8212; you can use this if you think it looks better. The
329
- closing hashes don&#8217;t even need to match the number of hashes
330
- used to open the header. (The number of opening hashes
331
- determines the header level.) :</p>
332
-
333
- <pre><code># This is an H1 #
334
-
335
- ## This is an H2 ##
336
-
337
- ### This is an H3 ######
338
- </code></pre>
339
-
340
- <h3 id="blockquote">Blockquotes</h3>
341
-
342
- <p>Markdown uses email-style <code>&gt;</code> characters for blockquoting. If you&#8217;re
343
- familiar with quoting passages of text in an email message, then you
344
- know how to create a blockquote in Markdown. It looks best if you hard
345
- wrap the text and put a <code>&gt;</code> before every line:</p>
346
-
347
- <pre><code>&gt; This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
348
- &gt; consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
349
- &gt; Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
350
- &gt;
351
- &gt; Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
352
- &gt; id sem consectetuer libero luctus adipiscing.
353
- </code></pre>
354
-
355
- <p>Markdown allows you to be lazy and only put the <code>&gt;</code> before the first
356
- line of a hard-wrapped paragraph:</p>
357
-
358
- <pre><code>&gt; This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
359
- consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
360
- Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
361
-
362
- &gt; Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
363
- id sem consectetuer libero luctus adipiscing.
364
- </code></pre>
365
-
366
- <p>Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by
367
- adding additional levels of <code>&gt;</code>:</p>
368
-
369
- <pre><code>&gt; This is the first level of quoting.
370
- &gt;
371
- &gt; &gt; This is nested blockquote.
372
- &gt;
373
- &gt; Back to the first level.
374
- </code></pre>
375
-
376
- <p>Blockquotes can contain other Markdown elements, including headers, lists,
377
- and code blocks:</p>
378
-
379
- <pre><code>&gt; ## This is a header.
380
- &gt;
381
- &gt; 1. This is the first list item.
382
- &gt; 2. This is the second list item.
383
- &gt;
384
- &gt; Here's some example code:
385
- &gt;
386
- &gt; return shell_exec("echo $input | $markdown_script");
387
- </code></pre>
388
-
389
- <p>Any decent text editor should make email-style quoting easy. For
390
- example, with BBEdit, you can make a selection and choose Increase
391
- Quote Level from the Text menu.</p>
392
-
393
- <h3 id="list">Lists</h3>
394
-
395
- <p>Markdown supports ordered (numbered) and unordered (bulleted) lists.</p>
396
-
397
- <p>Unordered lists use asterisks, pluses, and hyphens &#8212; interchangably
398
- &#8212; as list markers:</p>
399
-
400
- <pre><code>* Red
401
- * Green
402
- * Blue
403
- </code></pre>
404
-
405
- <p>is equivalent to:</p>
406
-
407
- <pre><code>+ Red
408
- + Green
409
- + Blue
410
- </code></pre>
411
-
412
- <p>and:</p>
413
-
414
- <pre><code>- Red
415
- - Green
416
- - Blue
417
- </code></pre>
418
-
419
- <p>Ordered lists use numbers followed by periods:</p>
420
-
421
- <pre><code>1. Bird
422
- 2. McHale
423
- 3. Parish
424
- </code></pre>
425
-
426
- <p>It&#8217;s important to note that the actual numbers you use to mark the
427
- list have no effect on the HTML output Markdown produces. The HTML
428
- Markdown produces from the above list is:</p>
429
-
430
- <pre><code>&lt;ol&gt;
431
- &lt;li&gt;Bird&lt;/li&gt;
432
- &lt;li&gt;McHale&lt;/li&gt;
433
- &lt;li&gt;Parish&lt;/li&gt;
434
- &lt;/ol&gt;
435
- </code></pre>
436
-
437
- <p>If you instead wrote the list in Markdown like this:</p>
438
-
439
- <pre><code>1. Bird
440
- 1. McHale
441
- 1. Parish
442
- </code></pre>
443
-
444
- <p>or even:</p>
445
-
446
- <pre><code>3. Bird
447
- 1. McHale
448
- 8. Parish
449
- </code></pre>
450
-
451
- <p>you&#8217;d get the exact same HTML output. The point is, if you want to,
452
- you can use ordinal numbers in your ordered Markdown lists, so that
453
- the numbers in your source match the numbers in your published HTML.
454
- But if you want to be lazy, you don&#8217;t have to.</p>
455
-
456
- <p>If you do use lazy list numbering, however, you should still start the
457
- list with the number 1. At some point in the future, Markdown may support
458
- starting ordered lists at an arbitrary number.</p>
459
-
460
- <p>List markers typically start at the left margin, but may be indented by
461
- up to three spaces. List markers must be followed by one or more spaces
462
- or a tab.</p>
463
-
464
- <p>To make lists look nice, you can wrap items with hanging indents:</p>
465
-
466
- <pre><code>* Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
467
- Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
468
- viverra nec, fringilla in, laoreet vitae, risus.
469
- * Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
470
- Suspendisse id sem consectetuer libero luctus adipiscing.
471
- </code></pre>
472
-
473
- <p>But if you want to be lazy, you don&#8217;t have to:</p>
474
-
475
- <pre><code>* Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
476
- Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
477
- viverra nec, fringilla in, laoreet vitae, risus.
478
- * Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
479
- Suspendisse id sem consectetuer libero luctus adipiscing.
480
- </code></pre>
481
-
482
- <p>If list items are separated by blank lines, Markdown will wrap the
483
- items in <code>&lt;p&gt;</code> tags in the HTML output. For example, this input:</p>
484
-
485
- <pre><code>* Bird
486
- * Magic
487
- </code></pre>
488
-
489
- <p>will turn into:</p>
490
-
491
- <pre><code>&lt;ul&gt;
492
- &lt;li&gt;Bird&lt;/li&gt;
493
- &lt;li&gt;Magic&lt;/li&gt;
494
- &lt;/ul&gt;
495
- </code></pre>
496
-
497
- <p>But this:</p>
498
-
499
- <pre><code>* Bird
500
-
501
- * Magic
502
- </code></pre>
503
-
504
- <p>will turn into:</p>
505
-
506
- <pre><code>&lt;ul&gt;
507
- &lt;li&gt;&lt;p&gt;Bird&lt;/p&gt;&lt;/li&gt;
508
- &lt;li&gt;&lt;p&gt;Magic&lt;/p&gt;&lt;/li&gt;
509
- &lt;/ul&gt;
510
- </code></pre>
511
-
512
- <p>List items may consist of multiple paragraphs. Each subsequent
513
- paragraph in a list item must be indented by either 4 spaces
514
- or one tab:</p>
515
-
516
- <pre><code>1. This is a list item with two paragraphs. Lorem ipsum dolor
517
- sit amet, consectetuer adipiscing elit. Aliquam hendrerit
518
- mi posuere lectus.
519
-
520
- Vestibulum enim wisi, viverra nec, fringilla in, laoreet
521
- vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
522
- sit amet velit.
523
-
524
- 2. Suspendisse id sem consectetuer libero luctus adipiscing.
525
- </code></pre>
526
-
527
- <p>It looks nice if you indent every line of the subsequent
528
- paragraphs, but here again, Markdown will allow you to be
529
- lazy:</p>
530
-
531
- <pre><code>* This is a list item with two paragraphs.
532
-
533
- This is the second paragraph in the list item. You're
534
- only required to indent the first line. Lorem ipsum dolor
535
- sit amet, consectetuer adipiscing elit.
536
-
537
- * Another item in the same list.
538
- </code></pre>
539
-
540
- <p>To put a blockquote within a list item, the blockquote&#8217;s <code>&gt;</code>
541
- delimiters need to be indented:</p>
542
-
543
- <pre><code>* A list item with a blockquote:
544
-
545
- &gt; This is a blockquote
546
- &gt; inside a list item.
547
- </code></pre>
548
-
549
- <p>To put a code block within a list item, the code block needs
550
- to be indented <em>twice</em> &#8212; 8 spaces or two tabs:</p>
551
-
552
- <pre><code>* A list item with a code block:
553
-
554
- &lt;code goes here&gt;
555
- </code></pre>
556
-
557
- <p>It&#8217;s worth noting that it&#8217;s possible to trigger an ordered list by
558
- accident, by writing something like this:</p>
559
-
560
- <pre><code>1986. What a great season.
561
- </code></pre>
562
-
563
- <p>In other words, a <em>number-period-space</em> sequence at the beginning of a
564
- line. To avoid this, you can backslash-escape the period:</p>
565
-
566
- <pre><code>1986\. What a great season.
567
- </code></pre>
568
-
569
- <h3 id="precode">Code Blocks</h3>
570
-
571
- <p>Pre-formatted code blocks are used for writing about programming or
572
- markup source code. Rather than forming normal paragraphs, the lines
573
- of a code block are interpreted literally. Markdown wraps a code block
574
- in both <code>&lt;pre&gt;</code> and <code>&lt;code&gt;</code> tags.</p>
575
-
576
- <p>To produce a code block in Markdown, simply indent every line of the
577
- block by at least 4 spaces or 1 tab. For example, given this input:</p>
578
-
579
- <pre><code>This is a normal paragraph:
580
-
581
- This is a code block.
582
- </code></pre>
583
-
584
- <p>Markdown will generate:</p>
585
-
586
- <pre><code>&lt;p&gt;This is a normal paragraph:&lt;/p&gt;
587
-
588
- &lt;pre&gt;&lt;code&gt;This is a code block.
589
- &lt;/code&gt;&lt;/pre&gt;
590
- </code></pre>
591
-
592
- <p>One level of indentation &#8212; 4 spaces or 1 tab &#8212; is removed from each
593
- line of the code block. For example, this:</p>
594
-
595
- <pre><code>Here is an example of AppleScript:
596
-
597
- tell application "Foo"
598
- beep
599
- end tell
600
- </code></pre>
601
-
602
- <p>will turn into:</p>
603
-
604
- <pre><code>&lt;p&gt;Here is an example of AppleScript:&lt;/p&gt;
605
-
606
- &lt;pre&gt;&lt;code&gt;tell application "Foo"
607
- beep
608
- end tell
609
- &lt;/code&gt;&lt;/pre&gt;
610
- </code></pre>
611
-
612
- <p>A code block continues until it reaches a line that is not indented
613
- (or the end of the article).</p>
614
-
615
- <p>Within a code block, ampersands (<code>&amp;</code>) and angle brackets (<code>&lt;</code> and <code>&gt;</code>)
616
- are automatically converted into HTML entities. This makes it very
617
- easy to include example HTML source code using Markdown &#8212; just paste
618
- it and indent it, and Markdown will handle the hassle of encoding the
619
- ampersands and angle brackets. For example, this:</p>
620
-
621
- <pre><code> &lt;div class="footer"&gt;
622
- &amp;copy; 2004 Foo Corporation
623
- &lt;/div&gt;
624
- </code></pre>
625
-
626
- <p>will turn into:</p>
627
-
628
- <pre><code>&lt;pre&gt;&lt;code&gt;&amp;lt;div class="footer"&amp;gt;
629
- &amp;amp;copy; 2004 Foo Corporation
630
- &amp;lt;/div&amp;gt;
631
- &lt;/code&gt;&lt;/pre&gt;
632
- </code></pre>
633
-
634
- <p>Regular Markdown syntax is not processed within code blocks. E.g.,
635
- asterisks are just literal asterisks within a code block. This means
636
- it&#8217;s also easy to use Markdown to write about Markdown&#8217;s own syntax.</p>
637
-
638
- <h3 id="hr">Horizontal Rules</h3>
639
-
640
- <p>You can produce a horizontal rule tag (<code>&lt;hr /&gt;</code>) by placing three or
641
- more hyphens, asterisks, or underscores on a line by themselves. If you
642
- wish, you may use spaces between the hyphens or asterisks. Each of the
643
- following lines will produce a horizontal rule:</p>
644
-
645
- <pre><code>* * *
646
-
647
- ***
648
-
649
- *****
650
-
651
- - - -
652
-
653
- ---------------------------------------
654
- </code></pre>
655
-
656
- <hr />
657
-
658
- <h2 id="span">Span Elements</h2>
659
-
660
- <h3 id="link">Links</h3>
661
-
662
- <p>Markdown supports two style of links: <em>inline</em> and <em>reference</em>.</p>
663
-
664
- <p>In both styles, the link text is delimited by [square brackets].</p>
665
-
666
- <p>To create an inline link, use a set of regular parentheses immediately
667
- after the link text&#8217;s closing square bracket. Inside the parentheses,
668
- put the URL where you want the link to point, along with an <em>optional</em>
669
- title for the link, surrounded in quotes. For example:</p>
670
-
671
- <pre><code>This is [an example](http://example.com/ "Title") inline link.
672
-
673
- [This link](http://example.net/) has no title attribute.
674
- </code></pre>
675
-
676
- <p>Will produce:</p>
677
-
678
- <pre><code>&lt;p&gt;This is &lt;a href="http://example.com/" title="Title"&gt;
679
- an example&lt;/a&gt; inline link.&lt;/p&gt;
680
-
681
- &lt;p&gt;&lt;a href="http://example.net/"&gt;This link&lt;/a&gt; has no
682
- title attribute.&lt;/p&gt;
683
- </code></pre>
684
-
685
- <p>If you&#8217;re referring to a local resource on the same server, you can
686
- use relative paths:</p>
687
-
688
- <pre><code>See my [About](/about/) page for details.
689
- </code></pre>
690
-
691
- <p>Reference-style links use a second set of square brackets, inside
692
- which you place a label of your choosing to identify the link:</p>
693
-
694
- <pre><code>This is [an example][id] reference-style link.
695
- </code></pre>
696
-
697
- <p>You can optionally use a space to separate the sets of brackets:</p>
698
-
699
- <pre><code>This is [an example] [id] reference-style link.
700
- </code></pre>
701
-
702
- <p>Then, anywhere in the document, you define your link label like this,
703
- on a line by itself:</p>
704
-
705
- <pre><code>[id]: http://example.com/ "Optional Title Here"
706
- </code></pre>
707
-
708
- <p>That is:</p>
709
-
710
- <ul>
711
- <li>Square brackets containing the link identifier (optionally
712
- indented from the left margin using up to three spaces);</li>
713
- <li>followed by a colon;</li>
714
- <li>followed by one or more spaces (or tabs);</li>
715
- <li>followed by the URL for the link;</li>
716
- <li>optionally followed by a title attribute for the link, enclosed
717
- in double or single quotes, or enclosed in parentheses.</li>
718
- </ul>
719
-
720
- <p>The following three link definitions are equivalent:</p>
721
-
722
- <pre><code>[foo]: http://example.com/ "Optional Title Here"
723
- [foo]: http://example.com/ 'Optional Title Here'
724
- [foo]: http://example.com/ (Optional Title Here)
725
- </code></pre>
726
-
727
- <p><strong>Note:</strong> There is a known bug in Markdown.pl 1.0.1 which prevents
728
- single quotes from being used to delimit link titles.</p>
729
-
730
- <p>The link URL may, optionally, be surrounded by angle brackets:</p>
731
-
732
- <pre><code>[id]: &lt;http://example.com/&gt; "Optional Title Here"
733
- </code></pre>
734
-
735
- <p>You can put the title attribute on the next line and use extra spaces
736
- or tabs for padding, which tends to look better with longer URLs:</p>
737
-
738
- <pre><code>[id]: http://example.com/longish/path/to/resource/here
739
- "Optional Title Here"
740
- </code></pre>
741
-
742
- <p>Link definitions are only used for creating links during Markdown
743
- processing, and are stripped from your document in the HTML output.</p>
744
-
745
- <p>Link definition names may consist of letters, numbers, spaces, and
746
- punctuation &#8212; but they are <em>not</em> case sensitive. E.g. these two
747
- links:</p>
748
-
749
- <pre><code>[link text][a]
750
- [link text][A]
751
- </code></pre>
752
-
753
- <p>are equivalent.</p>
754
-
755
- <p>The <em>implicit link name</em> shortcut allows you to omit the name of the
756
- link, in which case the link text itself is used as the name.
757
- Just use an empty set of square brackets &#8212; e.g., to link the word
758
- &#8220;Google&#8221; to the google.com web site, you could simply write:</p>
759
-
760
- <pre><code>[Google][]
761
- </code></pre>
762
-
763
- <p>And then define the link:</p>
764
-
765
- <pre><code>[Google]: http://google.com/
766
- </code></pre>
767
-
768
- <p>Because link names may contain spaces, this shortcut even works for
769
- multiple words in the link text:</p>
770
-
771
- <pre><code>Visit [Daring Fireball][] for more information.
772
- </code></pre>
773
-
774
- <p>And then define the link:</p>
775
-
776
- <pre><code>[Daring Fireball]: http://daringfireball.net/
777
- </code></pre>
778
-
779
- <p>Link definitions can be placed anywhere in your Markdown document. I
780
- tend to put them immediately after each paragraph in which they&#8217;re
781
- used, but if you want, you can put them all at the end of your
782
- document, sort of like footnotes.</p>
783
-
784
- <p>Here&#8217;s an example of reference links in action:</p>
785
-
786
- <pre><code>I get 10 times more traffic from [Google] [1] than from
787
- [Yahoo] [2] or [MSN] [3].
788
-
789
- [1]: http://google.com/ "Google"
790
- [2]: http://search.yahoo.com/ "Yahoo Search"
791
- [3]: http://search.msn.com/ "MSN Search"
792
- </code></pre>
793
-
794
- <p>Using the implicit link name shortcut, you could instead write:</p>
795
-
796
- <pre><code>I get 10 times more traffic from [Google][] than from
797
- [Yahoo][] or [MSN][].
798
-
799
- [google]: http://google.com/ "Google"
800
- [yahoo]: http://search.yahoo.com/ "Yahoo Search"
801
- [msn]: http://search.msn.com/ "MSN Search"
802
- </code></pre>
803
-
804
- <p>Both of the above examples will produce the following HTML output:</p>
805
-
806
- <pre><code>&lt;p&gt;I get 10 times more traffic from &lt;a href="http://google.com/"
807
- title="Google"&gt;Google&lt;/a&gt; than from
808
- &lt;a href="http://search.yahoo.com/" title="Yahoo Search"&gt;Yahoo&lt;/a&gt;
809
- or &lt;a href="http://search.msn.com/" title="MSN Search"&gt;MSN&lt;/a&gt;.&lt;/p&gt;
810
- </code></pre>
811
-
812
- <p>For comparison, here is the same paragraph written using
813
- Markdown&#8217;s inline link style:</p>
814
-
815
- <pre><code>I get 10 times more traffic from [Google](http://google.com/ "Google")
816
- than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
817
- [MSN](http://search.msn.com/ "MSN Search").
818
- </code></pre>
819
-
820
- <p>The point of reference-style links is not that they&#8217;re easier to
821
- write. The point is that with reference-style links, your document
822
- source is vastly more readable. Compare the above examples: using
823
- reference-style links, the paragraph itself is only 81 characters
824
- long; with inline-style links, it&#8217;s 176 characters; and as raw HTML,
825
- it&#8217;s 234 characters. In the raw HTML, there&#8217;s more markup than there
826
- is text.</p>
827
-
828
- <p>With Markdown&#8217;s reference-style links, a source document much more
829
- closely resembles the final output, as rendered in a browser. By
830
- allowing you to move the markup-related metadata out of the paragraph,
831
- you can add links without interrupting the narrative flow of your
832
- prose.</p>
833
-
834
- <h3 id="em">Emphasis</h3>
835
-
836
- <p>Markdown treats asterisks (<code>*</code>) and underscores (<code>_</code>) as indicators of
837
- emphasis. Text wrapped with one <code>*</code> or <code>_</code> will be wrapped with an
838
- HTML <code>&lt;em&gt;</code> tag; double <code>*</code>&#8217;s or <code>_</code>&#8217;s will be wrapped with an HTML
839
- <code>&lt;strong&gt;</code> tag. E.g., this input:</p>
840
-
841
- <pre><code>*single asterisks*
842
-
843
- _single underscores_
844
-
845
- **double asterisks**
846
-
847
- __double underscores__
848
- </code></pre>
849
-
850
- <p>will produce:</p>
851
-
852
- <pre><code>&lt;em&gt;single asterisks&lt;/em&gt;
853
-
854
- &lt;em&gt;single underscores&lt;/em&gt;
855
-
856
- &lt;strong&gt;double asterisks&lt;/strong&gt;
857
-
858
- &lt;strong&gt;double underscores&lt;/strong&gt;
859
- </code></pre>
860
-
861
- <p>You can use whichever style you prefer; the lone restriction is that
862
- the same character must be used to open and close an emphasis span.</p>
863
-
864
- <p>Emphasis can be used in the middle of a word:</p>
865
-
866
- <pre><code>un*frigging*believable
867
- </code></pre>
868
-
869
- <p>But if you surround an <code>*</code> or <code>_</code> with spaces, it&#8217;ll be treated as a
870
- literal asterisk or underscore.</p>
871
-
872
- <p>To produce a literal asterisk or underscore at a position where it
873
- would otherwise be used as an emphasis delimiter, you can backslash
874
- escape it:</p>
875
-
876
- <pre><code>\*this text is surrounded by literal asterisks\*
877
- </code></pre>
878
-
879
- <h3 id="code">Code</h3>
880
-
881
- <p>To indicate a span of code, wrap it with backtick quotes (<code>`</code>).
882
- Unlike a pre-formatted code block, a code span indicates code within a
883
- normal paragraph. For example:</p>
884
-
885
- <pre><code>Use the `printf()` function.
886
- </code></pre>
887
-
888
- <p>will produce:</p>
889
-
890
- <pre><code>&lt;p&gt;Use the &lt;code&gt;printf()&lt;/code&gt; function.&lt;/p&gt;
891
- </code></pre>
892
-
893
- <p>To include a literal backtick character within a code span, you can use
894
- multiple backticks as the opening and closing delimiters:</p>
895
-
896
- <pre><code>``There is a literal backtick (`) here.``
897
- </code></pre>
898
-
899
- <p>which will produce this:</p>
900
-
901
- <pre><code>&lt;p&gt;&lt;code&gt;There is a literal backtick (`) here.&lt;/code&gt;&lt;/p&gt;
902
- </code></pre>
903
-
904
- <p>The backtick delimiters surrounding a code span may include spaces &#8212;
905
- one after the opening, one before the closing. This allows you to place
906
- literal backtick characters at the beginning or end of a code span:</p>
907
-
908
- <pre><code>A single backtick in a code span: `` ` ``
909
-
910
- A backtick-delimited string in a code span: `` `foo` ``
911
- </code></pre>
912
-
913
- <p>will produce:</p>
914
-
915
- <pre><code>&lt;p&gt;A single backtick in a code span: &lt;code&gt;`&lt;/code&gt;&lt;/p&gt;
916
-
917
- &lt;p&gt;A backtick-delimited string in a code span: &lt;code&gt;`foo`&lt;/code&gt;&lt;/p&gt;
918
- </code></pre>
919
-
920
- <p>With a code span, ampersands and angle brackets are encoded as HTML
921
- entities automatically, which makes it easy to include example HTML
922
- tags. Markdown will turn this:</p>
923
-
924
- <pre><code>Please don't use any `&lt;blink&gt;` tags.
925
- </code></pre>
926
-
927
- <p>into:</p>
928
-
929
- <pre><code>&lt;p&gt;Please don't use any &lt;code&gt;&amp;lt;blink&amp;gt;&lt;/code&gt; tags.&lt;/p&gt;
930
- </code></pre>
931
-
932
- <p>You can write this:</p>
933
-
934
- <pre><code>`&amp;#8212;` is the decimal-encoded equivalent of `&amp;mdash;`.
935
- </code></pre>
936
-
937
- <p>to produce:</p>
938
-
939
- <pre><code>&lt;p&gt;&lt;code&gt;&amp;amp;#8212;&lt;/code&gt; is the decimal-encoded
940
- equivalent of &lt;code&gt;&amp;amp;mdash;&lt;/code&gt;.&lt;/p&gt;
941
- </code></pre>
942
-
943
- <h3 id="img">Images</h3>
944
-
945
- <p>Admittedly, it&#8217;s fairly difficult to devise a &#8220;natural&#8221; syntax for
946
- placing images into a plain text document format.</p>
947
-
948
- <p>Markdown uses an image syntax that is intended to resemble the syntax
949
- for links, allowing for two styles: <em>inline</em> and <em>reference</em>.</p>
950
-
951
- <p>Inline image syntax looks like this:</p>
952
-
953
- <pre><code>![Alt text](/path/to/img.jpg)
954
-
955
- ![Alt text](/path/to/img.jpg "Optional title")
956
- </code></pre>
957
-
958
- <p>That is:</p>
959
-
960
- <ul>
961
- <li>An exclamation mark: <code>!</code>;</li>
962
- <li>followed by a set of square brackets, containing the <code>alt</code>
963
- attribute text for the image;</li>
964
- <li>followed by a set of parentheses, containing the URL or path to
965
- the image, and an optional <code>title</code> attribute enclosed in double
966
- or single quotes.</li>
967
- </ul>
968
-
969
- <p>Reference-style image syntax looks like this:</p>
970
-
971
- <pre><code>![Alt text][id]
972
- </code></pre>
973
-
974
- <p>Where &#8220;id&#8221; is the name of a defined image reference. Image references
975
- are defined using syntax identical to link references:</p>
976
-
977
- <pre><code>[id]: url/to/image "Optional title attribute"
978
- </code></pre>
979
-
980
- <p>As of this writing, Markdown has no syntax for specifying the
981
- dimensions of an image; if this is important to you, you can simply
982
- use regular HTML <code>&lt;img&gt;</code> tags.</p>
983
-
984
- <hr />
985
-
986
- <h2 id="misc">Miscellaneous</h2>
987
-
988
- <h3 id="autolink">Automatic Links</h3>
989
-
990
- <p>Markdown supports a shortcut style for creating &#8220;automatic&#8221; links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this:</p>
991
-
992
- <pre><code>&lt;http://example.com/&gt;
993
- </code></pre>
994
-
995
- <p>Markdown will turn this into:</p>
996
-
997
- <pre><code>&lt;a href="http://example.com/"&gt;http://example.com/&lt;/a&gt;
998
- </code></pre>
999
-
1000
- <p>Automatic links for email addresses work similarly, except that
1001
- Markdown will also perform a bit of randomized decimal and hex
1002
- entity-encoding to help obscure your address from address-harvesting
1003
- spambots. For example, Markdown will turn this:</p>
1004
-
1005
- <pre><code>&lt;address@example.com&gt;
1006
- </code></pre>
1007
-
1008
- <p>into something like this:</p>
1009
-
1010
- <pre><code>&lt;a href="&amp;#x6D;&amp;#x61;i&amp;#x6C;&amp;#x74;&amp;#x6F;:&amp;#x61;&amp;#x64;&amp;#x64;&amp;#x72;&amp;#x65;
1011
- &amp;#115;&amp;#115;&amp;#64;&amp;#101;&amp;#120;&amp;#x61;&amp;#109;&amp;#x70;&amp;#x6C;e&amp;#x2E;&amp;#99;&amp;#111;
1012
- &amp;#109;"&gt;&amp;#x61;&amp;#x64;&amp;#x64;&amp;#x72;&amp;#x65;&amp;#115;&amp;#115;&amp;#64;&amp;#101;&amp;#120;&amp;#x61;
1013
- &amp;#109;&amp;#x70;&amp;#x6C;e&amp;#x2E;&amp;#99;&amp;#111;&amp;#109;&lt;/a&gt;
1014
- </code></pre>
1015
-
1016
- <p>which will render in a browser as a clickable link to &#8220;address@example.com&#8221;.</p>
1017
-
1018
- <p>(This sort of entity-encoding trick will indeed fool many, if not
1019
- most, address-harvesting bots, but it definitely won&#8217;t fool all of
1020
- them. It&#8217;s better than nothing, but an address published in this way
1021
- will probably eventually start receiving spam.)</p>
1022
-
1023
- <h3 id="backslash">Backslash Escapes</h3>
1024
-
1025
- <p>Markdown allows you to use backslash escapes to generate literal
1026
- characters which would otherwise have special meaning in Markdown&#8217;s
1027
- formatting syntax. For example, if you wanted to surround a word
1028
- with literal asterisks (instead of an HTML <code>&lt;em&gt;</code> tag), you can use
1029
- backslashes before the asterisks, like this:</p>
1030
-
1031
- <pre><code>\*literal asterisks\*
1032
- </code></pre>
1033
-
1034
- <p>Markdown provides backslash escapes for the following characters:</p>
1035
-
1036
- <pre><code>\ backslash
1037
- ` backtick
1038
- * asterisk
1039
- _ underscore
1040
- {} curly braces
1041
- [] square brackets
1042
- () parentheses
1043
- # hash mark
1044
- + plus sign
1045
- - minus sign (hyphen)
1046
- . dot
1047
- ! exclamation mark
1048
- </code></pre>
1049
-
1050
- </div> <!-- article -->
1051
-
1052
- <div id="Footer">
1053
- <form id="SiteSearch" action="/search" method="get" style="margin-bottom: 2.5em;">
1054
- <div>
1055
- <input name="q" type="text" value="" style="margin-right: 8px; width: 26em;" />
1056
- <input type="submit" value="Search" />
1057
- </div>
1058
- </form>
1059
- <p class='smallprint'><a href='http://www.amazon.com/exec/obidos/redirect?tag=daringfirebal-20&amp;path=subst/home/home.html'>Shop at Amazon.com and support Daring Fireball</a></p>
1060
-
1061
- <p class="smallprint">
1062
- <a href="/linked/" title="Recent Linked List entries and archive.">Linked List</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href="/preferences/" title="Customize the font size and presentation options for this web site.">Display Preferences</a><br />
1063
- Copyright &copy; 2002–2010 John Gruber</p>
1064
- </div>
1065
-
1066
-
1067
- <script type="text/javascript">
1068
- var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
1069
- document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
1070
- </script>
1071
- <script type="text/javascript">
1072
- try {
1073
- var pageTracker = _gat._getTracker("UA-593949-1");
1074
- pageTracker._trackPageview();
1075
- } catch(err) {}</script>
1076
- </div> <!-- Main -->
1077
-
1078
- </div> <!-- box -->
1079
- </body>
1080
- </html>
1081
- <!-- 0.6904 seconds -->