timestamp check
[kengrimes.com/content.git] / content / post / testmd.md
1 ---
2 title: Markdown Test
3 caption: This Markdown is Tested!
4 ---
5 Changed Timestamp
6
7 Markdown: Syntax
8 ================
9
10 <ul id="ProjectSubmenu">
11 <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li>
12 <li><a href="/projects/markdown/basics" title="Markdown Basics">Basics</a></li>
13 <li><a class="selected" title="Markdown Syntax Documentation">Syntax</a></li>
14 <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li>
15 <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li>
16 </ul>
17
18
19 * [Overview](#overview)
20 * [Philosophy](#philosophy)
21 * [Inline HTML](#html)
22 * [Automatic Escaping for Special Characters](#autoescape)
23 * [Block Elements](#block)
24 * [Paragraphs and Line Breaks](#p)
25 * [Headers](#header)
26 * [Blockquotes](#blockquote)
27 * [Lists](#list)
28 * [Code Blocks](#precode)
29 * [Horizontal Rules](#hr)
30 * [Span Elements](#span)
31 * [Links](#link)
32 * [Emphasis](#em)
33 * [Code](#code)
34 * [Images](#img)
35 * [Miscellaneous](#misc)
36 * [Backslash Escapes](#backslash)
37 * [Automatic Links](#autolink)
38
39
40 **Note:** This document is itself written using Markdown; you
41 can [see the source for it by adding '.text' to the URL][src].
42
43 [src]: /projects/markdown/syntax.text
44
45 * * *
46
47 <h2 id="overview">Overview</h2>
48
49 <h3 id="philosophy">Philosophy</h3>
50
51 Markdown is intended to be as easy-to-read and easy-to-write as is feasible.
52
53 Readability, however, is emphasized above all else. A Markdown-formatted
54 document should be publishable as-is, as plain text, without looking
55 like it's been marked up with tags or formatting instructions. While
56 Markdown's syntax has been influenced by several existing text-to-HTML
57 filters -- including [Setext] [1], [atx] [2], [Textile] [3], [reStructuredText] [4],
58 [Grutatext] [5], and [EtText] [6] -- the single biggest source of
59 inspiration for Markdown's syntax is the format of plain text email.
60
61 [1]: http://docutils.sourceforge.net/mirror/setext.html
62 [2]: http://www.aaronsw.com/2002/atx/
63 [3]: http://textism.com/tools/textile/
64 [4]: http://docutils.sourceforge.net/rst.html
65 [5]: http://www.triptico.com/software/grutatxt.html
66 [6]: http://ettext.taint.org/doc/
67
68 To this end, Markdown's syntax is comprised entirely of punctuation
69 characters, which punctuation characters have been carefully chosen so
70 as to look like what they mean. E.g., asterisks around a word actually
71 look like \*emphasis\*. Markdown lists look like, well, lists. Even
72 blockquotes look like quoted passages of text, assuming you've ever
73 used email.
74
75
76
77 <h3 id="html">Inline HTML</h3>
78
79 Markdown's syntax is intended for one purpose: to be used as a
80 format for *writing* for the web.
81
82 Markdown is not a replacement for HTML, or even close to it. Its
83 syntax is very small, corresponding only to a very small subset of
84 HTML tags. The idea is *not* to create a syntax that makes it easier
85 to insert HTML tags. In my opinion, HTML tags are already easy to
86 insert. The idea for Markdown is to make it easy to read, write, and
87 edit prose. HTML is a *publishing* format; Markdown is a *writing*
88 format. Thus, Markdown's formatting syntax only addresses issues that
89 can be conveyed in plain text.
90
91 For any markup that is not covered by Markdown's syntax, you simply
92 use HTML itself. There's no need to preface it or delimit it to
93 indicate that you're switching from Markdown to HTML; you just use
94 the tags.
95
96 The only restrictions are that block-level HTML elements -- e.g. `<div>`,
97 `<table>`, `<pre>`, `<p>`, etc. -- must be separated from surrounding
98 content by blank lines, and the start and end tags of the block should
99 not be indented with tabs or spaces. Markdown is smart enough not
100 to add extra (unwanted) `<p>` tags around HTML block-level tags.
101
102 For example, to add an HTML table to a Markdown article:
103
104 This is a regular paragraph.
105
106 <table>
107 <tr>
108 <td>Foo</td>
109 </tr>
110 </table>
111
112 This is another regular paragraph.
113
114 Note that Markdown formatting syntax is not processed within block-level
115 HTML tags. E.g., you can't use Markdown-style `*emphasis*` inside an
116 HTML block.
117
118 Span-level HTML tags -- e.g. `<span>`, `<cite>`, or `<del>` -- can be
119 used anywhere in a Markdown paragraph, list item, or header. If you
120 want, you can even use HTML tags instead of Markdown formatting; e.g. if
121 you'd prefer to use HTML `<a>` or `<img>` tags instead of Markdown's
122 link or image syntax, go right ahead.
123
124 Unlike block-level HTML tags, Markdown syntax *is* processed within
125 span-level tags.
126
127
128 <h3 id="autoescape">Automatic Escaping for Special Characters</h3>
129
130 In HTML, there are two characters that demand special treatment: `<`
131 and `&`. Left angle brackets are used to start tags; ampersands are
132 used to denote HTML entities. If you want to use them as literal
133 characters, you must escape them as entities, e.g. `&lt;`, and
134 `&amp;`.
135
136 Ampersands in particular are bedeviling for web writers. If you want to
137 write about 'AT&T', you need to write '`AT&amp;T`'. You even need to
138 escape ampersands within URLs. Thus, if you want to link to:
139
140 http://images.google.com/images?num=30&q=larry+bird
141
142 you need to encode the URL as:
143
144 http://images.google.com/images?num=30&amp;q=larry+bird
145
146 in your anchor tag `href` attribute. Needless to say, this is easy to
147 forget, and is probably the single most common source of HTML validation
148 errors in otherwise well-marked-up web sites.
149
150 Markdown allows you to use these characters naturally, taking care of
151 all the necessary escaping for you. If you use an ampersand as part of
152 an HTML entity, it remains unchanged; otherwise it will be translated
153 into `&amp;`.
154
155 So, if you want to include a copyright symbol in your article, you can write:
156
157 &copy;
158
159 and Markdown will leave it alone. But if you write:
160
161 AT&T
162
163 Markdown will translate it to:
164
165 AT&amp;T
166
167 Similarly, because Markdown supports [inline HTML](#html), if you use
168 angle brackets as delimiters for HTML tags, Markdown will treat them as
169 such. But if you write:
170
171 4 < 5
172
173 Markdown will translate it to:
174
175 4 &lt; 5
176
177 However, inside Markdown code spans and blocks, angle brackets and
178 ampersands are *always* encoded automatically. This makes it easy to use
179 Markdown to write about HTML code. (As opposed to raw HTML, which is a
180 terrible format for writing about HTML syntax, because every single `<`
181 and `&` in your example code needs to be escaped.)
182
183
184 * * *
185
186
187 <h2 id="block">Block Elements</h2>
188
189
190 <h3 id="p">Paragraphs and Line Breaks</h3>
191
192 A paragraph is simply one or more consecutive lines of text, separated
193 by one or more blank lines. (A blank line is any line that looks like a
194 blank line -- a line containing nothing but spaces or tabs is considered
195 blank.) Normal paragraphs should not be intended with spaces or tabs.
196
197 The implication of the "one or more consecutive lines of text" rule is
198 that Markdown supports "hard-wrapped" text paragraphs. This differs
199 significantly from most other text-to-HTML formatters (including Movable
200 Type's "Convert Line Breaks" option) which translate every line break
201 character in a paragraph into a `<br />` tag.
202
203 When you *do* want to insert a `<br />` break tag using Markdown, you
204 end a line with two or more spaces, then type return.
205
206 Yes, this takes a tad more effort to create a `<br />`, but a simplistic
207 "every line break is a `<br />`" rule wouldn't work for Markdown.
208 Markdown's email-style [blockquoting][bq] and multi-paragraph [list items][l]
209 work best -- and look better -- when you format them with hard breaks.
210
211 [bq]: #blockquote
212 [l]: #list
213
214
215
216 <h3 id="header">Headers</h3>
217
218 Markdown supports two styles of headers, [Setext] [1] and [atx] [2].
219
220 Setext-style headers are "underlined" using equal signs (for first-level
221 headers) and dashes (for second-level headers). For example:
222
223 This is an H1
224 =============
225
226 This is an H2
227 -------------
228
229 Any number of underlining `=`'s or `-`'s will work.
230
231 Atx-style headers use 1-6 hash characters at the start of the line,
232 corresponding to header levels 1-6. For example:
233
234 # This is an H1
235
236 ## This is an H2
237
238 ###### This is an H6
239
240 Optionally, you may "close" atx-style headers. This is purely
241 cosmetic -- you can use this if you think it looks better. The
242 closing hashes don't even need to match the number of hashes
243 used to open the header. (The number of opening hashes
244 determines the header level.) :
245
246 # This is an H1 #
247
248 ## This is an H2 ##
249
250 ### This is an H3 ######
251
252
253 <h3 id="blockquote">Blockquotes</h3>
254
255 Markdown uses email-style `>` characters for blockquoting. If you're
256 familiar with quoting passages of text in an email message, then you
257 know how to create a blockquote in Markdown. It looks best if you hard
258 wrap the text and put a `>` before every line:
259
260 > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
261 > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
262 > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
263 >
264 > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
265 > id sem consectetuer libero luctus adipiscing.
266
267 Markdown allows you to be lazy and only put the `>` before the first
268 line of a hard-wrapped paragraph:
269
270 > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
271 consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
272 Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
273
274 > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
275 id sem consectetuer libero luctus adipiscing.
276
277 Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by
278 adding additional levels of `>`:
279
280 > This is the first level of quoting.
281 >
282 > > This is nested blockquote.
283 >
284 > Back to the first level.
285
286 Blockquotes can contain other Markdown elements, including headers, lists,
287 and code blocks:
288
289 > ## This is a header.
290 >
291 > 1. This is the first list item.
292 > 2. This is the second list item.
293 >
294 > Here's some example code:
295 >
296 > return shell_exec("echo $input | $markdown_script");
297
298 Any decent text editor should make email-style quoting easy. For
299 example, with BBEdit, you can make a selection and choose Increase
300 Quote Level from the Text menu.
301
302
303 <h3 id="list">Lists</h3>
304
305 Markdown supports ordered (numbered) and unordered (bulleted) lists.
306
307 Unordered lists use asterisks, pluses, and hyphens -- interchangably
308 -- as list markers:
309
310 * Red
311 * Green
312 * Blue
313
314 is equivalent to:
315
316 + Red
317 + Green
318 + Blue
319
320 and:
321
322 - Red
323 - Green
324 - Blue
325
326 Ordered lists use numbers followed by periods:
327
328 1. Bird
329 2. McHale
330 3. Parish
331
332 It's important to note that the actual numbers you use to mark the
333 list have no effect on the HTML output Markdown produces. The HTML
334 Markdown produces from the above list is:
335
336 <ol>
337 <li>Bird</li>
338 <li>McHale</li>
339 <li>Parish</li>
340 </ol>
341
342 If you instead wrote the list in Markdown like this:
343
344 1. Bird
345 1. McHale
346 1. Parish
347
348 or even:
349
350 3. Bird
351 1. McHale
352 8. Parish
353
354 you'd get the exact same HTML output. The point is, if you want to,
355 you can use ordinal numbers in your ordered Markdown lists, so that
356 the numbers in your source match the numbers in your published HTML.
357 But if you want to be lazy, you don't have to.
358
359 If you do use lazy list numbering, however, you should still start the
360 list with the number 1. At some point in the future, Markdown may support
361 starting ordered lists at an arbitrary number.
362
363 List markers typically start at the left margin, but may be indented by
364 up to three spaces. List markers must be followed by one or more spaces
365 or a tab.
366
367 To make lists look nice, you can wrap items with hanging indents:
368
369 * Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
370 Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
371 viverra nec, fringilla in, laoreet vitae, risus.
372 * Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
373 Suspendisse id sem consectetuer libero luctus adipiscing.
374
375 But if you want to be lazy, you don't have to:
376
377 * Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
378 Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
379 viverra nec, fringilla in, laoreet vitae, risus.
380 * Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
381 Suspendisse id sem consectetuer libero luctus adipiscing.
382
383 If list items are separated by blank lines, Markdown will wrap the
384 items in `<p>` tags in the HTML output. For example, this input:
385
386 * Bird
387 * Magic
388
389 will turn into:
390
391 <ul>
392 <li>Bird</li>
393 <li>Magic</li>
394 </ul>
395
396 But this:
397
398 * Bird
399
400 * Magic
401
402 will turn into:
403
404 <ul>
405 <li><p>Bird</p></li>
406 <li><p>Magic</p></li>
407 </ul>
408
409 List items may consist of multiple paragraphs. Each subsequent
410 paragraph in a list item must be intended by either 4 spaces
411 or one tab:
412
413 1. This is a list item with two paragraphs. Lorem ipsum dolor
414 sit amet, consectetuer adipiscing elit. Aliquam hendrerit
415 mi posuere lectus.
416
417 Vestibulum enim wisi, viverra nec, fringilla in, laoreet
418 vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
419 sit amet velit.
420
421 2. Suspendisse id sem consectetuer libero luctus adipiscing.
422
423 It looks nice if you indent every line of the subsequent
424 paragraphs, but here again, Markdown will allow you to be
425 lazy:
426
427 * This is a list item with two paragraphs.
428
429 This is the second paragraph in the list item. You're
430 only required to indent the first line. Lorem ipsum dolor
431 sit amet, consectetuer adipiscing elit.
432
433 * Another item in the same list.
434
435 To put a blockquote within a list item, the blockquote's `>`
436 delimiters need to be indented:
437
438 * A list item with a blockquote:
439
440 > This is a blockquote
441 > inside a list item.
442
443 To put a code block within a list item, the code block needs
444 to be indented *twice* -- 8 spaces or two tabs:
445
446 * A list item with a code block:
447
448 <code goes here>
449
450
451 It's worth noting that it's possible to trigger an ordered list by
452 accident, by writing something like this:
453
454 1986. What a great season.
455
456 In other words, a *number-period-space* sequence at the beginning of a
457 line. To avoid this, you can backslash-escape the period:
458
459 1986\. What a great season.
460
461
462
463 <h3 id="precode">Code Blocks</h3>
464
465 Pre-formatted code blocks are used for writing about programming or
466 markup source code. Rather than forming normal paragraphs, the lines
467 of a code block are interpreted literally. Markdown wraps a code block
468 in both `<pre>` and `<code>` tags.
469
470 To produce a code block in Markdown, simply indent every line of the
471 block by at least 4 spaces or 1 tab. For example, given this input:
472
473 This is a normal paragraph:
474
475 This is a code block.
476
477 Markdown will generate:
478
479 <p>This is a normal paragraph:</p>
480
481 <pre><code>This is a code block.
482 </code></pre>
483
484 One level of indentation -- 4 spaces or 1 tab -- is removed from each
485 line of the code block. For example, this:
486
487 Here is an example of AppleScript:
488
489 tell application "Foo"
490 beep
491 end tell
492
493 will turn into:
494
495 <p>Here is an example of AppleScript:</p>
496
497 <pre><code>tell application "Foo"
498 beep
499 end tell
500 </code></pre>
501
502 A code block continues until it reaches a line that is not indented
503 (or the end of the article).
504
505 Within a code block, ampersands (`&`) and angle brackets (`<` and `>`)
506 are automatically converted into HTML entities. This makes it very
507 easy to include example HTML source code using Markdown -- just paste
508 it and indent it, and Markdown will handle the hassle of encoding the
509 ampersands and angle brackets. For example, this:
510
511 <div class="footer">
512 &copy; 2004 Foo Corporation
513 </div>
514
515 will turn into:
516
517 <pre><code>&lt;div class="footer"&gt;
518 &amp;copy; 2004 Foo Corporation
519 &lt;/div&gt;
520 </code></pre>
521
522 Regular Markdown syntax is not processed within code blocks. E.g.,
523 asterisks are just literal asterisks within a code block. This means
524 it's also easy to use Markdown to write about Markdown's own syntax.
525
526
527
528 <h3 id="hr">Horizontal Rules</h3>
529
530 You can produce a horizontal rule tag (`<hr />`) by placing three or
531 more hyphens, asterisks, or underscores on a line by themselves. If you
532 wish, you may use spaces between the hyphens or asterisks. Each of the
533 following lines will produce a horizontal rule:
534
535 * * *
536
537 ***
538
539 *****
540
541 - - -
542
543 ---------------------------------------
544
545 _ _ _
546
547
548 * * *
549
550 <h2 id="span">Span Elements</h2>
551
552 <h3 id="link">Links</h3>
553
554 Markdown supports two style of links: *inline* and *reference*.
555
556 In both styles, the link text is delimited by [square brackets].
557
558 To create an inline link, use a set of regular parentheses immediately
559 after the link text's closing square bracket. Inside the parentheses,
560 put the URL where you want the link to point, along with an *optional*
561 title for the link, surrounded in quotes. For example:
562
563 This is [an example](http://example.com/ "Title") inline link.
564
565 [This link](http://example.net/) has no title attribute.
566
567 Will produce:
568
569 <p>This is <a href="http://example.com/" title="Title">
570 an example</a> inline link.</p>
571
572 <p><a href="http://example.net/">This link</a> has no
573 title attribute.</p>
574
575 If you're referring to a local resource on the same server, you can
576 use relative paths:
577
578 See my [About](/about/) page for details.
579
580 Reference-style links use a second set of square brackets, inside
581 which you place a label of your choosing to identify the link:
582
583 This is [an example][id] reference-style link.
584
585 You can optionally use a space to separate the sets of brackets:
586
587 This is [an example] [id] reference-style link.
588
589 Then, anywhere in the document, you define your link label like this,
590 on a line by itself:
591
592 [id]: http://example.com/ "Optional Title Here"
593
594 That is:
595
596 * Square brackets containing the link identifier (optionally
597 indented from the left margin using up to three spaces);
598 * followed by a colon;
599 * followed by one or more spaces (or tabs);
600 * followed by the URL for the link;
601 * optionally followed by a title attribute for the link, enclosed
602 in double or single quotes.
603
604 The link URL may, optionally, be surrounded by angle brackets:
605
606 [id]: <http://example.com/> "Optional Title Here"
607
608 You can put the title attribute on the next line and use extra spaces
609 or tabs for padding, which tends to look better with longer URLs:
610
611 [id]: http://example.com/longish/path/to/resource/here
612 "Optional Title Here"
613
614 Link definitions are only used for creating links during Markdown
615 processing, and are stripped from your document in the HTML output.
616
617 Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are *not* case sensitive. E.g. these two links:
618
619 [link text][a]
620 [link text][A]
621
622 are equivalent.
623
624 The *implicit link name* shortcut allows you to omit the name of the
625 link, in which case the link text itself is used as the name.
626 Just use an empty set of square brackets -- e.g., to link the word
627 "Google" to the google.com web site, you could simply write:
628
629 [Google][]
630
631 And then define the link:
632
633 [Google]: http://google.com/
634
635 Because link names may contain spaces, this shortcut even works for
636 multiple words in the link text:
637
638 Visit [Daring Fireball][] for more information.
639
640 And then define the link:
641
642 [Daring Fireball]: http://daringfireball.net/
643
644 Link definitions can be placed anywhere in your Markdown document. I
645 tend to put them immediately after each paragraph in which they're
646 used, but if you want, you can put them all at the end of your
647 document, sort of like footnotes.
648
649 Here's an example of reference links in action:
650
651 I get 10 times more traffic from [Google] [1] than from
652 [Yahoo] [2] or [MSN] [3].
653
654 [1]: http://google.com/ "Google"
655 [2]: http://search.yahoo.com/ "Yahoo Search"
656 [3]: http://search.msn.com/ "MSN Search"
657
658 Using the implicit link name shortcut, you could instead write:
659
660 I get 10 times more traffic from [Google][] than from
661 [Yahoo][] or [MSN][].
662
663 [google]: http://google.com/ "Google"
664 [yahoo]: http://search.yahoo.com/ "Yahoo Search"
665 [msn]: http://search.msn.com/ "MSN Search"
666
667 Both of the above examples will produce the following HTML output:
668
669 <p>I get 10 times more traffic from <a href="http://google.com/"
670 title="Google">Google</a> than from
671 <a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a>
672 or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>
673
674 For comparison, here is the same paragraph written using
675 Markdown's inline link style:
676
677 I get 10 times more traffic from [Google](http://google.com/ "Google")
678 than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
679 [MSN](http://search.msn.com/ "MSN Search").
680
681 The point of reference-style links is not that they're easier to
682 write. The point is that with reference-style links, your document
683 source is vastly more readable. Compare the above examples: using
684 reference-style links, the paragraph itself is only 81 characters
685 long; with inline-style links, it's 176 characters; and as raw HTML,
686 it's 234 characters. In the raw HTML, there's more markup than there
687 is text.
688
689 With Markdown's reference-style links, a source document much more
690 closely resembles the final output, as rendered in a browser. By
691 allowing you to move the markup-related metadata out of the paragraph,
692 you can add links without interrupting the narrative flow of your
693 prose.
694
695
696 <h3 id="em">Emphasis</h3>
697
698 Markdown treats asterisks (`*`) and underscores (`_`) as indicators of
699 emphasis. Text wrapped with one `*` or `_` will be wrapped with an
700 HTML `<em>` tag; double `*`'s or `_`'s will be wrapped with an HTML
701 `<strong>` tag. E.g., this input:
702
703 *single asterisks*
704
705 _single underscores_
706
707 **double asterisks**
708
709 __double underscores__
710
711 will produce:
712
713 <em>single asterisks</em>
714
715 <em>single underscores</em>
716
717 <strong>double asterisks</strong>
718
719 <strong>double underscores</strong>
720
721 You can use whichever style you prefer; the lone restriction is that
722 the same character must be used to open and close an emphasis span.
723
724 Emphasis can be used in the middle of a word:
725
726 un*fucking*believable
727
728 But if you surround an `*` or `_` with spaces, it'll be treated as a
729 literal asterisk or underscore.
730
731 To produce a literal asterisk or underscore at a position where it
732 would otherwise be used as an emphasis delimiter, you can backslash
733 escape it:
734
735 \*this text is surrounded by literal asterisks\*
736
737
738
739 <h3 id="code">Code</h3>
740
741 To indicate a span of code, wrap it with backtick quotes (`` ` ``).
742 Unlike a pre-formatted code block, a code span indicates code within a
743 normal paragraph. For example:
744
745 Use the `printf()` function.
746
747 will produce:
748
749 <p>Use the <code>printf()</code> function.</p>
750
751 To include a literal backtick character within a code span, you can use
752 multiple backticks as the opening and closing delimiters:
753
754 ``There is a literal backtick (`) here.``
755
756 which will produce this:
757
758 <p><code>There is a literal backtick (`) here.</code></p>
759
760 The backtick delimiters surrounding a code span may include spaces --
761 one after the opening, one before the closing. This allows you to place
762 literal backtick characters at the beginning or end of a code span:
763
764 A single backtick in a code span: `` ` ``
765
766 A backtick-delimited string in a code span: `` `foo` ``
767
768 will produce:
769
770 <p>A single backtick in a code span: <code>`</code></p>
771
772 <p>A backtick-delimited string in a code span: <code>`foo`</code></p>
773
774 With a code span, ampersands and angle brackets are encoded as HTML
775 entities automatically, which makes it easy to include example HTML
776 tags. Markdown will turn this:
777
778 Please don't use any `<blink>` tags.
779
780 into:
781
782 <p>Please don't use any <code>&lt;blink&gt;</code> tags.</p>
783
784 You can write this:
785
786 `&#8212;` is the decimal-encoded equivalent of `&mdash;`.
787
788 to produce:
789
790 <p><code>&amp;#8212;</code> is the decimal-encoded
791 equivalent of <code>&amp;mdash;</code>.</p>
792
793
794
795 <h3 id="img">Images</h3>
796
797 Admittedly, it's fairly difficult to devise a "natural" syntax for
798 placing images into a plain text document format.
799
800 Markdown uses an image syntax that is intended to resemble the syntax
801 for links, allowing for two styles: *inline* and *reference*.
802
803 Inline image syntax looks like this:
804
805 ![Alt text](/path/to/img.jpg)
806
807 ![Alt text](/path/to/img.jpg "Optional title")
808
809 That is:
810
811 * An exclamation mark: `!`;
812 * followed by a set of square brackets, containing the `alt`
813 attribute text for the image;
814 * followed by a set of parentheses, containing the URL or path to
815 the image, and an optional `title` attribute enclosed in double
816 or single quotes.
817
818 Reference-style image syntax looks like this:
819
820 ![Alt text][id]
821
822 Where "id" is the name of a defined image reference. Image references
823 are defined using syntax identical to link references:
824
825 [id]: url/to/image "Optional title attribute"
826
827 As of this writing, Markdown has no syntax for specifying the
828 dimensions of an image; if this is important to you, you can simply
829 use regular HTML `<img>` tags.
830
831
832 * * *
833
834
835 <h2 id="misc">Miscellaneous</h2>
836
837 <h3 id="autolink">Automatic Links</h3>
838
839 Markdown supports a shortcut style for creating "automatic" 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:
840
841 <http://example.com/>
842
843 Markdown will turn this into:
844
845 <a href="http://example.com/">http://example.com/</a>
846
847 Automatic links for email addresses work similarly, except that
848 Markdown will also perform a bit of randomized decimal and hex
849 entity-encoding to help obscure your address from address-harvesting
850 spambots. For example, Markdown will turn this:
851
852 <address@example.com>
853
854 into something like this:
855
856 <a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65;
857 &#115;&#115;&#64;&#101;&#120;&#x61;&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;
858 &#109;">&#x61;&#x64;&#x64;&#x72;&#x65;&#115;&#115;&#64;&#101;&#120;&#x61;
859 &#109;&#x70;&#x6C;e&#x2E;&#99;&#111;&#109;</a>
860
861 which will render in a browser as a clickable link to "address@example.com".
862
863 (This sort of entity-encoding trick will indeed fool many, if not
864 most, address-harvesting bots, but it definitely won't fool all of
865 them. It's better than nothing, but an address published in this way
866 will probably eventually start receiving spam.)
867
868
869
870 <h3 id="backslash">Backslash Escapes</h3>
871
872 Markdown allows you to use backslash escapes to generate literal
873 characters which would otherwise have special meaning in Markdown's
874 formatting syntax. For example, if you wanted to surround a word with
875 literal asterisks (instead of an HTML `<em>` tag), you can backslashes
876 before the asterisks, like this:
877
878 \*literal asterisks\*
879
880 Markdown provides backslash escapes for the following characters:
881
882 \ backslash
883 ` backtick
884 * asterisk
885 _ underscore
886 {} curly braces
887 [] square brackets
888 () parentheses
889 # hash mark
890 + plus sign
891 - minus sign (hyphen)
892 . dot
893 ! exclamation mark
894
895