mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-27 10:01:37 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			412 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			412 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!doctype html>
 | |
| 
 | |
| <title>CodeMirror: Markdown mode</title>
 | |
| <meta charset="utf-8"/>
 | |
| <link rel=stylesheet href="../../doc/docs.css">
 | |
| 
 | |
| <link rel="stylesheet" href="../../lib/codemirror.css">
 | |
| <script src="../../lib/codemirror.js"></script>
 | |
| <script src="../../addon/edit/continuelist.js"></script>
 | |
| <script src="../xml/xml.js"></script>
 | |
| <script src="markdown.js"></script>
 | |
| <style>
 | |
|       .CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}
 | |
|       .cm-s-default .cm-trailing-space-a:before,
 | |
|       .cm-s-default .cm-trailing-space-b:before {position: absolute; content: "\00B7"; color: #777;}
 | |
|       .cm-s-default .cm-trailing-space-new-line:before {position: absolute; content: "\21B5"; color: #777;}
 | |
|     </style>
 | |
| <div id=nav>
 | |
|   <a href="https://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
 | |
| 
 | |
|   <ul>
 | |
|     <li><a href="../../index.html">Home</a>
 | |
|     <li><a href="../../doc/manual.html">Manual</a>
 | |
|     <li><a href="https://github.com/codemirror/codemirror">Code</a>
 | |
|   </ul>
 | |
|   <ul>
 | |
|     <li><a href="../index.html">Language modes</a>
 | |
|     <li><a class=active href="#">Markdown</a>
 | |
|   </ul>
 | |
| </div>
 | |
| 
 | |
| <article>
 | |
| <h2>Markdown mode</h2>
 | |
| <form><textarea id="code" name="code">
 | |
| Markdown: Basics
 | |
| ================
 | |
| 
 | |
| <ul id="ProjectSubmenu">
 | |
|     <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li>
 | |
|     <li><a class="selected" title="Markdown Basics">Basics</a></li>
 | |
|     <li><a href="/projects/markdown/syntax" title="Markdown Syntax Documentation">Syntax</a></li>
 | |
|     <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li>
 | |
|     <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li>
 | |
| </ul>
 | |
| 
 | |
| 
 | |
| Getting the Gist of Markdown's Formatting Syntax
 | |
| ------------------------------------------------
 | |
| 
 | |
| This page offers a brief overview of what it's like to use Markdown.
 | |
| The [syntax page] [s] provides complete, detailed documentation for
 | |
| every feature, but Markdown should be very easy to pick up simply by
 | |
| looking at a few examples of it in action. The examples on this page
 | |
| are written in a before/after style, showing example syntax and the
 | |
| HTML output produced by Markdown.
 | |
| 
 | |
| It's also helpful to simply try Markdown out; the [Dingus] [d] is a
 | |
| web application that allows you type your own Markdown-formatted text
 | |
| and translate it to XHTML.
 | |
| 
 | |
| **Note:** This document is itself written using Markdown; you
 | |
| can [see the source for it by adding '.text' to the URL] [src].
 | |
| 
 | |
|   [s]: /projects/markdown/syntax  "Markdown Syntax"
 | |
|   [d]: /projects/markdown/dingus  "Markdown Dingus"
 | |
|   [src]: /projects/markdown/basics.text
 | |
| 
 | |
| 
 | |
| ## Paragraphs, Headers, Blockquotes ##
 | |
| 
 | |
| A paragraph is simply one or more consecutive lines of text, separated
 | |
| by one or more blank lines. (A blank line is any line that looks like
 | |
| a blank line -- a line containing nothing but spaces or tabs is
 | |
| considered blank.) Normal paragraphs should not be indented with
 | |
| spaces or tabs.
 | |
| 
 | |
| Markdown offers two styles of headers: *Setext* and *atx*.
 | |
| Setext-style headers for `<h1>` and `<h2>` are created by
 | |
| "underlining" with equal signs (`=`) and hyphens (`-`), respectively.
 | |
| To create an atx-style header, you put 1-6 hash marks (`#`) at the
 | |
| beginning of the line -- the number of hashes equals the resulting
 | |
| HTML header level.
 | |
| 
 | |
| Blockquotes are indicated using email-style '`>`' angle brackets.
 | |
| 
 | |
| Markdown:
 | |
| 
 | |
|     A First Level Header
 | |
|     ====================
 | |
| 
 | |
|     A Second Level Header
 | |
|     ---------------------
 | |
| 
 | |
|     Now is the time for all good men to come to
 | |
|     the aid of their country. This is just a
 | |
|     regular paragraph.
 | |
| 
 | |
|     The quick brown fox jumped over the lazy
 | |
|     dog's back.
 | |
| 
 | |
|     ### Header 3
 | |
| 
 | |
|     > This is a blockquote.
 | |
|     >
 | |
|     > This is the second paragraph in the blockquote.
 | |
|     >
 | |
|     > ## This is an H2 in a blockquote
 | |
| 
 | |
| 
 | |
| Output:
 | |
| 
 | |
|     <h1>A First Level Header</h1>
 | |
| 
 | |
|     <h2>A Second Level Header</h2>
 | |
| 
 | |
|     <p>Now is the time for all good men to come to
 | |
|     the aid of their country. This is just a
 | |
|     regular paragraph.</p>
 | |
| 
 | |
|     <p>The quick brown fox jumped over the lazy
 | |
|     dog's back.</p>
 | |
| 
 | |
|     <h3>Header 3</h3>
 | |
| 
 | |
|     <blockquote>
 | |
|         <p>This is a blockquote.</p>
 | |
| 
 | |
|         <p>This is the second paragraph in the blockquote.</p>
 | |
| 
 | |
|         <h2>This is an H2 in a blockquote</h2>
 | |
|     </blockquote>
 | |
| 
 | |
| 
 | |
| 
 | |
| ### Phrase Emphasis ###
 | |
| 
 | |
| Markdown uses asterisks and underscores to indicate spans of emphasis.
 | |
| 
 | |
| Markdown:
 | |
| 
 | |
|     Some of these words *are emphasized*.
 | |
|     Some of these words _are emphasized also_.
 | |
| 
 | |
|     Use two asterisks for **strong emphasis**.
 | |
|     Or, if you prefer, __use two underscores instead__.
 | |
| 
 | |
| Output:
 | |
| 
 | |
|     <p>Some of these words <em>are emphasized</em>.
 | |
|     Some of these words <em>are emphasized also</em>.</p>
 | |
| 
 | |
|     <p>Use two asterisks for <strong>strong emphasis</strong>.
 | |
|     Or, if you prefer, <strong>use two underscores instead</strong>.</p>
 | |
| 
 | |
| 
 | |
| 
 | |
| ## Lists ##
 | |
| 
 | |
| Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`,
 | |
| `+`, and `-`) as list markers. These three markers are
 | |
| interchangable; this:
 | |
| 
 | |
|     *   Candy.
 | |
|     *   Gum.
 | |
|     *   Booze.
 | |
| 
 | |
| this:
 | |
| 
 | |
|     +   Candy.
 | |
|     +   Gum.
 | |
|     +   Booze.
 | |
| 
 | |
| and this:
 | |
| 
 | |
|     -   Candy.
 | |
|     -   Gum.
 | |
|     -   Booze.
 | |
| 
 | |
| all produce the same output:
 | |
| 
 | |
|     <ul>
 | |
|     <li>Candy.</li>
 | |
|     <li>Gum.</li>
 | |
|     <li>Booze.</li>
 | |
|     </ul>
 | |
| 
 | |
| Ordered (numbered) lists use regular numbers, followed by periods, as
 | |
| list markers:
 | |
| 
 | |
|     1.  Red
 | |
|     2.  Green
 | |
|     3.  Blue
 | |
| 
 | |
| Output:
 | |
| 
 | |
|     <ol>
 | |
|     <li>Red</li>
 | |
|     <li>Green</li>
 | |
|     <li>Blue</li>
 | |
|     </ol>
 | |
| 
 | |
| If you put blank lines between items, you'll get `<p>` tags for the
 | |
| list item text. You can create multi-paragraph list items by indenting
 | |
| the paragraphs by 4 spaces or 1 tab:
 | |
| 
 | |
|     *   A list item.
 | |
| 
 | |
|         With multiple paragraphs.
 | |
| 
 | |
|     *   Another item in the list.
 | |
| 
 | |
| Output:
 | |
| 
 | |
|     <ul>
 | |
|     <li><p>A list item.</p>
 | |
|     <p>With multiple paragraphs.</p></li>
 | |
|     <li><p>Another item in the list.</p></li>
 | |
|     </ul>
 | |
| 
 | |
| 
 | |
| 
 | |
| ### Links ###
 | |
| 
 | |
| Markdown supports two styles for creating links: *inline* and
 | |
| *reference*. With both styles, you use square brackets to delimit the
 | |
| text you want to turn into a link.
 | |
| 
 | |
| Inline-style links use parentheses immediately after the link text.
 | |
| For example:
 | |
| 
 | |
|     This is an [example link](http://example.com/).
 | |
| 
 | |
| Output:
 | |
| 
 | |
|     <p>This is an <a href="http://example.com/">
 | |
|     example link</a>.</p>
 | |
| 
 | |
| Optionally, you may include a title attribute in the parentheses:
 | |
| 
 | |
|     This is an [example link](http://example.com/ "With a Title").
 | |
| 
 | |
| Output:
 | |
| 
 | |
|     <p>This is an <a href="http://example.com/" title="With a Title">
 | |
|     example link</a>.</p>
 | |
| 
 | |
| Reference-style links allow you to refer to your links by names, which
 | |
| you define elsewhere in your document:
 | |
| 
 | |
|     I get 10 times more traffic from [Google][1] than from
 | |
|     [Yahoo][2] or [MSN][3].
 | |
| 
 | |
|     [1]: http://google.com/        "Google"
 | |
|     [2]: http://search.yahoo.com/  "Yahoo Search"
 | |
|     [3]: http://search.msn.com/    "MSN Search"
 | |
| 
 | |
| Output:
 | |
| 
 | |
|     <p>I get 10 times more traffic from <a href="http://google.com/"
 | |
|     title="Google">Google</a> than from <a href="http://search.yahoo.com/"
 | |
|     title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/"
 | |
|     title="MSN Search">MSN</a>.</p>
 | |
| 
 | |
| The title attribute is optional. Link names may contain letters,
 | |
| numbers and spaces, but are *not* case sensitive:
 | |
| 
 | |
|     I start my morning with a cup of coffee and
 | |
|     [The New York Times][NY Times].
 | |
| 
 | |
|     [ny times]: http://www.nytimes.com/
 | |
| 
 | |
| Output:
 | |
| 
 | |
|     <p>I start my morning with a cup of coffee and
 | |
|     <a href="http://www.nytimes.com/">The New York Times</a>.</p>
 | |
| 
 | |
| 
 | |
| ### Images ###
 | |
| 
 | |
| Image syntax is very much like link syntax.
 | |
| 
 | |
| Inline (titles are optional):
 | |
| 
 | |
|     
 | |
| 
 | |
| Reference-style:
 | |
| 
 | |
|     ![alt text][id]
 | |
| 
 | |
|     [id]: /path/to/img.jpg "Title"
 | |
| 
 | |
| Both of the above examples produce the same output:
 | |
| 
 | |
|     <img src="/path/to/img.jpg" alt="alt text" title="Title" />
 | |
| 
 | |
| 
 | |
| 
 | |
| ### Code ###
 | |
| 
 | |
| In a regular paragraph, you can create code span by wrapping text in
 | |
| backtick quotes. Any ampersands (`&`) and angle brackets (`<` or
 | |
| `>`) will automatically be translated into HTML entities. This makes
 | |
| it easy to use Markdown to write about HTML example code:
 | |
| 
 | |
|     I strongly recommend against using any `<blink>` tags.
 | |
| 
 | |
|     I wish SmartyPants used named entities like `&mdash;`
 | |
|     instead of decimal-encoded entites like `&#8212;`.
 | |
| 
 | |
| Output:
 | |
| 
 | |
|     <p>I strongly recommend against using any
 | |
|     <code>&lt;blink&gt;</code> tags.</p>
 | |
| 
 | |
|     <p>I wish SmartyPants used named entities like
 | |
|     <code>&amp;mdash;</code> instead of decimal-encoded
 | |
|     entites like <code>&amp;#8212;</code>.</p>
 | |
| 
 | |
| 
 | |
| To specify an entire block of pre-formatted code, indent every line of
 | |
| the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`,
 | |
| and `>` characters will be escaped automatically.
 | |
| 
 | |
| Markdown:
 | |
| 
 | |
|     If you want your page to validate under XHTML 1.0 Strict,
 | |
|     you've got to put paragraph tags in your blockquotes:
 | |
| 
 | |
|         <blockquote>
 | |
|             <p>For example.</p>
 | |
|         </blockquote>
 | |
| 
 | |
| Output:
 | |
| 
 | |
|     <p>If you want your page to validate under XHTML 1.0 Strict,
 | |
|     you've got to put paragraph tags in your blockquotes:</p>
 | |
| 
 | |
|     <pre><code>&lt;blockquote&gt;
 | |
|         &lt;p&gt;For example.&lt;/p&gt;
 | |
|     &lt;/blockquote&gt;
 | |
|     </code></pre>
 | |
| 
 | |
| ## Fenced code blocks (and syntax highlighting)
 | |
| 
 | |
| ```javascript
 | |
| for (var i = 0; i < items.length; i++) {
 | |
|     console.log(items[i], i); // log them
 | |
| }
 | |
| ```
 | |
| 
 | |
| </textarea></form>
 | |
| 
 | |
|     <script>
 | |
|       var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
 | |
|         mode: 'markdown',
 | |
|         lineNumbers: true,
 | |
|         theme: "default",
 | |
|         extraKeys: {"Enter": "newlineAndIndentContinueMarkdownList"}
 | |
|       });
 | |
|     </script>
 | |
| 
 | |
|     <p>If you also want support <code>strikethrough</code>, <code>emoji</code> and few other goodies, check out <a href="../gfm/index.html">Github-Flavored Markdown mode</a>.</p>
 | |
| 
 | |
|     <p>Optionally depends on other modes for properly highlighted code blocks,
 | |
|       and XML mode for properly highlighted inline XML blocks.</p>
 | |
| 
 | |
|     <p>Markdown mode supports these options:</p>
 | |
|     <ul>
 | |
|       <li>
 | |
|         <d1>
 | |
|           <dt><code>highlightFormatting: boolean</code></dt>
 | |
|           <dd>Whether to separately highlight markdown meta characterts (<code>*[]()</code>etc.) (default: <code>false</code>).</dd>
 | |
|         </d1>
 | |
|       </li>
 | |
|       <li>
 | |
|         <d1>
 | |
|           <dt><code>maxBlockquoteDepth: boolean</code></dt>
 | |
|           <dd>Maximum allowed blockquote nesting (default: <code>0</code> - infinite nesting).</dd>
 | |
|         </d1>
 | |
|       </li>
 | |
|       <li>
 | |
|         <d1>
 | |
|           <dt><code>xml: boolean</code></dt>
 | |
|           <dd>Whether to highlight inline XML (default: <code>true</code>).</dd>
 | |
|         </d1>
 | |
|       </li>
 | |
|       <li>
 | |
|         <d1>
 | |
|           <dt><code>fencedCodeBlockHighlighting: boolean</code></dt>
 | |
|           <dd>Whether to syntax-highlight fenced code blocks, if given mode is included (default: <code>true</code>).</dd>
 | |
|         </d1>
 | |
|       </li>
 | |
|       <li>
 | |
|         <d1>
 | |
|           <dt><code>tokenTypeOverrides: Object</code></dt>
 | |
|           <dd>When you want ot override default token type names (e.g. <code>{code: "code"}</code>).</dd>
 | |
|         </d1>
 | |
|       </li>
 | |
|       <li>
 | |
|         <d1>
 | |
|           <dt><code>allowAtxHeaderWithoutSpace: boolean</code></dt>
 | |
|           <dd>Allow lazy headers without whitespace between hashtag and text (default: <code>false</code>).</dd>
 | |
|         </d1>
 | |
|       </li>
 | |
|     </ul>
 | |
| 
 | |
|     <p><strong>MIME types defined:</strong> <code>text/x-markdown</code>.</p>
 | |
| 
 | |
|     <p><strong>Parsing/Highlighting Tests:</strong> <a href="../../test/index.html#markdown_*">normal</a>,  <a href="../../test/index.html#verbose,markdown_*">verbose</a>.</p>
 | |
| 
 | |
|   </article>
 | 
