1 <html><head><title>Roo/Markdown.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//
3 * marked - a markdown parser
4 * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)
5 * https://github.com/chjj/marked
11 * Roo.Markdown - is a very crude wrapper around marked..
15 * alert( Roo.Markdown.toHtml("Markdown *rocks*.") );
17 * Note: move the sample code to the bottom of this
18 * file before uncommenting it.
22 </span><span class="jsdoc-var">Roo.Markdown </span><span class="jsdoc-syntax">= {};
23 </span><span class="jsdoc-var">Roo.Markdown.toHtml </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
25 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Markdown.marked.setOptions</span><span class="jsdoc-syntax">({
26 </span><span class="jsdoc-var">renderer</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Markdown.marked.Renderer</span><span class="jsdoc-syntax">(),
27 </span><span class="jsdoc-var">gfm</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
28 </span><span class="jsdoc-var">tables</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
29 </span><span class="jsdoc-var">breaks</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
30 </span><span class="jsdoc-var">pedantic</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
31 </span><span class="jsdoc-var">sanitize</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
32 </span><span class="jsdoc-var">smartLists</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
33 </span><span class="jsdoc-var">smartypants</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false
34 </span><span class="jsdoc-syntax">});
35 </span><span class="jsdoc-comment">// A FEW HACKS!!?
37 </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">text.replace</span><span class="jsdoc-syntax">(/\\\n/g,</span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">);
38 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.Markdown.marked</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">);
40 </span><span class="jsdoc-comment">//
43 // Wraps all "globals" so that the only thing
44 // exposed is makeHtml().
46 </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
48 </span><span class="jsdoc-comment">/**
52 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">block </span><span class="jsdoc-syntax">= {
53 </span><span class="jsdoc-var">newline</span><span class="jsdoc-syntax">: /^\n+/,
54 </span><span class="jsdoc-var">code</span><span class="jsdoc-syntax">: /^( {4}[^\n]+\n*)+/,
55 </span><span class="jsdoc-var">fences</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">noop</span><span class="jsdoc-syntax">,
56 </span><span class="jsdoc-var">hr</span><span class="jsdoc-syntax">: /^( *[-*_]){3,} *(?:\n+|$)/,
57 </span><span class="jsdoc-var">heading</span><span class="jsdoc-syntax">: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,
58 </span><span class="jsdoc-var">nptable</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">noop</span><span class="jsdoc-syntax">,
59 </span><span class="jsdoc-var">lheading</span><span class="jsdoc-syntax">: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,
60 </span><span class="jsdoc-var">blockquote</span><span class="jsdoc-syntax">: /^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,
61 </span><span class="jsdoc-var">list</span><span class="jsdoc-syntax">: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
62 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: /^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,
63 </span><span class="jsdoc-var">def</span><span class="jsdoc-syntax">: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,
64 </span><span class="jsdoc-var">table</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">noop</span><span class="jsdoc-syntax">,
65 </span><span class="jsdoc-var">paragraph</span><span class="jsdoc-syntax">: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,
66 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: /^[^\n]+/
69 </span><span class="jsdoc-var">block.bullet </span><span class="jsdoc-syntax">= /(?:[*+-]|\d+\.)/;
70 </span><span class="jsdoc-var">block.item </span><span class="jsdoc-syntax">= /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;
71 </span><span class="jsdoc-var">block.item </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">block.item</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'gm'</span><span class="jsdoc-syntax">)
72 (/bull/g, </span><span class="jsdoc-var">block.bullet</span><span class="jsdoc-syntax">)
75 </span><span class="jsdoc-var">block.list </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">block.list</span><span class="jsdoc-syntax">)
76 (/bull/g, </span><span class="jsdoc-var">block.bullet</span><span class="jsdoc-syntax">)
77 (</span><span class="jsdoc-string">'hr'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))'</span><span class="jsdoc-syntax">)
78 (</span><span class="jsdoc-string">'def'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'\\n+(?=' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">block.def.source </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">')'</span><span class="jsdoc-syntax">)
81 </span><span class="jsdoc-var">block.blockquote </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">block.blockquote</span><span class="jsdoc-syntax">)
82 (</span><span class="jsdoc-string">'def'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">block.def</span><span class="jsdoc-syntax">)
85 </span><span class="jsdoc-var">block._tag </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'(?!(?:'
86 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'
87 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'
88 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b'</span><span class="jsdoc-syntax">;
90 </span><span class="jsdoc-var">block.html </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">block.html</span><span class="jsdoc-syntax">)
91 (</span><span class="jsdoc-string">'comment'</span><span class="jsdoc-syntax">, /<!--[\s\S]*?-->/)
92 (</span><span class="jsdoc-string">'closed'</span><span class="jsdoc-syntax">, /<(tag)[\s\S]+?<\/\1>/)
93 (</span><span class="jsdoc-string">'closing'</span><span class="jsdoc-syntax">, /<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)
94 (/tag/g, </span><span class="jsdoc-var">block._tag</span><span class="jsdoc-syntax">)
97 </span><span class="jsdoc-var">block.paragraph </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">block.paragraph</span><span class="jsdoc-syntax">)
98 (</span><span class="jsdoc-string">'hr'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">block.hr</span><span class="jsdoc-syntax">)
99 (</span><span class="jsdoc-string">'heading'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">block.heading</span><span class="jsdoc-syntax">)
100 (</span><span class="jsdoc-string">'lheading'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">block.lheading</span><span class="jsdoc-syntax">)
101 (</span><span class="jsdoc-string">'blockquote'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">block.blockquote</span><span class="jsdoc-syntax">)
102 (</span><span class="jsdoc-string">'tag'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'<' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">block._tag</span><span class="jsdoc-syntax">)
103 (</span><span class="jsdoc-string">'def'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">block.def</span><span class="jsdoc-syntax">)
106 </span><span class="jsdoc-comment">/**
107 * Normal Block Grammar
110 </span><span class="jsdoc-var">block.normal </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">merge</span><span class="jsdoc-syntax">({}, </span><span class="jsdoc-var">block</span><span class="jsdoc-syntax">);
112 </span><span class="jsdoc-comment">/**
116 </span><span class="jsdoc-var">block.gfm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">merge</span><span class="jsdoc-syntax">({}, </span><span class="jsdoc-var">block.normal</span><span class="jsdoc-syntax">, {
117 </span><span class="jsdoc-var">fences</span><span class="jsdoc-syntax">: /^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,
118 </span><span class="jsdoc-var">paragraph</span><span class="jsdoc-syntax">: /^/,
119 </span><span class="jsdoc-var">heading</span><span class="jsdoc-syntax">: /^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/
122 </span><span class="jsdoc-var">block.gfm.paragraph </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">block.paragraph</span><span class="jsdoc-syntax">)
123 (</span><span class="jsdoc-string">'(?!'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'(?!'
124 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">block.gfm.fences.source.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'\\1'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'\\2'</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'|'
125 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">block.list.source.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'\\1'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'\\3'</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'|'</span><span class="jsdoc-syntax">)
128 </span><span class="jsdoc-comment">/**
129 * GFM + Tables Block Grammar
132 </span><span class="jsdoc-var">block.tables </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">merge</span><span class="jsdoc-syntax">({}, </span><span class="jsdoc-var">block.gfm</span><span class="jsdoc-syntax">, {
133 </span><span class="jsdoc-var">nptable</span><span class="jsdoc-syntax">: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,
134 </span><span class="jsdoc-var">table</span><span class="jsdoc-syntax">: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/
137 </span><span class="jsdoc-comment">/**
141 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">Lexer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
142 </span><span class="jsdoc-var">this.tokens </span><span class="jsdoc-syntax">= [];
143 </span><span class="jsdoc-var">this.tokens.links </span><span class="jsdoc-syntax">= {};
144 </span><span class="jsdoc-var">this.options </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">options </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">marked.defaults</span><span class="jsdoc-syntax">;
145 </span><span class="jsdoc-var">this.rules </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">block.normal</span><span class="jsdoc-syntax">;
147 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.options.gfm</span><span class="jsdoc-syntax">) {
148 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.options.tables</span><span class="jsdoc-syntax">) {
149 </span><span class="jsdoc-var">this.rules </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">block.tables</span><span class="jsdoc-syntax">;
150 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
151 </span><span class="jsdoc-var">this.rules </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">block.gfm</span><span class="jsdoc-syntax">;
156 </span><span class="jsdoc-comment">/**
160 </span><span class="jsdoc-var">Lexer.rules </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">block</span><span class="jsdoc-syntax">;
162 </span><span class="jsdoc-comment">/**
166 </span><span class="jsdoc-var">Lexer.lex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
167 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lexer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Lexer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">);
168 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">lexer.lex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">);
171 </span><span class="jsdoc-comment">/**
175 </span><span class="jsdoc-var">Lexer.prototype.lex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">) {
176 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src
177 .replace</span><span class="jsdoc-syntax">(/\r\n|\r/g, </span><span class="jsdoc-string">'\n'</span><span class="jsdoc-syntax">)
178 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/\t/g, </span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">)
179 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/\u00a0/g, </span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">)
180 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/\u2424/g, </span><span class="jsdoc-string">'\n'</span><span class="jsdoc-syntax">);
182 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.token</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
185 </span><span class="jsdoc-comment">/**
189 </span><span class="jsdoc-var">Lexer.prototype.token </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">top</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">bq</span><span class="jsdoc-syntax">) {
190 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.replace</span><span class="jsdoc-syntax">(/^ +$/gm, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)
191 , </span><span class="jsdoc-var">next
192 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">loose
193 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cap
194 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">bull
195 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b
196 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">item
197 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">space
198 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i
199 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">;
201 </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">) {
202 </span><span class="jsdoc-comment">// newline
203 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.newline.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
204 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
205 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length </span><span class="jsdoc-syntax">> 1) {
206 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
207 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'space'
208 </span><span class="jsdoc-syntax">});
212 </span><span class="jsdoc-comment">// code
213 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.code.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
214 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
215 </span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/^ {4}/gm, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
216 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
217 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'code'</span><span class="jsdoc-syntax">,
218 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: !</span><span class="jsdoc-var">this.options.pedantic
219 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">cap.replace</span><span class="jsdoc-syntax">(/\n+$/, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)
220 : </span><span class="jsdoc-var">cap
221 </span><span class="jsdoc-syntax">});
222 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
225 </span><span class="jsdoc-comment">// fences (gfm)
226 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.fences.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
227 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
228 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
229 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'code'</span><span class="jsdoc-syntax">,
230 </span><span class="jsdoc-var">lang</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2],
231 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[3] || </span><span class="jsdoc-string">''
232 </span><span class="jsdoc-syntax">});
233 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
236 </span><span class="jsdoc-comment">// heading
237 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.heading.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
238 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
239 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
240 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'heading'</span><span class="jsdoc-syntax">,
241 </span><span class="jsdoc-var">depth</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">,
242 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2]
244 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
247 </span><span class="jsdoc-comment">// table no leading pipe (gfm)
248 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">top </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.nptable.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">))) {
249 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
251 </span><span class="jsdoc-var">item </span><span class="jsdoc-syntax">= {
252 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table'</span><span class="jsdoc-syntax">,
253 </span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/^ *| *\| *$/g, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(/ *\| */),
254 </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2]</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/^ *|\| *$/g, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(/ *\| */),
255 </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[3]</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/\n$/, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'\n'</span><span class="jsdoc-syntax">)
258 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">item.align.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
259 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(/^ *-+: *$/</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">])) {
260 </span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-string">'right'</span><span class="jsdoc-syntax">;
261 } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(/^ *:-+: *$/</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">])) {
262 </span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-string">'center'</span><span class="jsdoc-syntax">;
263 } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(/^ *:-+ *$/</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">])) {
264 </span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-string">'left'</span><span class="jsdoc-syntax">;
265 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
266 </span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
270 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">item.cells.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
271 </span><span class="jsdoc-var">item.cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">item.cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(/ *\| */);
274 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">);
276 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
279 </span><span class="jsdoc-comment">// lheading
280 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.lheading.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
281 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
282 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
283 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'heading'</span><span class="jsdoc-syntax">,
284 </span><span class="jsdoc-var">depth</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2] === </span><span class="jsdoc-string">'=' </span><span class="jsdoc-syntax">? 1 : 2,
285 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]
287 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
290 </span><span class="jsdoc-comment">// hr
291 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.hr.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
292 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
293 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
294 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'hr'
295 </span><span class="jsdoc-syntax">});
296 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
299 </span><span class="jsdoc-comment">// blockquote
300 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.blockquote.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
301 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
303 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
304 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'blockquote_start'
305 </span><span class="jsdoc-syntax">});
307 </span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/^ *> ?/gm, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
309 </span><span class="jsdoc-comment">// Pass `top` to keep the current
310 // "toplevel" state. This is exactly
311 // how markdown.pl works.
312 </span><span class="jsdoc-var">this.token</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">top</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
314 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
315 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'blockquote_end'
316 </span><span class="jsdoc-syntax">});
318 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
321 </span><span class="jsdoc-comment">// list
322 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.list.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
323 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
324 </span><span class="jsdoc-var">bull </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2];
326 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
327 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'list_start'</span><span class="jsdoc-syntax">,
328 </span><span class="jsdoc-var">ordered</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">bull.length </span><span class="jsdoc-syntax">> 1
331 </span><span class="jsdoc-comment">// Get each top-level item.
332 </span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.match</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rules.item</span><span class="jsdoc-syntax">);
334 </span><span class="jsdoc-var">next </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
335 </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cap.length</span><span class="jsdoc-syntax">;
336 </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0;
338 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
339 </span><span class="jsdoc-var">item </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
341 </span><span class="jsdoc-comment">// Remove the list item's bullet
342 // so it is seen as the next token.
343 </span><span class="jsdoc-var">space </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">item.length</span><span class="jsdoc-syntax">;
344 </span><span class="jsdoc-var">item </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">item.replace</span><span class="jsdoc-syntax">(/^ *([*+-]|\d+\.) +/, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
346 </span><span class="jsdoc-comment">// Outdent whatever the
347 // list item contains. Hacky.
348 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(~</span><span class="jsdoc-var">item.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'\n '</span><span class="jsdoc-syntax">)) {
349 </span><span class="jsdoc-var">space </span><span class="jsdoc-syntax">-= </span><span class="jsdoc-var">item.length</span><span class="jsdoc-syntax">;
350 </span><span class="jsdoc-var">item </span><span class="jsdoc-syntax">= !</span><span class="jsdoc-var">this.options.pedantic
351 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">item.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">RegExp</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'^ {1,' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">space </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'}'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'gm'</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)
352 : </span><span class="jsdoc-var">item.replace</span><span class="jsdoc-syntax">(/^ {1,4}/gm, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
355 </span><span class="jsdoc-comment">// Determine whether the next list item belongs here.
356 // Backpedal if it does not belong in this list.
357 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.options.smartLists </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">- 1) {
358 </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">block.bullet.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">+ 1])[0];
359 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">bull </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">&& !(</span><span class="jsdoc-var">bull.length </span><span class="jsdoc-syntax">> 1 && </span><span class="jsdoc-var">b.length </span><span class="jsdoc-syntax">> 1)) {
360 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cap.slice</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">+ 1)</span><span class="jsdoc-var">.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'\n'</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">;
361 </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">- 1;
365 </span><span class="jsdoc-comment">// Determine whether item is loose or not.
366 // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
367 // for discount behavior.
368 </span><span class="jsdoc-var">loose </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">next </span><span class="jsdoc-syntax">|| /\n\n(?!\s*$)/</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">);
369 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">- 1) {
370 </span><span class="jsdoc-var">next </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">item.charAt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.length </span><span class="jsdoc-syntax">- 1) === </span><span class="jsdoc-string">'\n'</span><span class="jsdoc-syntax">;
371 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">loose</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-var">loose </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">next</span><span class="jsdoc-syntax">; }
374 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
375 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">loose
376 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'loose_item_start'
377 </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'list_item_start'
378 </span><span class="jsdoc-syntax">});
380 </span><span class="jsdoc-comment">// Recurse.
381 </span><span class="jsdoc-var">this.token</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">bq</span><span class="jsdoc-syntax">);
383 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
384 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'list_item_end'
385 </span><span class="jsdoc-syntax">});
388 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
389 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'list_end'
390 </span><span class="jsdoc-syntax">});
392 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
395 </span><span class="jsdoc-comment">// html
396 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.html.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
397 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
398 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
399 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.options.sanitize
400 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'paragraph'
401 </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'html'</span><span class="jsdoc-syntax">,
402 </span><span class="jsdoc-var">pre</span><span class="jsdoc-syntax">: !</span><span class="jsdoc-var">this.options.sanitizer
403 </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1] === </span><span class="jsdoc-string">'pre' </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1] === </span><span class="jsdoc-string">'script' </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1] === </span><span class="jsdoc-string">'style'</span><span class="jsdoc-syntax">),
404 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]
406 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
409 </span><span class="jsdoc-comment">// def
410 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">((!</span><span class="jsdoc-var">bq </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">top</span><span class="jsdoc-syntax">) && (</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.def.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">))) {
411 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
412 </span><span class="jsdoc-var">this.tokens.links</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.toLowerCase</span><span class="jsdoc-syntax">()] = {
413 </span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2],
414 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[3]
416 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
419 </span><span class="jsdoc-comment">// table (gfm)
420 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">top </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.table.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">))) {
421 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
423 </span><span class="jsdoc-var">item </span><span class="jsdoc-syntax">= {
424 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table'</span><span class="jsdoc-syntax">,
425 </span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/^ *| *\| *$/g, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(/ *\| */),
426 </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2]</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/^ *|\| *$/g, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(/ *\| */),
427 </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[3]</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/(?: *\| *)?\n$/, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'\n'</span><span class="jsdoc-syntax">)
430 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">item.align.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
431 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(/^ *-+: *$/</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">])) {
432 </span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-string">'right'</span><span class="jsdoc-syntax">;
433 } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(/^ *:-+: *$/</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">])) {
434 </span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-string">'center'</span><span class="jsdoc-syntax">;
435 } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(/^ *:-+ *$/</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">])) {
436 </span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-string">'left'</span><span class="jsdoc-syntax">;
437 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
438 </span><span class="jsdoc-var">item.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
442 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">item.cells.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
443 </span><span class="jsdoc-var">item.cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">item.cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]
444 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/^ *\| *| *\| *$/g, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)
445 </span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(/ *\| */);
448 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">);
450 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
453 </span><span class="jsdoc-comment">// top-level paragraph
454 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">top </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.paragraph.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">))) {
455 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
456 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
457 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'paragraph'</span><span class="jsdoc-syntax">,
458 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.charAt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.length </span><span class="jsdoc-syntax">- 1) === </span><span class="jsdoc-string">'\n'
459 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.slice</span><span class="jsdoc-syntax">(0, -1)
460 : </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]
462 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
465 </span><span class="jsdoc-comment">// text
466 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.text.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
467 </span><span class="jsdoc-comment">// Top-level should never reach here.
468 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
469 </span><span class="jsdoc-var">this.tokens.push</span><span class="jsdoc-syntax">({
470 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'text'</span><span class="jsdoc-syntax">,
471 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]
473 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
476 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">) {
477 </span><span class="jsdoc-keyword">throw new
478 </span><span class="jsdoc-var">Error</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'Infinite loop on byte: ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">src.charCodeAt</span><span class="jsdoc-syntax">(0));
482 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.tokens</span><span class="jsdoc-syntax">;
485 </span><span class="jsdoc-comment">/**
486 * Inline-Level Grammar
489 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">inline </span><span class="jsdoc-syntax">= {
490 </span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">: /^\\([\\`*{}\[\]()#+\-.!_>])/,
491 </span><span class="jsdoc-var">autolink</span><span class="jsdoc-syntax">: /^<([^ >]+(@|:\/)[^ >]+)>/,
492 </span><span class="jsdoc-var">url</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">noop</span><span class="jsdoc-syntax">,
493 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,
494 </span><span class="jsdoc-var">link</span><span class="jsdoc-syntax">: /^!?\[(inside)\]\(href\)/,
495 </span><span class="jsdoc-var">reflink</span><span class="jsdoc-syntax">: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
496 </span><span class="jsdoc-var">nolink</span><span class="jsdoc-syntax">: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
497 </span><span class="jsdoc-var">strong</span><span class="jsdoc-syntax">: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
498 </span><span class="jsdoc-var">em</span><span class="jsdoc-syntax">: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
499 </span><span class="jsdoc-var">code</span><span class="jsdoc-syntax">: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
500 </span><span class="jsdoc-var">br</span><span class="jsdoc-syntax">: /^ {2,}\n(?!\s*$)/,
501 </span><span class="jsdoc-var">del</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">noop</span><span class="jsdoc-syntax">,
502 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
505 </span><span class="jsdoc-var">inline._inside </span><span class="jsdoc-syntax">= /(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;
506 </span><span class="jsdoc-var">inline._href </span><span class="jsdoc-syntax">= /\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;
508 </span><span class="jsdoc-var">inline.link </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">inline.link</span><span class="jsdoc-syntax">)
509 (</span><span class="jsdoc-string">'inside'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">inline._inside</span><span class="jsdoc-syntax">)
510 (</span><span class="jsdoc-string">'href'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">inline._href</span><span class="jsdoc-syntax">)
513 </span><span class="jsdoc-var">inline.reflink </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">inline.reflink</span><span class="jsdoc-syntax">)
514 (</span><span class="jsdoc-string">'inside'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">inline._inside</span><span class="jsdoc-syntax">)
517 </span><span class="jsdoc-comment">/**
518 * Normal Inline Grammar
521 </span><span class="jsdoc-var">inline.normal </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">merge</span><span class="jsdoc-syntax">({}, </span><span class="jsdoc-var">inline</span><span class="jsdoc-syntax">);
523 </span><span class="jsdoc-comment">/**
524 * Pedantic Inline Grammar
527 </span><span class="jsdoc-var">inline.pedantic </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">merge</span><span class="jsdoc-syntax">({}, </span><span class="jsdoc-var">inline.normal</span><span class="jsdoc-syntax">, {
528 </span><span class="jsdoc-var">strong</span><span class="jsdoc-syntax">: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
529 </span><span class="jsdoc-var">em</span><span class="jsdoc-syntax">: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/
532 </span><span class="jsdoc-comment">/**
536 </span><span class="jsdoc-var">inline.gfm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">merge</span><span class="jsdoc-syntax">({}, </span><span class="jsdoc-var">inline.normal</span><span class="jsdoc-syntax">, {
537 </span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">inline.escape</span><span class="jsdoc-syntax">)(</span><span class="jsdoc-string">'])'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'~|])'</span><span class="jsdoc-syntax">)(),
538 </span><span class="jsdoc-var">url</span><span class="jsdoc-syntax">: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,
539 </span><span class="jsdoc-var">del</span><span class="jsdoc-syntax">: /^~~(?=\S)([\s\S]*?\S)~~/,
540 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">inline.text</span><span class="jsdoc-syntax">)
541 (</span><span class="jsdoc-string">']|'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'~]|'</span><span class="jsdoc-syntax">)
542 (</span><span class="jsdoc-string">'|'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'|https?://|'</span><span class="jsdoc-syntax">)
546 </span><span class="jsdoc-comment">/**
547 * GFM + Line Breaks Inline Grammar
550 </span><span class="jsdoc-var">inline.breaks </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">merge</span><span class="jsdoc-syntax">({}, </span><span class="jsdoc-var">inline.gfm</span><span class="jsdoc-syntax">, {
551 </span><span class="jsdoc-var">br</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">inline.br</span><span class="jsdoc-syntax">)(</span><span class="jsdoc-string">'{2,}'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'*'</span><span class="jsdoc-syntax">)(),
552 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">inline.gfm.text</span><span class="jsdoc-syntax">)(</span><span class="jsdoc-string">'{2,}'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'*'</span><span class="jsdoc-syntax">)()
555 </span><span class="jsdoc-comment">/**
556 * Inline Lexer & Compiler
559 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">InlineLexer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">links</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
560 </span><span class="jsdoc-var">this.options </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">options </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">marked.defaults</span><span class="jsdoc-syntax">;
561 </span><span class="jsdoc-var">this.links </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">links</span><span class="jsdoc-syntax">;
562 </span><span class="jsdoc-var">this.rules </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">inline.normal</span><span class="jsdoc-syntax">;
563 </span><span class="jsdoc-var">this.renderer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.options.renderer </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Renderer</span><span class="jsdoc-syntax">;
564 </span><span class="jsdoc-var">this.renderer.options </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.options</span><span class="jsdoc-syntax">;
566 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.links</span><span class="jsdoc-syntax">) {
567 </span><span class="jsdoc-keyword">throw new
568 </span><span class="jsdoc-var">Error</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'Tokens array requires a `links` property.'</span><span class="jsdoc-syntax">);
571 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.options.gfm</span><span class="jsdoc-syntax">) {
572 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.options.breaks</span><span class="jsdoc-syntax">) {
573 </span><span class="jsdoc-var">this.rules </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">inline.breaks</span><span class="jsdoc-syntax">;
574 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
575 </span><span class="jsdoc-var">this.rules </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">inline.gfm</span><span class="jsdoc-syntax">;
577 } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.options.pedantic</span><span class="jsdoc-syntax">) {
578 </span><span class="jsdoc-var">this.rules </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">inline.pedantic</span><span class="jsdoc-syntax">;
582 </span><span class="jsdoc-comment">/**
583 * Expose Inline Rules
586 </span><span class="jsdoc-var">InlineLexer.rules </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">inline</span><span class="jsdoc-syntax">;
588 </span><span class="jsdoc-comment">/**
589 * Static Lexing/Compiling Method
592 </span><span class="jsdoc-var">InlineLexer.output </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">links</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
593 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">inline </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">InlineLexer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">links</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">);
594 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">inline.output</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">);
597 </span><span class="jsdoc-comment">/**
601 </span><span class="jsdoc-var">InlineLexer.prototype.output </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">) {
602 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''
603 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">link
604 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text
605 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">href
606 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">;
608 </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">) {
609 </span><span class="jsdoc-comment">// escape
610 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.escape.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
611 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
612 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1];
613 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
616 </span><span class="jsdoc-comment">// autolink
617 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.autolink.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
618 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
619 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2] === </span><span class="jsdoc-string">'@'</span><span class="jsdoc-syntax">) {
620 </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.charAt</span><span class="jsdoc-syntax">(6) === </span><span class="jsdoc-string">':'
621 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.mangle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.substring</span><span class="jsdoc-syntax">(7))
622 : </span><span class="jsdoc-var">this.mangle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]);
623 </span><span class="jsdoc-var">href </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.mangle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mailto:'</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">;
624 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
625 </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]);
626 </span><span class="jsdoc-var">href </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">;
628 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.renderer.link</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">);
629 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
632 </span><span class="jsdoc-comment">// url (gfm)
633 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.inLink </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.url.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">))) {
634 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
635 </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]);
636 </span><span class="jsdoc-var">href </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">;
637 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.renderer.link</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">);
638 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
641 </span><span class="jsdoc-comment">// tag
642 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.tag.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
643 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.inLink </span><span class="jsdoc-syntax">&& /^<a /i</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0])) {
644 </span><span class="jsdoc-var">this.inLink </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
645 } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inLink </span><span class="jsdoc-syntax">&& /^<\/a>/i</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0])) {
646 </span><span class="jsdoc-var">this.inLink </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
648 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
649 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.options.sanitize
650 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.options.sanitizer
651 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.options.sanitizer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0])
652 : </span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0])
653 : </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0];
654 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
657 </span><span class="jsdoc-comment">// link
658 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.link.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
659 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
660 </span><span class="jsdoc-var">this.inLink </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
661 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.outputLink</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">, {
662 </span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2],
663 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[3]
665 </span><span class="jsdoc-var">this.inLink </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
666 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
669 </span><span class="jsdoc-comment">// reflink, nolink
670 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.reflink.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">))
671 || (</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.nolink.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">))) {
672 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
673 </span><span class="jsdoc-var">link </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2] || </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1])</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/\s+/g, </span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">);
674 </span><span class="jsdoc-var">link </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.links</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">link.toLowerCase</span><span class="jsdoc-syntax">()];
675 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">link </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">link.href</span><span class="jsdoc-syntax">) {
676 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.charAt</span><span class="jsdoc-syntax">(0);
677 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.substring</span><span class="jsdoc-syntax">(1) + </span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">;
678 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
680 </span><span class="jsdoc-var">this.inLink </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
681 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.outputLink</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">link</span><span class="jsdoc-syntax">);
682 </span><span class="jsdoc-var">this.inLink </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
683 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
686 </span><span class="jsdoc-comment">// strong
687 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.strong.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
688 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
689 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.renderer.strong</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.output</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2] || </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]));
690 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
693 </span><span class="jsdoc-comment">// em
694 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.em.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
695 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
696 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.renderer.em</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.output</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2] || </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]));
697 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
700 </span><span class="jsdoc-comment">// code
701 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.code.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
702 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
703 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.renderer.codespan</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[2], </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">));
704 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
707 </span><span class="jsdoc-comment">// br
708 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.br.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
709 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
710 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.renderer.br</span><span class="jsdoc-syntax">();
711 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
714 </span><span class="jsdoc-comment">// del (gfm)
715 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.del.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
716 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
717 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.renderer.del</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.output</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]));
718 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
721 </span><span class="jsdoc-comment">// text
722 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.rules.text.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">)) {
723 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">);
724 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.renderer.text</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.smartypants</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0])));
725 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
728 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">) {
729 </span><span class="jsdoc-keyword">throw new
730 </span><span class="jsdoc-var">Error</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'Infinite loop on byte: ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">src.charCodeAt</span><span class="jsdoc-syntax">(0));
734 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">out</span><span class="jsdoc-syntax">;
737 </span><span class="jsdoc-comment">/**
741 </span><span class="jsdoc-var">InlineLexer.prototype.outputLink </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">link</span><span class="jsdoc-syntax">) {
742 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">href </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">link.href</span><span class="jsdoc-syntax">)
743 , </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">link.title </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">link.title</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
745 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.charAt</span><span class="jsdoc-syntax">(0) !== </span><span class="jsdoc-string">'!'
746 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.renderer.link</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.output</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]))
747 : </span><span class="jsdoc-var">this.renderer.image</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cap</span><span class="jsdoc-syntax">[1]));
750 </span><span class="jsdoc-comment">/**
751 * Smartypants Transformations
754 </span><span class="jsdoc-var">InlineLexer.prototype.smartypants </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
755 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.options.smartypants</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">; }
756 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">text
757 </span><span class="jsdoc-comment">// em-dashes
758 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/---/g, </span><span class="jsdoc-string">'\u2014'</span><span class="jsdoc-syntax">)
759 </span><span class="jsdoc-comment">// en-dashes
760 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/--/g, </span><span class="jsdoc-string">'\u2013'</span><span class="jsdoc-syntax">)
761 </span><span class="jsdoc-comment">// opening singles
762 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/(^|[-\u2014/(\[{"\s])'/g, </span><span class="jsdoc-string">'$1\u2018'</span><span class="jsdoc-syntax">)
763 </span><span class="jsdoc-comment">// closing singles & apostrophes
764 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/'/g, </span><span class="jsdoc-string">'\u2019'</span><span class="jsdoc-syntax">)
765 </span><span class="jsdoc-comment">// opening doubles
766 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/(^|[-\u2014/(\[{\u2018\s])"/g, </span><span class="jsdoc-string">'$1\u201c'</span><span class="jsdoc-syntax">)
767 </span><span class="jsdoc-comment">// closing doubles
768 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/"/g, </span><span class="jsdoc-string">'\u201d'</span><span class="jsdoc-syntax">)
769 </span><span class="jsdoc-comment">// ellipses
770 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/\.{3}/g, </span><span class="jsdoc-string">'\u2026'</span><span class="jsdoc-syntax">);
773 </span><span class="jsdoc-comment">/**
777 </span><span class="jsdoc-var">InlineLexer.prototype.mangle </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
778 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.options.mangle</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">; }
779 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''
780 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">text.length
781 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0
782 , </span><span class="jsdoc-var">ch</span><span class="jsdoc-syntax">;
784 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
785 </span><span class="jsdoc-var">ch </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">text.charCodeAt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
786 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Math.random</span><span class="jsdoc-syntax">() > 0.5) {
787 </span><span class="jsdoc-var">ch </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'x' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">ch.toString</span><span class="jsdoc-syntax">(16);
789 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">'&#' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">ch </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">';'</span><span class="jsdoc-syntax">;
792 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">out</span><span class="jsdoc-syntax">;
795 </span><span class="jsdoc-comment">/**
799 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">Renderer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
800 </span><span class="jsdoc-var">this.options </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">options </span><span class="jsdoc-syntax">|| {};
803 </span><span class="jsdoc-var">Renderer.prototype.code </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">code</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lang</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">escaped</span><span class="jsdoc-syntax">) {
804 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.options.highlight</span><span class="jsdoc-syntax">) {
805 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.options.highlight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">code</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lang</span><span class="jsdoc-syntax">);
806 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-keyword">null </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">code</span><span class="jsdoc-syntax">) {
807 </span><span class="jsdoc-var">escaped </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
808 </span><span class="jsdoc-var">code </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">out</span><span class="jsdoc-syntax">;
810 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
811 </span><span class="jsdoc-comment">// hack!!! - it's already escapeD?
812 </span><span class="jsdoc-var">escaped </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
815 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">lang</span><span class="jsdoc-syntax">) {
816 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<pre><code>'
817 </span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">escaped </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">code </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">code</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">))
818 + </span><span class="jsdoc-string">'\n</code></pre>'</span><span class="jsdoc-syntax">;
821 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<pre><code class="'
822 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.options.langPrefix
823 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lang</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)
824 + </span><span class="jsdoc-string">'">'
825 </span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">escaped </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">code </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">code</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">))
826 + </span><span class="jsdoc-string">'\n</code></pre>\n'</span><span class="jsdoc-syntax">;
829 </span><span class="jsdoc-var">Renderer.prototype.blockquote </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">quote</span><span class="jsdoc-syntax">) {
830 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<blockquote>\n' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">quote </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</blockquote>\n'</span><span class="jsdoc-syntax">;
833 </span><span class="jsdoc-var">Renderer.prototype.html </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">) {
834 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">;
837 </span><span class="jsdoc-var">Renderer.prototype.heading </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">level</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">raw</span><span class="jsdoc-syntax">) {
838 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<h'
839 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">level
840 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">' id="'
841 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.options.headerPrefix
842 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">raw.toLowerCase</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/[^\w]+/g, </span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">)
843 + </span><span class="jsdoc-string">'">'
844 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">text
845 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</h'
846 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">level
847 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'>\n'</span><span class="jsdoc-syntax">;
850 </span><span class="jsdoc-var">Renderer.prototype.hr </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
851 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.options.xhtml </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'<hr/>\n' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'<hr>\n'</span><span class="jsdoc-syntax">;
854 </span><span class="jsdoc-var">Renderer.prototype.list </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">body</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ordered</span><span class="jsdoc-syntax">) {
855 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ordered </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'ol' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'ul'</span><span class="jsdoc-syntax">;
856 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'>\n' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'>\n'</span><span class="jsdoc-syntax">;
859 </span><span class="jsdoc-var">Renderer.prototype.listitem </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
860 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<li>' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</li>\n'</span><span class="jsdoc-syntax">;
863 </span><span class="jsdoc-var">Renderer.prototype.paragraph </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
864 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<p>' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</p>\n'</span><span class="jsdoc-syntax">;
867 </span><span class="jsdoc-var">Renderer.prototype.table </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">body</span><span class="jsdoc-syntax">) {
868 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<table class="table table-striped">\n'
869 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'<thead>\n'
870 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">header
871 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</thead>\n'
872 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'<tbody>\n'
873 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">body
874 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</tbody>\n'
875 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</table>\n'</span><span class="jsdoc-syntax">;
878 </span><span class="jsdoc-var">Renderer.prototype.tablerow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">content</span><span class="jsdoc-syntax">) {
879 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<tr>\n' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">content </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</tr>\n'</span><span class="jsdoc-syntax">;
882 </span><span class="jsdoc-var">Renderer.prototype.tablecell </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">content</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">flags</span><span class="jsdoc-syntax">) {
883 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">flags.header </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'th' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'td'</span><span class="jsdoc-syntax">;
884 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">flags.align
885 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'<' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">' style="text-align:' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">flags.align </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'">'
886 </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'<' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'>'</span><span class="jsdoc-syntax">;
887 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">content </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'>\n'</span><span class="jsdoc-syntax">;
890 </span><span class="jsdoc-comment">// span level renderer
891 </span><span class="jsdoc-var">Renderer.prototype.strong </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
892 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<strong>' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</strong>'</span><span class="jsdoc-syntax">;
895 </span><span class="jsdoc-var">Renderer.prototype.em </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
896 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<em>' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</em>'</span><span class="jsdoc-syntax">;
899 </span><span class="jsdoc-var">Renderer.prototype.codespan </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
900 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<code>' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</code>'</span><span class="jsdoc-syntax">;
903 </span><span class="jsdoc-var">Renderer.prototype.br </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
904 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.options.xhtml </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'<br/>' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'<br>'</span><span class="jsdoc-syntax">;
907 </span><span class="jsdoc-var">Renderer.prototype.del </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
908 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<del>' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</del>'</span><span class="jsdoc-syntax">;
911 </span><span class="jsdoc-var">Renderer.prototype.link </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
912 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.options.sanitize</span><span class="jsdoc-syntax">) {
913 </span><span class="jsdoc-keyword">try </span><span class="jsdoc-syntax">{
914 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">prot </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">decodeURIComponent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">unescape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">))
915 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/[^\w:]/g, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)
916 </span><span class="jsdoc-var">.toLowerCase</span><span class="jsdoc-syntax">();
917 } </span><span class="jsdoc-keyword">catch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
918 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
920 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prot.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'javascript:'</span><span class="jsdoc-syntax">) === 0 || </span><span class="jsdoc-var">prot.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'vbscript:'</span><span class="jsdoc-syntax">) === 0) {
921 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
924 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'<a href="' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">href </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'"'</span><span class="jsdoc-syntax">;
925 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">) {
926 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' title="' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'"'</span><span class="jsdoc-syntax">;
928 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">'>' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</a>'</span><span class="jsdoc-syntax">;
929 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">out</span><span class="jsdoc-syntax">;
932 </span><span class="jsdoc-var">Renderer.prototype.image </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
933 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'<img src="' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">href </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'" alt="' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'"'</span><span class="jsdoc-syntax">;
934 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">) {
935 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' title="' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'"'</span><span class="jsdoc-syntax">;
937 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.options.xhtml </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'/>' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'>'</span><span class="jsdoc-syntax">;
938 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">out</span><span class="jsdoc-syntax">;
941 </span><span class="jsdoc-var">Renderer.prototype.text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
942 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">;
945 </span><span class="jsdoc-comment">/**
946 * Parsing & Compiling
949 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">Parser </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
950 </span><span class="jsdoc-var">this.tokens </span><span class="jsdoc-syntax">= [];
951 </span><span class="jsdoc-var">this.token </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
952 </span><span class="jsdoc-var">this.options </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">options </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">marked.defaults</span><span class="jsdoc-syntax">;
953 </span><span class="jsdoc-var">this.options.renderer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.options.renderer </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Renderer</span><span class="jsdoc-syntax">;
954 </span><span class="jsdoc-var">this.renderer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.options.renderer</span><span class="jsdoc-syntax">;
955 </span><span class="jsdoc-var">this.renderer.options </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.options</span><span class="jsdoc-syntax">;
958 </span><span class="jsdoc-comment">/**
959 * Static Parse Method
962 </span><span class="jsdoc-var">Parser.parse </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">renderer</span><span class="jsdoc-syntax">) {
963 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">parser </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Parser</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">renderer</span><span class="jsdoc-syntax">);
964 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">parser.parse</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">);
967 </span><span class="jsdoc-comment">/**
971 </span><span class="jsdoc-var">Parser.prototype.parse </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">) {
972 </span><span class="jsdoc-var">this.inline </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">InlineLexer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src.links</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.options</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.renderer</span><span class="jsdoc-syntax">);
973 </span><span class="jsdoc-var">this.tokens </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">src.reverse</span><span class="jsdoc-syntax">();
975 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
976 </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.next</span><span class="jsdoc-syntax">()) {
977 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.tok</span><span class="jsdoc-syntax">();
980 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">out</span><span class="jsdoc-syntax">;
983 </span><span class="jsdoc-comment">/**
987 </span><span class="jsdoc-var">Parser.prototype.next </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
988 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.token </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.tokens.pop</span><span class="jsdoc-syntax">();
991 </span><span class="jsdoc-comment">/**
995 </span><span class="jsdoc-var">Parser.prototype.peek </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
996 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.tokens</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.tokens.length </span><span class="jsdoc-syntax">- 1] || 0;
999 </span><span class="jsdoc-comment">/**
1003 </span><span class="jsdoc-var">Parser.prototype.parseText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
1004 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.token.text</span><span class="jsdoc-syntax">;
1006 </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.peek</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.type </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'text'</span><span class="jsdoc-syntax">) {
1007 </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">'\n' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.next</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.text</span><span class="jsdoc-syntax">;
1010 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.inline.output</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">body</span><span class="jsdoc-syntax">);
1013 </span><span class="jsdoc-comment">/**
1014 * Parse Current Token
1017 </span><span class="jsdoc-var">Parser.prototype.tok </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
1018 </span><span class="jsdoc-keyword">switch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.token.type</span><span class="jsdoc-syntax">) {
1019 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'space'</span><span class="jsdoc-syntax">: {
1020 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1022 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'hr'</span><span class="jsdoc-syntax">: {
1023 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.renderer.hr</span><span class="jsdoc-syntax">();
1025 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'heading'</span><span class="jsdoc-syntax">: {
1026 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.renderer.heading</span><span class="jsdoc-syntax">(
1027 </span><span class="jsdoc-var">this.inline.output</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.token.text</span><span class="jsdoc-syntax">),
1028 </span><span class="jsdoc-var">this.token.depth</span><span class="jsdoc-syntax">,
1029 </span><span class="jsdoc-var">this.token.text</span><span class="jsdoc-syntax">);
1031 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'code'</span><span class="jsdoc-syntax">: {
1032 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.renderer.code</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.token.text</span><span class="jsdoc-syntax">,
1033 </span><span class="jsdoc-var">this.token.lang</span><span class="jsdoc-syntax">,
1034 </span><span class="jsdoc-var">this.token.escaped</span><span class="jsdoc-syntax">);
1036 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'table'</span><span class="jsdoc-syntax">: {
1037 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">header </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''
1038 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''
1039 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i
1040 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">row
1041 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cell
1042 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">flags
1043 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">;
1045 </span><span class="jsdoc-comment">// header
1046 </span><span class="jsdoc-var">cell </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1047 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">this.token.header.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
1048 </span><span class="jsdoc-var">flags </span><span class="jsdoc-syntax">= { </span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.token.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] };
1049 </span><span class="jsdoc-var">cell </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.renderer.tablecell</span><span class="jsdoc-syntax">(
1050 </span><span class="jsdoc-var">this.inline.output</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.token.header</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]),
1051 { </span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.token.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] }
1054 </span><span class="jsdoc-var">header </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.renderer.tablerow</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cell</span><span class="jsdoc-syntax">);
1056 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">this.token.cells.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
1057 </span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.token.cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
1059 </span><span class="jsdoc-var">cell </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1060 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">row.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">++) {
1061 </span><span class="jsdoc-var">cell </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.renderer.tablecell</span><span class="jsdoc-syntax">(
1062 </span><span class="jsdoc-var">this.inline.output</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">]),
1063 { </span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.token.align</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">] }
1067 </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.renderer.tablerow</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cell</span><span class="jsdoc-syntax">);
1069 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.renderer.table</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">body</span><span class="jsdoc-syntax">);
1071 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'blockquote_start'</span><span class="jsdoc-syntax">: {
1072 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1074 </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.next</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.type </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-string">'blockquote_end'</span><span class="jsdoc-syntax">) {
1075 </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.tok</span><span class="jsdoc-syntax">();
1078 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.renderer.blockquote</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">body</span><span class="jsdoc-syntax">);
1080 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'list_start'</span><span class="jsdoc-syntax">: {
1081 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''
1082 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ordered </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.token.ordered</span><span class="jsdoc-syntax">;
1084 </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.next</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.type </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-string">'list_end'</span><span class="jsdoc-syntax">) {
1085 </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.tok</span><span class="jsdoc-syntax">();
1088 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.renderer.list</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">body</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ordered</span><span class="jsdoc-syntax">);
1090 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'list_item_start'</span><span class="jsdoc-syntax">: {
1091 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1093 </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.next</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.type </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-string">'list_item_end'</span><span class="jsdoc-syntax">) {
1094 </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.token.type </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'text'
1095 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">()
1096 : </span><span class="jsdoc-var">this.tok</span><span class="jsdoc-syntax">();
1099 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.renderer.listitem</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">body</span><span class="jsdoc-syntax">);
1101 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'loose_item_start'</span><span class="jsdoc-syntax">: {
1102 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1104 </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.next</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.type </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-string">'list_item_end'</span><span class="jsdoc-syntax">) {
1105 </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.tok</span><span class="jsdoc-syntax">();
1108 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.renderer.listitem</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">body</span><span class="jsdoc-syntax">);
1110 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'html'</span><span class="jsdoc-syntax">: {
1111 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">= !</span><span class="jsdoc-var">this.token.pre </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">this.options.pedantic
1112 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.inline.output</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.token.text</span><span class="jsdoc-syntax">)
1113 : </span><span class="jsdoc-var">this.token.text</span><span class="jsdoc-syntax">;
1114 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.renderer.html</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">);
1116 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'paragraph'</span><span class="jsdoc-syntax">: {
1117 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.renderer.paragraph</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inline.output</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.token.text</span><span class="jsdoc-syntax">));
1119 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'text'</span><span class="jsdoc-syntax">: {
1120 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.renderer.paragraph</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">());
1125 </span><span class="jsdoc-comment">/**
1129 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">escape </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">encode</span><span class="jsdoc-syntax">) {
1130 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">html
1131 .replace</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">encode </span><span class="jsdoc-syntax">? /&(?!#?\w+;)/g : /&/g, </span><span class="jsdoc-string">'&amp;'</span><span class="jsdoc-syntax">)
1132 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/</g, </span><span class="jsdoc-string">'&lt;'</span><span class="jsdoc-syntax">)
1133 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/>/g, </span><span class="jsdoc-string">'&gt;'</span><span class="jsdoc-syntax">)
1134 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/"/g, </span><span class="jsdoc-string">'&quot;'</span><span class="jsdoc-syntax">)
1135 </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/'/g, </span><span class="jsdoc-string">'&#39;'</span><span class="jsdoc-syntax">);
1138 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">unescape </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">) {
1139 </span><span class="jsdoc-comment">// explicitly match decimal, hex, and named HTML entities
1140 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">html.replace</span><span class="jsdoc-syntax">(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">) {
1141 </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.toLowerCase</span><span class="jsdoc-syntax">();
1142 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'colon'</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">':'</span><span class="jsdoc-syntax">; }
1143 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.charAt</span><span class="jsdoc-syntax">(0) === </span><span class="jsdoc-string">'#'</span><span class="jsdoc-syntax">) {
1144 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">n.charAt</span><span class="jsdoc-syntax">(1) === </span><span class="jsdoc-string">'x'
1145 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">String.fromCharCode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.substring</span><span class="jsdoc-syntax">(2), 16))
1146 : </span><span class="jsdoc-var">String.fromCharCode</span><span class="jsdoc-syntax">(+</span><span class="jsdoc-var">n.substring</span><span class="jsdoc-syntax">(1));
1148 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1152 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">replace </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">regex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">) {
1153 </span><span class="jsdoc-var">regex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">regex.source</span><span class="jsdoc-syntax">;
1154 </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1155 </span><span class="jsdoc-keyword">return function </span><span class="jsdoc-var">self</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">) {
1156 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">RegExp</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">regex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">); }
1157 </span><span class="jsdoc-var">val </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">val.source </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">;
1158 </span><span class="jsdoc-var">val </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">val.replace</span><span class="jsdoc-syntax">(/(^|[^\[])\^/g, </span><span class="jsdoc-string">'$1'</span><span class="jsdoc-syntax">);
1159 </span><span class="jsdoc-var">regex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">regex.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">);
1160 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">self</span><span class="jsdoc-syntax">;
1164 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">noop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">() {}
1165 </span><span class="jsdoc-var">noop.exec </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">noop</span><span class="jsdoc-syntax">;
1167 </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">merge</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">) {
1168 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 1
1169 , </span><span class="jsdoc-var">target
1170 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">;
1172 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">arguments.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
1173 </span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
1174 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">key </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">) {
1175 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Object.prototype.hasOwnProperty.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">)) {
1176 </span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">];
1181 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">;
1185 </span><span class="jsdoc-comment">/**
1189 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">marked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">) {
1190 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'function'</span><span class="jsdoc-syntax">) {
1191 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">) {
1192 </span><span class="jsdoc-var">callback </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">;
1193 </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
1196 </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">merge</span><span class="jsdoc-syntax">({}, </span><span class="jsdoc-var">marked.defaults</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">|| {});
1198 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">highlight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">opt.highlight
1199 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">tokens
1200 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">pending
1201 </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0;
1203 </span><span class="jsdoc-keyword">try </span><span class="jsdoc-syntax">{
1204 </span><span class="jsdoc-var">tokens </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Lexer.lex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">)
1205 } </span><span class="jsdoc-keyword">catch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
1206 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
1209 </span><span class="jsdoc-var">pending </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tokens.length</span><span class="jsdoc-syntax">;
1211 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">done </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">err</span><span class="jsdoc-syntax">) {
1212 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">err</span><span class="jsdoc-syntax">) {
1213 </span><span class="jsdoc-var">opt.highlight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">highlight</span><span class="jsdoc-syntax">;
1214 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">err</span><span class="jsdoc-syntax">);
1217 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">out</span><span class="jsdoc-syntax">;
1219 </span><span class="jsdoc-keyword">try </span><span class="jsdoc-syntax">{
1220 </span><span class="jsdoc-var">out </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Parser.parse</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tokens</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">);
1221 } </span><span class="jsdoc-keyword">catch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
1222 </span><span class="jsdoc-var">err </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">;
1225 </span><span class="jsdoc-var">opt.highlight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">highlight</span><span class="jsdoc-syntax">;
1227 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">err
1228 </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">err</span><span class="jsdoc-syntax">)
1229 : </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">out</span><span class="jsdoc-syntax">);
1232 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">highlight </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">highlight.length </span><span class="jsdoc-syntax">< 3) {
1233 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">done</span><span class="jsdoc-syntax">();
1236 </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">opt.highlight</span><span class="jsdoc-syntax">;
1238 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">pending</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">done</span><span class="jsdoc-syntax">(); }
1240 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">tokens.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
1241 (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">token</span><span class="jsdoc-syntax">) {
1242 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">token.type </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-string">'code'</span><span class="jsdoc-syntax">) {
1243 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">--</span><span class="jsdoc-var">pending </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">done</span><span class="jsdoc-syntax">();
1245 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">highlight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">token.text</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">token.lang</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">err</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">code</span><span class="jsdoc-syntax">) {
1246 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">err</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">done</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">err</span><span class="jsdoc-syntax">); }
1247 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">code </span><span class="jsdoc-syntax">== </span><span class="jsdoc-keyword">null </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">code </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">token.text</span><span class="jsdoc-syntax">) {
1248 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">--</span><span class="jsdoc-var">pending </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">done</span><span class="jsdoc-syntax">();
1250 </span><span class="jsdoc-var">token.text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">code</span><span class="jsdoc-syntax">;
1251 </span><span class="jsdoc-var">token.escaped </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
1252 --</span><span class="jsdoc-var">pending </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">done</span><span class="jsdoc-syntax">();
1254 })(</span><span class="jsdoc-var">tokens</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
1257 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1259 </span><span class="jsdoc-keyword">try </span><span class="jsdoc-syntax">{
1260 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">merge</span><span class="jsdoc-syntax">({}, </span><span class="jsdoc-var">marked.defaults</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">); }
1261 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Parser.parse</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Lexer.lex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">);
1262 } </span><span class="jsdoc-keyword">catch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
1263 </span><span class="jsdoc-var">e.message </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">'\nPlease report this to https://github.com/chjj/marked.'</span><span class="jsdoc-syntax">;
1264 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">marked.defaults</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.silent</span><span class="jsdoc-syntax">) {
1265 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'<p>An error occured:</p><pre>'
1266 </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">escape</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.message </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)
1267 + </span><span class="jsdoc-string">'</pre>'</span><span class="jsdoc-syntax">;
1269 </span><span class="jsdoc-keyword">throw </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">;
1273 </span><span class="jsdoc-comment">/**
1277 </span><span class="jsdoc-var">marked.options </span><span class="jsdoc-syntax">=
1278 </span><span class="jsdoc-var">marked.setOptions </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">) {
1279 </span><span class="jsdoc-var">merge</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">marked.defaults</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">);
1280 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">marked</span><span class="jsdoc-syntax">;
1283 </span><span class="jsdoc-var">marked.defaults </span><span class="jsdoc-syntax">= {
1284 </span><span class="jsdoc-var">gfm</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
1285 </span><span class="jsdoc-var">tables</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
1286 </span><span class="jsdoc-var">breaks</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
1287 </span><span class="jsdoc-var">pedantic</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
1288 </span><span class="jsdoc-var">sanitize</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
1289 </span><span class="jsdoc-var">sanitizer</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
1290 </span><span class="jsdoc-var">mangle</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
1291 </span><span class="jsdoc-var">smartLists</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
1292 </span><span class="jsdoc-var">silent</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
1293 </span><span class="jsdoc-var">highlight</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
1294 </span><span class="jsdoc-var">langPrefix</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'lang-'</span><span class="jsdoc-syntax">,
1295 </span><span class="jsdoc-var">smartypants</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
1296 </span><span class="jsdoc-var">headerPrefix</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
1297 </span><span class="jsdoc-var">renderer</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Renderer</span><span class="jsdoc-syntax">,
1298 </span><span class="jsdoc-var">xhtml</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false
1299 </span><span class="jsdoc-syntax">};
1301 </span><span class="jsdoc-comment">/**
1305 </span><span class="jsdoc-var">marked.Parser </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Parser</span><span class="jsdoc-syntax">;
1306 </span><span class="jsdoc-var">marked.parser </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Parser.parse</span><span class="jsdoc-syntax">;
1308 </span><span class="jsdoc-var">marked.Renderer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Renderer</span><span class="jsdoc-syntax">;
1310 </span><span class="jsdoc-var">marked.Lexer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Lexer</span><span class="jsdoc-syntax">;
1311 </span><span class="jsdoc-var">marked.lexer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Lexer.lex</span><span class="jsdoc-syntax">;
1313 </span><span class="jsdoc-var">marked.InlineLexer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">InlineLexer</span><span class="jsdoc-syntax">;
1314 </span><span class="jsdoc-var">marked.inlineLexer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">InlineLexer.output</span><span class="jsdoc-syntax">;
1316 </span><span class="jsdoc-var">marked.parse </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">marked</span><span class="jsdoc-syntax">;
1318 </span><span class="jsdoc-var">Roo.Markdown.marked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">marked</span><span class="jsdoc-syntax">;
1320 })();</span></code></body></html>