├── .eslintignore ├── .eslintrc.yml ├── .gitignore ├── .npmignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── Makefile ├── README.md ├── bower.json ├── dist ├── markdown-it-hashtag.js └── markdown-it-hashtag.min.js ├── index.js ├── package.json └── test ├── .eslintrc ├── commonmark.js ├── fixtures ├── hashtag │ ├── default.txt │ └── options.txt └── vendor │ ├── LICENSE │ ├── commonmark │ ├── bad.txt │ ├── good.txt │ ├── hashtag_bad.txt │ └── spec.txt │ └── markdown-it │ ├── commonmark_extras.txt │ ├── fatal.txt │ ├── linkify.txt │ ├── normalize.txt │ ├── proto.txt │ ├── smartquotes.txt │ ├── strikethrough.txt │ ├── tables.txt │ ├── typographer.txt │ └── xss.txt ├── hashtag.js └── markdown-it.js /.eslintignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | dist/ 3 | node_modules 4 | -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | env: 2 | node: true 3 | browser: false 4 | 5 | rules: 6 | accessor-pairs: 2 7 | array-bracket-spacing: [ 2, "always", { "singleValue": true, "objectsInArrays": true, "arraysInArrays": true } ] 8 | block-scoped-var: 2 9 | block-spacing: 2 10 | brace-style: [ 2, '1tbs', { allowSingleLine: true } ] 11 | # Postponed 12 | #callback-return: 2 13 | comma-dangle: 2 14 | comma-spacing: 2 15 | comma-style: 2 16 | computed-property-spacing: [ 2, never ] 17 | consistent-this: [ 2, self ] 18 | consistent-return: 2 19 | # ? change to multi 20 | curly: [ 2, 'multi-line' ] 21 | dot-notation: 2 22 | eol-last: 2 23 | eqeqeq: 2 24 | func-style: [ 2, declaration ] 25 | # Postponed 26 | #global-require: 2 27 | guard-for-in: 2 28 | handle-callback-err: 2 29 | 30 | indent: [ 2, 2, { VariableDeclarator: { var: 2, let: 2, const: 3 }, SwitchCase: 1 } ] 31 | 32 | # key-spacing: [ 2, { "align": "value" } ] 33 | keyword-spacing: 2 34 | linebreak-style: 2 35 | max-depth: [ 1, 6 ] 36 | max-nested-callbacks: [ 1, 4 ] 37 | # string can exceed 80 chars, but should not overflow github website :) 38 | max-len: [ 2, 120, 1000 ] 39 | new-cap: 2 40 | new-parens: 2 41 | # Postponed 42 | #newline-after-var: 2 43 | no-alert: 2 44 | no-array-constructor: 2 45 | no-bitwise: 2 46 | no-caller: 2 47 | #no-case-declarations: 2 48 | no-catch-shadow: 2 49 | no-cond-assign: 2 50 | no-console: 1 51 | no-constant-condition: 2 52 | no-control-regex: 2 53 | no-debugger: 2 54 | no-delete-var: 2 55 | no-div-regex: 2 56 | no-dupe-args: 2 57 | no-dupe-keys: 2 58 | no-duplicate-case: 2 59 | no-else-return: 2 60 | # Tend to drop 61 | # no-empty: 1 62 | no-empty-character-class: 2 63 | no-empty-pattern: 2 64 | no-eq-null: 2 65 | no-eval: 2 66 | no-ex-assign: 2 67 | no-extend-native: 2 68 | no-extra-bind: 2 69 | no-extra-boolean-cast: 2 70 | no-extra-semi: 2 71 | no-fallthrough: 2 72 | no-floating-decimal: 2 73 | no-func-assign: 2 74 | # Postponed 75 | #no-implicit-coercion: [2, { "boolean": true, "number": true, "string": true } ] 76 | no-implied-eval: 2 77 | no-inner-declarations: 2 78 | no-invalid-regexp: 2 79 | no-irregular-whitespace: 2 80 | no-iterator: 2 81 | no-label-var: 2 82 | no-labels: 2 83 | no-lone-blocks: 2 84 | no-lonely-if: 2 85 | no-loop-func: 2 86 | no-mixed-requires: 2 87 | no-mixed-spaces-and-tabs: 2 88 | # Postponed 89 | #no-native-reassign: 2 90 | no-negated-in-lhs: 2 91 | # Postponed 92 | #no-nested-ternary: 2 93 | no-new: 2 94 | no-new-func: 2 95 | no-new-object: 2 96 | no-new-require: 2 97 | no-new-wrappers: 2 98 | no-obj-calls: 2 99 | no-octal: 2 100 | no-octal-escape: 2 101 | no-path-concat: 2 102 | no-proto: 2 103 | no-redeclare: 2 104 | # Postponed 105 | #no-regex-spaces: 2 106 | no-return-assign: 2 107 | no-self-compare: 2 108 | no-sequences: 2 109 | no-shadow: 2 110 | no-shadow-restricted-names: 2 111 | no-sparse-arrays: 2 112 | no-trailing-spaces: 2 113 | no-undef: 2 114 | no-undef-init: 2 115 | no-undefined: 2 116 | no-unexpected-multiline: 2 117 | no-unreachable: 2 118 | no-unused-expressions: 2 119 | no-unused-vars: 2 120 | no-use-before-define: 2 121 | no-void: 2 122 | no-with: 2 123 | object-curly-spacing: [ 2, always, { "objectsInObjects": true, "arraysInObjects": true } ] 124 | operator-assignment: 1 125 | # Postponed 126 | #operator-linebreak: [ 2, after ] 127 | semi: 2 128 | semi-spacing: 2 129 | space-before-function-paren: [ 2, { "anonymous": "always", "named": "never" } ] 130 | space-in-parens: [ 2, never ] 131 | space-infix-ops: 2 132 | space-unary-ops: 2 133 | # Postponed 134 | #spaced-comment: [ 1, always, { exceptions: [ '/', '=' ] } ] 135 | strict: [ 2, global ] 136 | quotes: [ 2, single, avoid-escape ] 137 | quote-props: [ 1, 'as-needed', { "keywords": true } ] 138 | radix: 2 139 | use-isnan: 2 140 | valid-typeof: 2 141 | yoda: [ 2, never, { "exceptRange": true } ] 142 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | coverage/ 3 | *.log 4 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | support/ 3 | test/ 4 | Makefile 5 | .* 6 | *.log 7 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '0.10' 4 | script: make test-ci 5 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 0.4.0 2 | 3 | * Use markdown-it 5 4 | 5 | # 0.3.1 6 | 7 | * When words recur only render those that are hashtags and have the correct preceding characters 8 | 9 | # 0.3.0 10 | 11 | * Use markdown-it 4 12 | 13 | # 0.2.3 14 | 15 | * When words recur only render those that are hashtags 16 | 17 | # 0.2.2 18 | 19 | * Move the class attribute to the end 20 | * Escape html in the tag 21 | * Bump markdown-it 22 | 23 | # 0.2.1 24 | 25 | * Update files in /dist 26 | 27 | # 0.2.0 28 | 29 | * Rewrite to prevent hashtags being rendered inside of link texts 30 | * Add more specs 31 | 32 | # 0.1.0 33 | 34 | * Initial release 35 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Steffen van Bergerem 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | PATH := ./node_modules/.bin:${PATH} 2 | 3 | NPM_PACKAGE := $(shell node -e 'process.stdout.write(require("./package.json").name)') 4 | NPM_VERSION := $(shell node -e 'process.stdout.write(require("./package.json").version)') 5 | 6 | TMP_PATH := /tmp/${NPM_PACKAGE}-$(shell date +%s) 7 | 8 | REMOTE_NAME ?= origin 9 | REMOTE_REPO ?= $(shell git config --get remote.${REMOTE_NAME}.url) 10 | 11 | CURR_HEAD := $(firstword $(shell git show-ref --hash HEAD | cut -b -6) master) 12 | GITHUB_PROJ := https://github.com/svbergerem/${NPM_PACKAGE} 13 | 14 | 15 | lint: 16 | eslint . 17 | 18 | test: lint 19 | mocha -R spec --inline-diffs 20 | 21 | coverage: 22 | rm -rf coverage 23 | istanbul cover node_modules/.bin/_mocha 24 | 25 | test-ci: lint 26 | istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage 27 | 28 | browserify: 29 | rm -rf ./dist 30 | mkdir dist 31 | # Browserify 32 | ( printf "/*! ${NPM_PACKAGE} ${NPM_VERSION} ${GITHUB_PROJ} @license MIT */" ; \ 33 | browserify ./ -s markdownitHashtag \ 34 | ) > dist/markdown-it-hashtag.js 35 | # Minify 36 | uglifyjs dist/markdown-it-hashtag.js -b beautify=false,ascii-only=true -c -m \ 37 | --preamble "/*! ${NPM_PACKAGE} ${NPM_VERSION} ${GITHUB_PROJ} @license MIT */" \ 38 | > dist/markdown-it-hashtag.min.js 39 | 40 | release: coverage browserify 41 | 42 | .PHONY: lint test coverage 43 | .SILENT: lint test 44 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # markdown-it-hashtag 2 | 3 | [![Build Status](https://img.shields.io/travis/svbergerem/markdown-it-hashtag/master.svg?style=flat)](https://travis-ci.org/svbergerem/markdown-it-hashtag) 4 | [![Coverage Status](https://img.shields.io/coveralls/svbergerem/markdown-it-hashtag/master.svg?style=flat)](https://coveralls.io/r/svbergerem/markdown-it-hashtag?branch=master) 5 | [![npm version](https://img.shields.io/npm/v/markdown-it-hashtag.svg?style=flat)](https://npmjs.com/package/markdown-it-hashtag) 6 | 7 | > hashtag (`#tag`) plugin for [markdown-it](https://github.com/markdown-it/markdown-it) markdown parser. 8 | 9 | `#hashtag` => `#hashtag` 10 | 11 | ## Install 12 | 13 | node.js, bower: 14 | 15 | ```bash 16 | npm install markdown-it-hashtag --save 17 | bower install markdown-it-hashtag --save 18 | ``` 19 | 20 | ## Use 21 | 22 | #### Basic 23 | 24 | ```js 25 | var md = require('markdown-it')() 26 | .use(require('markdown-it-hashtag')); 27 | 28 | md.render('#hashtag'); // => '

#hashtag

' 29 | ``` 30 | 31 | _Differences in browser._ If you load the script directly into the page, without 32 | package system, module will add itself globally as `window.markdownitHashtag`. 33 | 34 | #### Advanced 35 | 36 | You can specify the RegExp for hashtags and specify the allowed preceding content. You can also 37 | modify the output of the renderer. Here is an example with default values: 38 | 39 | ```js 40 | var md = require('markdown-it')() 41 | .use(require('markdown-it-hashtag'),{ 42 | // pattern for hashtags with normal string escape rules 43 | hashtagRegExp: '\\w+', 44 | // pattern for allowed preceding content 45 | preceding: '^|\\s' 46 | }); 47 | 48 | md.renderer.rules.hashtag_open = function(tokens, idx) { 49 | var tagName = tokens[idx].content.toLowerCase(); 50 | return ''; 51 | } 52 | 53 | md.renderer.rules.hashtag_text = function(tokens, idx) { 54 | return '#' + tokens[idx].content; 55 | } 56 | 57 | md.renderer.rules.hashtag_close = function { return ''; } 58 | 59 | md.render('#hashtag'); // => '

#hashtag

' 60 | ``` 61 | 62 | ## License 63 | 64 | [MIT](https://github.com/svbergerem/markdown-it-hashtag/blob/master/LICENSE) 65 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "markdown-it-hashtag", 3 | "main": "dist/markdown-it-hashtag.js", 4 | "version": "0.4.0", 5 | "description": "hashtag for markdown-it markdown parser", 6 | "keywords": [ 7 | "markdown-it-plugin", 8 | "markdown-it", 9 | "markdown", 10 | "hashtag", 11 | "tag" 12 | ], 13 | "license": "MIT", 14 | "homepage": "https://github.com/svbergerem/markdown-it-hashtag", 15 | "ignore": [ 16 | "**/.*", 17 | "benchmark", 18 | "bower_components", 19 | "coverage", 20 | "demo", 21 | "docs", 22 | "lib", 23 | "node_modules", 24 | "support", 25 | "test", 26 | "Makefile", 27 | "index*" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /dist/markdown-it-hashtag.js: -------------------------------------------------------------------------------- 1 | /*! markdown-it-hashtag 0.4.0 https://github.com/svbergerem/markdown-it-hashtag @license MIT */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.markdownitHashtag = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o'; 12 | } 13 | 14 | function hashtag_close() { return ''; } 15 | 16 | function hashtag_text(tokens, idx) { 17 | return '#' + tokens[idx].content; 18 | } 19 | 20 | ////////////////////////////////////////////////////////////////////////// 21 | 22 | function isLinkOpen(str) { return /^\s]/i.test(str); } 23 | function isLinkClose(str) { return /^<\/a\s*>/i.test(str); } 24 | 25 | module.exports = function hashtag_plugin(md, options) { 26 | 27 | var arrayReplaceAt = md.utils.arrayReplaceAt, 28 | escapeHtml = md.utils.escapeHtml, 29 | regex, 30 | hashtagRegExp = '\\w+', 31 | preceding = '^|\\s'; 32 | 33 | if (options) { 34 | if (typeof options.preceding !== 'undefined') { 35 | preceding = options.preceding; 36 | } 37 | if (typeof options.hashtagRegExp !== 'undefined') { 38 | hashtagRegExp = options.hashtagRegExp; 39 | } 40 | } 41 | 42 | regex = new RegExp('(' + preceding + ')#(' + hashtagRegExp + ')', 'g'); 43 | 44 | 45 | function hashtag(state) { 46 | var i, j, l, m, 47 | tagName, 48 | currentToken, 49 | token, 50 | tokens, 51 | Token = state.Token, 52 | blockTokens = state.tokens, 53 | htmlLinkLevel, 54 | matches, 55 | text, 56 | nodes, 57 | pos, 58 | level; 59 | 60 | for (j = 0, l = blockTokens.length; j < l; j++) { 61 | if (blockTokens[j].type !== 'inline') { continue; } 62 | 63 | tokens = blockTokens[j].children; 64 | 65 | htmlLinkLevel = 0; 66 | 67 | for (i = tokens.length - 1; i >= 0; i--) { 68 | currentToken = tokens[i]; 69 | 70 | // skip content of markdown links 71 | if (currentToken.type === 'link_close') { 72 | i--; 73 | while (tokens[i].level !== currentToken.level && tokens[i].type !== 'link_open') { 74 | i--; 75 | } 76 | continue; 77 | } 78 | 79 | // skip content of html links 80 | if (currentToken.type === 'html_inline') { 81 | // we are going backwards, so isLinkOpen shows end of link 82 | if (isLinkOpen(currentToken.content) && htmlLinkLevel > 0) { 83 | htmlLinkLevel--; 84 | } 85 | if (isLinkClose(currentToken.content)) { 86 | htmlLinkLevel++; 87 | } 88 | } 89 | if (htmlLinkLevel > 0) { continue; } 90 | 91 | if (currentToken.type !== 'text') { continue; } 92 | 93 | // find hashtags 94 | text = currentToken.content; 95 | matches = text.match(regex); 96 | 97 | if (matches === null) { continue; } 98 | 99 | nodes = []; 100 | level = currentToken.level; 101 | 102 | for (m = 0; m < matches.length; m++) { 103 | tagName = matches[m].split('#', 2)[1]; 104 | 105 | // find the beginning of the matched text 106 | pos = text.indexOf(matches[m]); 107 | // find the beginning of the hashtag 108 | pos = text.indexOf('#' + tagName, pos); 109 | 110 | if (pos > 0) { 111 | token = new Token('text', '', 0); 112 | token.content = text.slice(0, pos); 113 | token.level = level; 114 | nodes.push(token); 115 | } 116 | 117 | token = new Token('hashtag_open', '', 1); 118 | token.content = tagName; 119 | token.level = level++; 120 | nodes.push(token); 121 | 122 | token = new Token('hashtag_text', '', 0); 123 | token.content = escapeHtml(tagName); 124 | token.level = level; 125 | nodes.push(token); 126 | 127 | token = new Token('hashtag_close', '', -1); 128 | token.level = --level; 129 | nodes.push(token); 130 | 131 | text = text.slice(pos + 1 + tagName.length); 132 | } 133 | 134 | if (text.length > 0) { 135 | token = new Token('text', '', 0); 136 | token.content = text; 137 | token.level = level; 138 | nodes.push(token); 139 | } 140 | 141 | // replace current node 142 | blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes); 143 | } 144 | } 145 | } 146 | 147 | md.core.ruler.after('inline', 'hashtag', hashtag); 148 | md.renderer.rules.hashtag_open = hashtag_open; 149 | md.renderer.rules.hashtag_text = hashtag_text; 150 | md.renderer.rules.hashtag_close = hashtag_close; 151 | }; 152 | 153 | },{}]},{},[1])(1) 154 | }); -------------------------------------------------------------------------------- /dist/markdown-it-hashtag.min.js: -------------------------------------------------------------------------------- 1 | /*! markdown-it-hashtag 0.4.0 https://github.com/svbergerem/markdown-it-hashtag @license MIT */ 2 | !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.markdownitHashtag=e()}}(function(){return function e(n,t,r){function o(l,f){if(!t[l]){if(!n[l]){var u="function"==typeof require&&require;if(!f&&u)return u(l,!0);if(i)return i(l,!0);var s=new Error("Cannot find module '"+l+"'");throw s.code="MODULE_NOT_FOUND",s}var a=t[l]={exports:{}};n[l][0].call(a.exports,function(e){var t=n[l][1][e];return o(t?t:e)},a,a.exports,e,n,t,r)}return t[l].exports}for(var i="function"==typeof require&&require,l=0;l'}function o(){return""}function i(e,n){return"#"+e[n].content}function l(e){return/^\s]/i.test(e)}function f(e){return/^<\/a\s*>/i.test(e)}n.exports=function(e,n){function t(e){var n,t,r,o,i,c,p,h,d,g,v,x,y,w,_=e.Token,m=e.tokens;for(t=0,r=m.length;r>t;t++)if("inline"===m[t].type)for(h=m[t].children,d=0,n=h.length-1;n>=0;n--)if(c=h[n],"link_close"!==c.type){if("html_inline"===c.type&&(l(c.content)&&d>0&&d--,f(c.content)&&d++),!(d>0)&&"text"===c.type&&(v=c.content,g=v.match(u),null!==g)){for(x=[],w=c.level,o=0;o0&&(p=new _("text","",0),p.content=v.slice(0,y),p.level=w,x.push(p)),p=new _("hashtag_open","",1),p.content=i,p.level=w++,x.push(p),p=new _("hashtag_text","",0),p.content=a(i),p.level=w,x.push(p),p=new _("hashtag_close","",-1),p.level=--w,x.push(p),v=v.slice(y+1+i.length);v.length>0&&(p=new _("text","",0),p.content=v,p.level=w,x.push(p)),m[t].children=h=s(h,n,x)}}else for(n--;h[n].level!==c.level&&"link_open"!==h[n].type;)n--}var u,s=e.utils.arrayReplaceAt,a=e.utils.escapeHtml,c="\\w+",p="^|\\s";n&&("undefined"!=typeof n.preceding&&(p=n.preceding),"undefined"!=typeof n.hashtagRegExp&&(c=n.hashtagRegExp)),u=new RegExp("("+p+")#("+c+")","g"),e.core.ruler.after("inline","hashtag",t),e.renderer.rules.hashtag_open=r,e.renderer.rules.hashtag_text=i,e.renderer.rules.hashtag_close=o}},{}]},{},[1])(1)}); 3 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | // Process #hashtag 2 | 3 | 'use strict'; 4 | 5 | ////////////////////////////////////////////////////////////////////////// 6 | // Renderer partials 7 | 8 | function hashtag_open(tokens, idx) { 9 | var tagName = tokens[idx].content.toLowerCase(); 10 | return ''; 11 | } 12 | 13 | function hashtag_close() { return ''; } 14 | 15 | function hashtag_text(tokens, idx) { 16 | return '#' + tokens[idx].content; 17 | } 18 | 19 | ////////////////////////////////////////////////////////////////////////// 20 | 21 | function isLinkOpen(str) { return /^\s]/i.test(str); } 22 | function isLinkClose(str) { return /^<\/a\s*>/i.test(str); } 23 | 24 | module.exports = function hashtag_plugin(md, options) { 25 | 26 | var arrayReplaceAt = md.utils.arrayReplaceAt, 27 | escapeHtml = md.utils.escapeHtml, 28 | regex, 29 | hashtagRegExp = '\\w+', 30 | preceding = '^|\\s'; 31 | 32 | if (options) { 33 | if (typeof options.preceding !== 'undefined') { 34 | preceding = options.preceding; 35 | } 36 | if (typeof options.hashtagRegExp !== 'undefined') { 37 | hashtagRegExp = options.hashtagRegExp; 38 | } 39 | } 40 | 41 | regex = new RegExp('(' + preceding + ')#(' + hashtagRegExp + ')', 'g'); 42 | 43 | 44 | function hashtag(state) { 45 | var i, j, l, m, 46 | tagName, 47 | currentToken, 48 | token, 49 | tokens, 50 | Token = state.Token, 51 | blockTokens = state.tokens, 52 | htmlLinkLevel, 53 | matches, 54 | text, 55 | nodes, 56 | pos, 57 | level; 58 | 59 | for (j = 0, l = blockTokens.length; j < l; j++) { 60 | if (blockTokens[j].type !== 'inline') { continue; } 61 | 62 | tokens = blockTokens[j].children; 63 | 64 | htmlLinkLevel = 0; 65 | 66 | for (i = tokens.length - 1; i >= 0; i--) { 67 | currentToken = tokens[i]; 68 | 69 | // skip content of markdown links 70 | if (currentToken.type === 'link_close') { 71 | i--; 72 | while (tokens[i].level !== currentToken.level && tokens[i].type !== 'link_open') { 73 | i--; 74 | } 75 | continue; 76 | } 77 | 78 | // skip content of html links 79 | if (currentToken.type === 'html_inline') { 80 | // we are going backwards, so isLinkOpen shows end of link 81 | if (isLinkOpen(currentToken.content) && htmlLinkLevel > 0) { 82 | htmlLinkLevel--; 83 | } 84 | if (isLinkClose(currentToken.content)) { 85 | htmlLinkLevel++; 86 | } 87 | } 88 | if (htmlLinkLevel > 0) { continue; } 89 | 90 | if (currentToken.type !== 'text') { continue; } 91 | 92 | // find hashtags 93 | text = currentToken.content; 94 | matches = text.match(regex); 95 | 96 | if (matches === null) { continue; } 97 | 98 | nodes = []; 99 | level = currentToken.level; 100 | 101 | for (m = 0; m < matches.length; m++) { 102 | tagName = matches[m].split('#', 2)[1]; 103 | 104 | // find the beginning of the matched text 105 | pos = text.indexOf(matches[m]); 106 | // find the beginning of the hashtag 107 | pos = text.indexOf('#' + tagName, pos); 108 | 109 | if (pos > 0) { 110 | token = new Token('text', '', 0); 111 | token.content = text.slice(0, pos); 112 | token.level = level; 113 | nodes.push(token); 114 | } 115 | 116 | token = new Token('hashtag_open', '', 1); 117 | token.content = tagName; 118 | token.level = level++; 119 | nodes.push(token); 120 | 121 | token = new Token('hashtag_text', '', 0); 122 | token.content = escapeHtml(tagName); 123 | token.level = level; 124 | nodes.push(token); 125 | 126 | token = new Token('hashtag_close', '', -1); 127 | token.level = --level; 128 | nodes.push(token); 129 | 130 | text = text.slice(pos + 1 + tagName.length); 131 | } 132 | 133 | if (text.length > 0) { 134 | token = new Token('text', '', 0); 135 | token.content = text; 136 | token.level = level; 137 | nodes.push(token); 138 | } 139 | 140 | // replace current node 141 | blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes); 142 | } 143 | } 144 | } 145 | 146 | md.core.ruler.after('inline', 'hashtag', hashtag); 147 | md.renderer.rules.hashtag_open = hashtag_open; 148 | md.renderer.rules.hashtag_text = hashtag_text; 149 | md.renderer.rules.hashtag_close = hashtag_close; 150 | }; 151 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "markdown-it-hashtag", 3 | "version": "0.4.0", 4 | "description": "hashtag for markdown-it markdown parser.", 5 | "keywords": [ 6 | "markdown-it-plugin", 7 | "markdown-it", 8 | "markdown", 9 | "hashtag", 10 | "tag" 11 | ], 12 | "homepage": "https://github.com/svbergerem/markdown-it-hashtag", 13 | "repository": { 14 | "type": "git", 15 | "url": "git://github.com/svbergerem/markdown-it-hashtag.git" 16 | }, 17 | "bugs": { 18 | "url": "https://github.com/svbergerem/markdown-it-hashtag/issues" 19 | }, 20 | "license": "MIT", 21 | "main": "index.js", 22 | "scripts": { 23 | "test": "make test" 24 | }, 25 | "devDependencies": { 26 | "browserify": "*", 27 | "chai": "^3.5.0", 28 | "coveralls": "^2.11.9", 29 | "eslint": "2.11.1", 30 | "istanbul": "*", 31 | "markdown-it": "~6.0.5", 32 | "markdown-it-testgen": "~0.1.4", 33 | "mocha": "*", 34 | "uglify-js": "*" 35 | }, 36 | "dependencies": {}, 37 | "directories": { 38 | "test": "test" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /test/.eslintrc: -------------------------------------------------------------------------------- 1 | env: 2 | node: true 3 | mocha: true 4 | -------------------------------------------------------------------------------- /test/commonmark.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var p = require('path'); 4 | var load = require('markdown-it-testgen').load; 5 | var assert = require('chai').assert; 6 | 7 | function normalize(text) { 8 | return text.replace(/
\n<\/blockquote>/g, '
'); 9 | } 10 | 11 | function generate(path, md) { 12 | load(path, function (data) { 13 | data.meta = data.meta || {}; 14 | 15 | var desc = data.meta.desc || p.relative(path, data.file); 16 | 17 | (data.meta.skip ? describe.skip : describe)(desc, function () { 18 | data.fixtures.forEach(function (fixture) { 19 | it(fixture.header ? fixture.header : 'line ' + (fixture.first.range[0] - 1), function () { 20 | assert.strictEqual(md.render(fixture.first.text), normalize(fixture.second.text)); 21 | }); 22 | }); 23 | }); 24 | }); 25 | } 26 | 27 | describe('CommonMark', function () { 28 | var md = require('markdown-it')('commonmark'); 29 | 30 | md.use(require('../')); 31 | generate(p.join(__dirname, 'fixtures/vendor/commonmark/good.txt'), md); 32 | }); 33 | -------------------------------------------------------------------------------- /test/fixtures/hashtag/default.txt: -------------------------------------------------------------------------------- 1 | doesn't break headings 2 | . 3 | # hashtag 4 | . 5 |

hashtag

6 | . 7 | 8 | 9 | 10 | creates links 11 | . 12 | #hashtag 13 | . 14 |

#hashtag

15 | . 16 | 17 | 18 | 19 | uses the lowercase tag for the link 20 | . 21 | #HasHTAg 22 | . 23 |

#HasHTAg

24 | . 25 | 26 | 27 | 28 | accepts multiple tags per line 29 | . 30 | #hash #tag 31 | . 32 |

#hash #tag

33 | . 34 | 35 | . 36 | multiple #hash #tags in one #line 37 | . 38 |

multiple #hash #tags in one #line

39 | . 40 | 41 | . 42 | preceeding #space 43 | . 44 |

preceeding #space

45 | . 46 | 47 | 48 | 49 | requires a preceeding space 50 | . 51 | missing preceeding#space 52 | . 53 |

missing preceeding#space

54 | . 55 | 56 | . 57 | #test#tag 58 | . 59 |

#test#tag

60 | . 61 | 62 | 63 | 64 | doesn't break links 65 | . 66 | [#hashtag](http://awe.so.me) 67 | . 68 |

#hashtag

69 | . 70 | 71 | . 72 | [there is a #hashtag](http://awe.so.me) 73 | . 74 |

there is a #hashtag

75 | . 76 | 77 | . 78 | [link](http://awe.so.me "#title") 79 | . 80 |

link

81 | . 82 | 83 | . 84 | [link](http://awe.so.me "there is a #title") 85 | . 86 |

link

87 | . 88 | 89 | 90 | 91 | doesn't break images 92 | . 93 | ![a #hashtag](http://awe.so.me/image.gif) 94 | . 95 |

a #hashtag

96 | . 97 | 98 | . 99 | ![image](http://awe.so.me/image.gif "a #title") 100 | . 101 |

image

102 | . 103 | 104 | 105 | 106 | doesn't accept all characters 107 | . 108 | #t-a_g 109 | . 110 |

#t-a_g

111 | . 112 | 113 | . 114 | #äöüß 115 | . 116 |

#äöüß

117 | . 118 | 119 | . 120 | #<3 121 | . 122 |

#<3

123 | . 124 | 125 | . 126 | #<3 and other #hashtags 127 | . 128 |

#<3 and other #hashtags

129 | . 130 | 131 | 132 | 133 | also works with only one char 134 | . 135 | #0 136 | . 137 |

#0

138 | . 139 | 140 | 141 | 142 | ignores empty hashtags 143 | . 144 | there is no # hashtag 145 | . 146 |

there is no # hashtag

147 | . 148 | 149 | . 150 | still no # 151 | . 152 |

still no #

153 | . 154 | 155 | . 156 |
#
157 | . 158 |
#
159 | . 160 | 161 | . 162 | ##notag 163 | . 164 |

##notag

165 | . 166 | 167 | 168 | 169 | respects inline code 170 | . 171 | `don't render #hashtags in inline code` 172 | . 173 |

don't render #hashtags in inline code

174 | . 175 | 176 | 177 | 178 | respects code blocks 179 | . 180 | ``` 181 | don't render #hashtags in code blocks 182 | ``` 183 | . 184 |
don't render #hashtags in code blocks
185 | 
186 | . 187 | 188 | 189 | 190 | 191 | . 192 | #tag1 193 | #tag2 194 | #tag3 195 | . 196 |

#tag1 197 | #tag2 198 | #tag3

199 | . 200 | 201 | . 202 | hashtag #hashtag 203 | . 204 |

hashtag #hashtag

205 | . 206 | 207 | . 208 | not a#hashtag #hashtag 209 | . 210 |

not a#hashtag #hashtag

211 | . 212 | -------------------------------------------------------------------------------- /test/fixtures/hashtag/options.txt: -------------------------------------------------------------------------------- 1 | doesn't break headings 2 | . 3 | # hashtag 4 | . 5 |

hashtag

6 | . 7 | 8 | 9 | 10 | creates links 11 | . 12 | #hashtag 13 | . 14 |

#hashtag

15 | . 16 | 17 | 18 | 19 | uses the lowercase tag for the link 20 | . 21 | #HasHTAg 22 | . 23 |

#HasHTAg

24 | . 25 | 26 | 27 | 28 | accepts multiple tags per line 29 | . 30 | #hash #tag 31 | . 32 |

#hash #tag

33 | . 34 | 35 | . 36 | multiple #hash #tags in one #line 37 | . 38 |

multiple #hash #tags in one #line

39 | . 40 | 41 | . 42 | preceeding #space 43 | . 44 |

preceeding #space

45 | . 46 | 47 | 48 | 49 | requires a preceeding space 50 | . 51 | missing preceeding#space 52 | . 53 |

missing preceeding#space

54 | . 55 | 56 | . 57 | #test#tag 58 | . 59 |

#test#tag

60 | . 61 | 62 | 63 | 64 | doesn't break links 65 | . 66 | [#hashtag](http://awe.so.me) 67 | . 68 |

#hashtag

69 | . 70 | 71 | . 72 | [there is a #hashtag](http://awe.so.me) 73 | . 74 |

there is a #hashtag

75 | . 76 | 77 | . 78 | [link](http://awe.so.me "#title") 79 | . 80 |

link

81 | . 82 | 83 | . 84 | [link](http://awe.so.me "there is a #title") 85 | . 86 |

link

87 | . 88 | 89 | 90 | 91 | doesn't break images 92 | . 93 | ![a #hashtag](http://awe.so.me/image.gif) 94 | . 95 |

a #hashtag

96 | . 97 | 98 | . 99 | ![image](http://awe.so.me/image.gif "a #title") 100 | . 101 |

image

102 | . 103 | 104 | 105 | 106 | doesn't accept all characters 107 | . 108 | #t-a_g 109 | . 110 |

#t-a_g

111 | . 112 | 113 | . 114 | #äöüß 115 | . 116 |

#äöüß

117 | . 118 | 119 | . 120 | #<3 121 | . 122 |

#<3

123 | . 124 | 125 | . 126 | #<3 and other #hashtags 127 | . 128 |

#<3 and other #hashtags

129 | . 130 | 131 | 132 | 133 | also works with only one char 134 | . 135 | #0 136 | . 137 |

#0

138 | . 139 | 140 | 141 | 142 | ignores empty hashtags 143 | . 144 | there is no # hashtag 145 | . 146 |

there is no # hashtag

147 | . 148 | 149 | . 150 | still no # 151 | . 152 |

still no #

153 | . 154 | 155 | . 156 |
#
157 | . 158 |
#
159 | . 160 | 161 | . 162 | ##notag 163 | . 164 |

##notag

165 | . 166 | 167 | 168 | 169 | respects inline code 170 | . 171 | `don't render #hashtags in inline code` 172 | . 173 |

don't render #hashtags in inline code

174 | . 175 | 176 | 177 | 178 | respects code blocks 179 | . 180 | ``` 181 | don't render #hashtags in code blocks 182 | ``` 183 | . 184 |
don't render #hashtags in code blocks
185 | 
186 | . 187 | 188 | 189 | 190 | 191 | . 192 | #tag1 193 | #tag2 194 | #tag3 195 | . 196 |

#tag1 197 | #tag2 198 | #tag3

199 | . 200 | 201 | . 202 | hashtag #hashtag 203 | . 204 |

hashtag #hashtag

205 | . 206 | 207 | . 208 | not a#hashtag #hashtag 209 | . 210 |

not a#hashtag #hashtag

211 | . 212 | -------------------------------------------------------------------------------- /test/fixtures/vendor/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /test/fixtures/vendor/commonmark/bad.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svbergerem/markdown-it-hashtag/227273b31bc812e72407a306eb2c5a450d5382eb/test/fixtures/vendor/commonmark/bad.txt -------------------------------------------------------------------------------- /test/fixtures/vendor/commonmark/good.txt: -------------------------------------------------------------------------------- 1 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 | src line: 264 3 | 4 | . 5 | foo baz bim 6 | . 7 |
foo	baz		bim
   8 | 
9 | . 10 | 11 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12 | src line: 272 13 | 14 | . 15 | foo baz bim 16 | . 17 |
foo	baz		bim
  18 | 
19 | . 20 | 21 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22 | src line: 280 23 | 24 | . 25 | a a 26 | ὐ a 27 | . 28 |
a	a
  29 | ὐ	a
  30 | 
31 | . 32 | 33 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 34 | src line: 290 35 | 36 | . 37 | - foo 38 | 39 | bar 40 | . 41 |
    42 |
  • 43 |

    foo

    44 |

    bar

    45 |
  • 46 |
47 | . 48 | 49 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50 | src line: 304 51 | 52 | . 53 | > foo bar 54 | . 55 |
56 |

foo bar

57 |
58 | . 59 | 60 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61 | src line: 313 62 | 63 | . 64 | foo 65 | bar 66 | . 67 |
foo
  68 | bar
  69 | 
70 | . 71 | 72 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73 | src line: 344 74 | 75 | . 76 | - `one 77 | - two` 78 | . 79 |
    80 |
  • `one
  • 81 |
  • two`
  • 82 |
83 | . 84 | 85 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 86 | src line: 383 87 | 88 | . 89 | *** 90 | --- 91 | ___ 92 | . 93 |
94 |
95 |
96 | . 97 | 98 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 99 | src line: 396 100 | 101 | . 102 | +++ 103 | . 104 |

+++

105 | . 106 | 107 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 108 | src line: 403 109 | 110 | . 111 | === 112 | . 113 |

===

114 | . 115 | 116 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 117 | src line: 412 118 | 119 | . 120 | -- 121 | ** 122 | __ 123 | . 124 |

-- 125 | ** 126 | __

127 | . 128 | 129 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 130 | src line: 425 131 | 132 | . 133 | *** 134 | *** 135 | *** 136 | . 137 |
138 |
139 |
140 | . 141 | 142 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 143 | src line: 438 144 | 145 | . 146 | *** 147 | . 148 |
***
 149 | 
150 | . 151 | 152 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 153 | src line: 446 154 | 155 | . 156 | Foo 157 | *** 158 | . 159 |

Foo 160 | ***

161 | . 162 | 163 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 164 | src line: 457 165 | 166 | . 167 | _____________________________________ 168 | . 169 |
170 | . 171 | 172 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 173 | src line: 466 174 | 175 | . 176 | - - - 177 | . 178 |
179 | . 180 | 181 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 182 | src line: 473 183 | 184 | . 185 | ** * ** * ** * ** 186 | . 187 |
188 | . 189 | 190 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | src line: 480 192 | 193 | . 194 | - - - - 195 | . 196 |
197 | . 198 | 199 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 200 | src line: 489 201 | 202 | . 203 | - - - - 204 | . 205 |
206 | . 207 | 208 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | src line: 498 210 | 211 | . 212 | _ _ _ _ a 213 | 214 | a------ 215 | 216 | ---a--- 217 | . 218 |

_ _ _ _ a

219 |

a------

220 |

---a---

221 | . 222 | 223 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | src line: 514 225 | 226 | . 227 | *-* 228 | . 229 |

-

230 | . 231 | 232 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | src line: 523 234 | 235 | . 236 | - foo 237 | *** 238 | - bar 239 | . 240 |
    241 |
  • foo
  • 242 |
243 |
244 |
    245 |
  • bar
  • 246 |
247 | . 248 | 249 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | src line: 540 251 | 252 | . 253 | Foo 254 | *** 255 | bar 256 | . 257 |

Foo

258 |
259 |

bar

260 | . 261 | 262 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | src line: 557 264 | 265 | . 266 | Foo 267 | --- 268 | bar 269 | . 270 |

Foo

271 |

bar

272 | . 273 | 274 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | src line: 570 276 | 277 | . 278 | * Foo 279 | * * * 280 | * Bar 281 | . 282 |
    283 |
  • Foo
  • 284 |
285 |
286 |
    287 |
  • Bar
  • 288 |
289 | . 290 | 291 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | src line: 587 293 | 294 | . 295 | - Foo 296 | - * * * 297 | . 298 |
    299 |
  • Foo
  • 300 |
  • 301 |
    302 |
  • 303 |
304 | . 305 | 306 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | src line: 616 308 | 309 | . 310 | # foo 311 | ## foo 312 | ### foo 313 | #### foo 314 | ##### foo 315 | ###### foo 316 | . 317 |

foo

318 |

foo

319 |

foo

320 |

foo

321 |
foo
322 |
foo
323 | . 324 | 325 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 326 | src line: 635 327 | 328 | . 329 | ####### foo 330 | . 331 |

####### foo

332 | . 333 | 334 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 335 | src line: 662 336 | 337 | . 338 | # foo 339 | . 340 |

# foo

341 | . 342 | 343 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 344 | src line: 671 345 | 346 | . 347 | \## foo 348 | . 349 |

## foo

350 | . 351 | 352 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | src line: 680 354 | 355 | . 356 | # foo *bar* \*baz\* 357 | . 358 |

foo bar *baz*

359 | . 360 | 361 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 362 | src line: 689 363 | 364 | . 365 | # foo 366 | . 367 |

foo

368 | . 369 | 370 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 371 | src line: 698 372 | 373 | . 374 | ### foo 375 | ## foo 376 | # foo 377 | . 378 |

foo

379 |

foo

380 |

foo

381 | . 382 | 383 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 384 | src line: 711 385 | 386 | . 387 | # foo 388 | . 389 |
# foo
 390 | 
391 | . 392 | 393 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 394 | src line: 719 395 | 396 | . 397 | foo 398 | # bar 399 | . 400 |

foo 401 | # bar

402 | . 403 | 404 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 405 | src line: 730 406 | 407 | . 408 | ## foo ## 409 | ### bar ### 410 | . 411 |

foo

412 |

bar

413 | . 414 | 415 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 416 | src line: 741 417 | 418 | . 419 | # foo ################################## 420 | ##### foo ## 421 | . 422 |

foo

423 |
foo
424 | . 425 | 426 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 427 | src line: 752 428 | 429 | . 430 | ### foo ### 431 | . 432 |

foo

433 | . 434 | 435 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 436 | src line: 763 437 | 438 | . 439 | ### foo ### b 440 | . 441 |

foo ### b

442 | . 443 | 444 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 445 | src line: 772 446 | 447 | . 448 | # foo# 449 | . 450 |

foo#

451 | . 452 | 453 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 454 | src line: 782 455 | 456 | . 457 | ### foo \### 458 | ## foo #\## 459 | # foo \# 460 | . 461 |

foo ###

462 |

foo ###

463 |

foo #

464 | . 465 | 466 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 467 | src line: 796 468 | 469 | . 470 | **** 471 | ## foo 472 | **** 473 | . 474 |
475 |

foo

476 |
477 | . 478 | 479 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 480 | src line: 807 481 | 482 | . 483 | Foo bar 484 | # baz 485 | Bar foo 486 | . 487 |

Foo bar

488 |

baz

489 |

Bar foo

490 | . 491 | 492 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 493 | src line: 820 494 | 495 | . 496 | ## 497 | # 498 | ### ### 499 | . 500 |

501 |

502 |

503 | . 504 | 505 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 506 | src line: 863 507 | 508 | . 509 | Foo *bar* 510 | ========= 511 | 512 | Foo *bar* 513 | --------- 514 | . 515 |

Foo bar

516 |

Foo bar

517 | . 518 | 519 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 520 | src line: 877 521 | 522 | . 523 | Foo *bar 524 | baz* 525 | ==== 526 | . 527 |

Foo bar 528 | baz

529 | . 530 | 531 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 532 | src line: 889 533 | 534 | . 535 | Foo 536 | ------------------------- 537 | 538 | Foo 539 | = 540 | . 541 |

Foo

542 |

Foo

543 | . 544 | 545 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 546 | src line: 904 547 | 548 | . 549 | Foo 550 | --- 551 | 552 | Foo 553 | ----- 554 | 555 | Foo 556 | === 557 | . 558 |

Foo

559 |

Foo

560 |

Foo

561 | . 562 | 563 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 564 | src line: 922 565 | 566 | . 567 | Foo 568 | --- 569 | 570 | Foo 571 | --- 572 | . 573 |
Foo
 574 | ---
 575 | 
 576 | Foo
 577 | 
578 |
579 | . 580 | 581 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 582 | src line: 941 583 | 584 | . 585 | Foo 586 | ---- 587 | . 588 |

Foo

589 | . 590 | 591 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 592 | src line: 951 593 | 594 | . 595 | Foo 596 | --- 597 | . 598 |

Foo 599 | ---

600 | . 601 | 602 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 603 | src line: 962 604 | 605 | . 606 | Foo 607 | = = 608 | 609 | Foo 610 | --- - 611 | . 612 |

Foo 613 | = =

614 |

Foo

615 |
616 | . 617 | 618 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 619 | src line: 978 620 | 621 | . 622 | Foo 623 | ----- 624 | . 625 |

Foo

626 | . 627 | 628 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 629 | src line: 988 630 | 631 | . 632 | Foo\ 633 | ---- 634 | . 635 |

Foo\

636 | . 637 | 638 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 639 | src line: 999 640 | 641 | . 642 | `Foo 643 | ---- 644 | ` 645 | 646 | 649 | . 650 |

`Foo

651 |

`

652 |

<a title="a lot

653 |

of dashes"/>

654 | . 655 | 656 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 657 | src line: 1018 658 | 659 | . 660 | > Foo 661 | --- 662 | . 663 |
664 |

Foo

665 |
666 |
667 | . 668 | 669 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 670 | src line: 1029 671 | 672 | . 673 | > foo 674 | bar 675 | === 676 | . 677 |
678 |

foo 679 | bar 680 | ===

681 |
682 | . 683 | 684 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 685 | src line: 1042 686 | 687 | . 688 | - Foo 689 | --- 690 | . 691 |
    692 |
  • Foo
  • 693 |
694 |
695 | . 696 | 697 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 698 | src line: 1057 699 | 700 | . 701 | Foo 702 | Bar 703 | --- 704 | . 705 |

Foo 706 | Bar

707 | . 708 | 709 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 710 | src line: 1070 711 | 712 | . 713 | --- 714 | Foo 715 | --- 716 | Bar 717 | --- 718 | Baz 719 | . 720 |
721 |

Foo

722 |

Bar

723 |

Baz

724 | . 725 | 726 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 727 | src line: 1087 728 | 729 | . 730 | 731 | ==== 732 | . 733 |

====

734 | . 735 | 736 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 737 | src line: 1099 738 | 739 | . 740 | --- 741 | --- 742 | . 743 |
744 |
745 | . 746 | 747 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 748 | src line: 1108 749 | 750 | . 751 | - foo 752 | ----- 753 | . 754 |
    755 |
  • foo
  • 756 |
757 |
758 | . 759 | 760 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 761 | src line: 1119 762 | 763 | . 764 | foo 765 | --- 766 | . 767 |
foo
 768 | 
769 |
770 | . 771 | 772 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 773 | src line: 1129 774 | 775 | . 776 | > foo 777 | ----- 778 | . 779 |
780 |

foo

781 |
782 |
783 | . 784 | 785 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 786 | src line: 1143 787 | 788 | . 789 | \> foo 790 | ------ 791 | . 792 |

> foo

793 | . 794 | 795 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 796 | src line: 1174 797 | 798 | . 799 | Foo 800 | 801 | bar 802 | --- 803 | baz 804 | . 805 |

Foo

806 |

bar

807 |

baz

808 | . 809 | 810 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 811 | src line: 1190 812 | 813 | . 814 | Foo 815 | bar 816 | 817 | --- 818 | 819 | baz 820 | . 821 |

Foo 822 | bar

823 |
824 |

baz

825 | . 826 | 827 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 828 | src line: 1208 829 | 830 | . 831 | Foo 832 | bar 833 | * * * 834 | baz 835 | . 836 |

Foo 837 | bar

838 |
839 |

baz

840 | . 841 | 842 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 843 | src line: 1223 844 | 845 | . 846 | Foo 847 | bar 848 | \--- 849 | baz 850 | . 851 |

Foo 852 | bar 853 | --- 854 | baz

855 | . 856 | 857 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 858 | src line: 1251 859 | 860 | . 861 | a simple 862 | indented code block 863 | . 864 |
a simple
 865 |   indented code block
 866 | 
867 | . 868 | 869 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 870 | src line: 1265 871 | 872 | . 873 | - foo 874 | 875 | bar 876 | . 877 |
    878 |
  • 879 |

    foo

    880 |

    bar

    881 |
  • 882 |
883 | . 884 | 885 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 886 | src line: 1279 887 | 888 | . 889 | 1. foo 890 | 891 | - bar 892 | . 893 |
    894 |
  1. 895 |

    foo

    896 |
      897 |
    • bar
    • 898 |
    899 |
  2. 900 |
901 | . 902 | 903 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 904 | src line: 1299 905 | 906 | . 907 |
908 | *hi* 909 | 910 | - one 911 | . 912 |
<a/>
 913 | *hi*
 914 | 
 915 | - one
 916 | 
917 | . 918 | 919 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 920 | src line: 1315 921 | 922 | . 923 | chunk1 924 | 925 | chunk2 926 | 927 | 928 | 929 | chunk3 930 | . 931 |
chunk1
 932 | 
 933 | chunk2
 934 | 
 935 | 
 936 | 
 937 | chunk3
 938 | 
939 | . 940 | 941 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 942 | src line: 1338 943 | 944 | . 945 | chunk1 946 | 947 | chunk2 948 | . 949 |
chunk1
 950 |   
 951 |   chunk2
 952 | 
953 | . 954 | 955 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 956 | src line: 1353 957 | 958 | . 959 | Foo 960 | bar 961 | 962 | . 963 |

Foo 964 | bar

965 | . 966 | 967 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 968 | src line: 1367 969 | 970 | . 971 | foo 972 | bar 973 | . 974 |
foo
 975 | 
976 |

bar

977 | . 978 | 979 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 980 | src line: 1380 981 | 982 | . 983 | # Heading 984 | foo 985 | Heading 986 | ------ 987 | foo 988 | ---- 989 | . 990 |

Heading

991 |
foo
 992 | 
993 |

Heading

994 |
foo
 995 | 
996 |
997 | . 998 | 999 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1000 | src line: 1400 1001 | 1002 | . 1003 | foo 1004 | bar 1005 | . 1006 |
    foo
1007 | bar
1008 | 
1009 | . 1010 | 1011 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1012 | src line: 1413 1013 | 1014 | . 1015 | 1016 | 1017 | foo 1018 | 1019 | 1020 | . 1021 |
foo
1022 | 
1023 | . 1024 | 1025 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1026 | src line: 1427 1027 | 1028 | . 1029 | foo 1030 | . 1031 |
foo  
1032 | 
1033 | . 1034 | 1035 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1036 | src line: 1482 1037 | 1038 | . 1039 | ``` 1040 | < 1041 | > 1042 | ``` 1043 | . 1044 |
<
1045 |  >
1046 | 
1047 | . 1048 | 1049 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1050 | src line: 1496 1051 | 1052 | . 1053 | ~~~ 1054 | < 1055 | > 1056 | ~~~ 1057 | . 1058 |
<
1059 |  >
1060 | 
1061 | . 1062 | 1063 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1064 | src line: 1511 1065 | 1066 | . 1067 | ``` 1068 | aaa 1069 | ~~~ 1070 | ``` 1071 | . 1072 |
aaa
1073 | ~~~
1074 | 
1075 | . 1076 | 1077 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1078 | src line: 1523 1079 | 1080 | . 1081 | ~~~ 1082 | aaa 1083 | ``` 1084 | ~~~ 1085 | . 1086 |
aaa
1087 | ```
1088 | 
1089 | . 1090 | 1091 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1092 | src line: 1537 1093 | 1094 | . 1095 | ```` 1096 | aaa 1097 | ``` 1098 | `````` 1099 | . 1100 |
aaa
1101 | ```
1102 | 
1103 | . 1104 | 1105 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1106 | src line: 1549 1107 | 1108 | . 1109 | ~~~~ 1110 | aaa 1111 | ~~~ 1112 | ~~~~ 1113 | . 1114 |
aaa
1115 | ~~~
1116 | 
1117 | . 1118 | 1119 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1120 | src line: 1564 1121 | 1122 | . 1123 | ``` 1124 | . 1125 |
1126 | . 1127 | 1128 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1129 | src line: 1571 1130 | 1131 | . 1132 | ````` 1133 | 1134 | ``` 1135 | aaa 1136 | . 1137 |

1138 | ```
1139 | aaa
1140 | 
1141 | . 1142 | 1143 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1144 | src line: 1584 1145 | 1146 | . 1147 | > ``` 1148 | > aaa 1149 | 1150 | bbb 1151 | . 1152 |
1153 |
aaa
1154 | 
1155 |
1156 |

bbb

1157 | . 1158 | 1159 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1160 | src line: 1600 1161 | 1162 | . 1163 | ``` 1164 | 1165 | 1166 | ``` 1167 | . 1168 |

1169 |   
1170 | 
1171 | . 1172 | 1173 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1174 | src line: 1614 1175 | 1176 | . 1177 | ``` 1178 | ``` 1179 | . 1180 |
1181 | . 1182 | 1183 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1184 | src line: 1626 1185 | 1186 | . 1187 | ``` 1188 | aaa 1189 | aaa 1190 | ``` 1191 | . 1192 |
aaa
1193 | aaa
1194 | 
1195 | . 1196 | 1197 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1198 | src line: 1638 1199 | 1200 | . 1201 | ``` 1202 | aaa 1203 | aaa 1204 | aaa 1205 | ``` 1206 | . 1207 |
aaa
1208 | aaa
1209 | aaa
1210 | 
1211 | . 1212 | 1213 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1214 | src line: 1652 1215 | 1216 | . 1217 | ``` 1218 | aaa 1219 | aaa 1220 | aaa 1221 | ``` 1222 | . 1223 |
aaa
1224 |  aaa
1225 | aaa
1226 | 
1227 | . 1228 | 1229 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1230 | src line: 1668 1231 | 1232 | . 1233 | ``` 1234 | aaa 1235 | ``` 1236 | . 1237 |
```
1238 | aaa
1239 | ```
1240 | 
1241 | . 1242 | 1243 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1244 | src line: 1683 1245 | 1246 | . 1247 | ``` 1248 | aaa 1249 | ``` 1250 | . 1251 |
aaa
1252 | 
1253 | . 1254 | 1255 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1256 | src line: 1693 1257 | 1258 | . 1259 | ``` 1260 | aaa 1261 | ``` 1262 | . 1263 |
aaa
1264 | 
1265 | . 1266 | 1267 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1268 | src line: 1705 1269 | 1270 | . 1271 | ``` 1272 | aaa 1273 | ``` 1274 | . 1275 |
aaa
1276 |     ```
1277 | 
1278 | . 1279 | 1280 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1281 | src line: 1719 1282 | 1283 | . 1284 | ``` ``` 1285 | aaa 1286 | . 1287 |

1288 | aaa

1289 | . 1290 | 1291 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1292 | src line: 1728 1293 | 1294 | . 1295 | ~~~~~~ 1296 | aaa 1297 | ~~~ ~~ 1298 | . 1299 |
aaa
1300 | ~~~ ~~
1301 | 
1302 | . 1303 | 1304 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1305 | src line: 1742 1306 | 1307 | . 1308 | foo 1309 | ``` 1310 | bar 1311 | ``` 1312 | baz 1313 | . 1314 |

foo

1315 |
bar
1316 | 
1317 |

baz

1318 | . 1319 | 1320 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1321 | src line: 1759 1322 | 1323 | . 1324 | foo 1325 | --- 1326 | ~~~ 1327 | bar 1328 | ~~~ 1329 | # baz 1330 | . 1331 |

foo

1332 |
bar
1333 | 
1334 |

baz

1335 | . 1336 | 1337 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1338 | src line: 1779 1339 | 1340 | . 1341 | ```ruby 1342 | def foo(x) 1343 | return 3 1344 | end 1345 | ``` 1346 | . 1347 |
def foo(x)
1348 |   return 3
1349 | end
1350 | 
1351 | . 1352 | 1353 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1354 | src line: 1793 1355 | 1356 | . 1357 | ~~~~ ruby startline=3 $%@#$ 1358 | def foo(x) 1359 | return 3 1360 | end 1361 | ~~~~~~~ 1362 | . 1363 |
def foo(x)
1364 |   return 3
1365 | end
1366 | 
1367 | . 1368 | 1369 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1370 | src line: 1807 1371 | 1372 | . 1373 | ````; 1374 | ```` 1375 | . 1376 |
1377 | . 1378 | 1379 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1380 | src line: 1817 1381 | 1382 | . 1383 | ``` aa ``` 1384 | foo 1385 | . 1386 |

aa 1387 | foo

1388 | . 1389 | 1390 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1391 | src line: 1828 1392 | 1393 | . 1394 | ``` 1395 | ``` aaa 1396 | ``` 1397 | . 1398 |
``` aaa
1399 | 
1400 | . 1401 | 1402 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1403 | src line: 1902 1404 | 1405 | . 1406 | 1407 | 1408 | 1411 | 1412 |
1409 | hi 1410 |
1413 | 1414 | okay. 1415 | . 1416 | 1417 | 1418 | 1421 | 1422 |
1419 | hi 1420 |
1423 |

okay.

1424 | . 1425 | 1426 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1427 | src line: 1924 1428 | 1429 | . 1430 |
1447 | *foo* 1448 | . 1449 | 1450 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1451 | src line: 1948 1452 | 1453 | . 1454 |
1455 | 1456 | *Markdown* 1457 | 1458 |
1459 | . 1460 |
1461 |

Markdown

1462 |
1463 | . 1464 | 1465 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1466 | src line: 1964 1467 | 1468 | . 1469 |
1471 |
1472 | . 1473 |
1475 |
1476 | . 1477 | 1478 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1479 | src line: 1975 1480 | 1481 | . 1482 |
1484 |
1485 | . 1486 |
1488 |
1489 | . 1490 | 1491 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1492 | src line: 1987 1493 | 1494 | . 1495 |
1496 | *foo* 1497 | 1498 | *bar* 1499 | . 1500 |
1501 | *foo* 1502 |

bar

1503 | . 1504 | 1505 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1506 | src line: 2003 1507 | 1508 | . 1509 |
1543 | . 1544 | 1545 | . 1546 | 1547 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1548 | src line: 2043 1549 | 1550 | . 1551 |
1552 | foo 1553 |
1554 | . 1555 |
1556 | foo 1557 |
1558 | . 1559 | 1560 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1561 | src line: 2060 1562 | 1563 | . 1564 |
1565 | ``` c 1566 | int x = 33; 1567 | ``` 1568 | . 1569 |
1570 | ``` c 1571 | int x = 33; 1572 | ``` 1573 | . 1574 | 1575 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1576 | src line: 2077 1577 | 1578 | . 1579 | 1580 | *bar* 1581 | 1582 | . 1583 | 1584 | *bar* 1585 | 1586 | . 1587 | 1588 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1589 | src line: 2090 1590 | 1591 | . 1592 | 1593 | *bar* 1594 | 1595 | . 1596 | 1597 | *bar* 1598 | 1599 | . 1600 | 1601 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1602 | src line: 2101 1603 | 1604 | . 1605 | 1606 | *bar* 1607 | 1608 | . 1609 | 1610 | *bar* 1611 | 1612 | . 1613 | 1614 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1615 | src line: 2112 1616 | 1617 | . 1618 | 1619 | *bar* 1620 | . 1621 | 1622 | *bar* 1623 | . 1624 | 1625 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1626 | src line: 2127 1627 | 1628 | . 1629 | 1630 | *foo* 1631 | 1632 | . 1633 | 1634 | *foo* 1635 | 1636 | . 1637 | 1638 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1639 | src line: 2142 1640 | 1641 | . 1642 | 1643 | 1644 | *foo* 1645 | 1646 | 1647 | . 1648 | 1649 |

foo

1650 |
1651 | . 1652 | 1653 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1654 | src line: 2160 1655 | 1656 | . 1657 | *foo* 1658 | . 1659 |

foo

1660 | . 1661 | 1662 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1663 | src line: 2176 1664 | 1665 | . 1666 |

1667 | import Text.HTML.TagSoup
1668 | 
1669 | main :: IO ()
1670 | main = print $ parseTags tags
1671 | 
1672 | . 1673 |

1674 | import Text.HTML.TagSoup
1675 | 
1676 | main :: IO ()
1677 | main = print $ parseTags tags
1678 | 
1679 | . 1680 | 1681 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1682 | src line: 2195 1683 | 1684 | . 1685 | 1690 | . 1691 | 1696 | . 1697 | 1698 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1699 | src line: 2212 1700 | 1701 | . 1702 | 1708 | . 1709 | 1715 | . 1716 | 1717 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1718 | src line: 2233 1719 | 1720 | . 1721 | 1768 | *foo* 1769 | . 1770 | 1771 |

foo

1772 | . 1773 | 1774 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1775 | src line: 2284 1776 | 1777 | . 1778 | *bar* 1779 | *baz* 1780 | . 1781 | *bar* 1782 |

baz

1783 | . 1784 | 1785 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1786 | src line: 2296 1787 | 1788 | . 1789 | 1. *bar* 1792 | . 1793 | 1. *bar* 1796 | . 1797 | 1798 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1799 | src line: 2309 1800 | 1801 | . 1802 | 1806 | . 1807 | 1811 | . 1812 | 1813 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1814 | src line: 2325 1815 | 1816 | . 1817 | '; 1820 | 1821 | ?> 1822 | . 1823 | '; 1826 | 1827 | ?> 1828 | . 1829 | 1830 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1831 | src line: 2342 1832 | 1833 | . 1834 | 1835 | . 1836 | 1837 | . 1838 | 1839 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1840 | src line: 2351 1841 | 1842 | . 1843 | 1855 | . 1856 | 1868 | . 1869 | 1870 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1871 | src line: 2382 1872 | 1873 | . 1874 | 1875 | 1876 | 1877 | . 1878 | 1879 |
<!-- foo -->
1880 | 
1881 | . 1882 | 1883 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1884 | src line: 2393 1885 | 1886 | . 1887 |
1888 | 1889 |
1890 | . 1891 |
1892 |
<div>
1893 | 
1894 | . 1895 | 1896 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1897 | src line: 2407 1898 | 1899 | . 1900 | Foo 1901 |
1902 | bar 1903 |
1904 | . 1905 |

Foo

1906 |
1907 | bar 1908 |
1909 | . 1910 | 1911 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1912 | src line: 2423 1913 | 1914 | . 1915 |
1916 | bar 1917 |
1918 | *foo* 1919 | . 1920 |
1921 | bar 1922 |
1923 | *foo* 1924 | . 1925 | 1926 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1927 | src line: 2438 1928 | 1929 | . 1930 | Foo 1931 | 1932 | baz 1933 | . 1934 |

Foo 1935 | 1936 | baz

1937 | . 1938 | 1939 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1940 | src line: 2479 1941 | 1942 | . 1943 |
1944 | 1945 | *Emphasized* text. 1946 | 1947 |
1948 | . 1949 |
1950 |

Emphasized text.

1951 |
1952 | . 1953 | 1954 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1955 | src line: 2492 1956 | 1957 | . 1958 |
1959 | *Emphasized* text. 1960 |
1961 | . 1962 |
1963 | *Emphasized* text. 1964 |
1965 | . 1966 | 1967 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1968 | src line: 2514 1969 | 1970 | . 1971 | 1972 | 1973 | 1974 | 1975 | 1978 | 1979 | 1980 | 1981 |
1976 | Hi 1977 |
1982 | . 1983 | 1984 | 1985 | 1988 | 1989 |
1986 | Hi 1987 |
1990 | . 1991 | 1992 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1993 | src line: 2541 1994 | 1995 | . 1996 | 1997 | 1998 | 1999 | 2000 | 2003 | 2004 | 2005 | 2006 |
2001 | Hi 2002 |
2007 | . 2008 | 2009 | 2010 |
<td>
2011 |   Hi
2012 | </td>
2013 | 
2014 | 2015 |
2016 | . 2017 | 2018 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2019 | src line: 2589 2020 | 2021 | . 2022 | [foo]: /url "title" 2023 | 2024 | [foo] 2025 | . 2026 |

foo

2027 | . 2028 | 2029 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2030 | src line: 2598 2031 | 2032 | . 2033 | [foo]: 2034 | /url 2035 | 'the title' 2036 | 2037 | [foo] 2038 | . 2039 |

foo

2040 | . 2041 | 2042 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2043 | src line: 2609 2044 | 2045 | . 2046 | [Foo*bar\]]:my_(url) 'title (with parens)' 2047 | 2048 | [Foo*bar\]] 2049 | . 2050 |

Foo*bar]

2051 | . 2052 | 2053 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2054 | src line: 2618 2055 | 2056 | . 2057 | [Foo bar]: 2058 | 2059 | 'title' 2060 | 2061 | [Foo bar] 2062 | . 2063 |

Foo bar

2064 | . 2065 | 2066 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2067 | src line: 2631 2068 | 2069 | . 2070 | [foo]: /url ' 2071 | title 2072 | line1 2073 | line2 2074 | ' 2075 | 2076 | [foo] 2077 | . 2078 |

foo

2083 | . 2084 | 2085 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2086 | src line: 2650 2087 | 2088 | . 2089 | [foo]: /url 'title 2090 | 2091 | with blank line' 2092 | 2093 | [foo] 2094 | . 2095 |

[foo]: /url 'title

2096 |

with blank line'

2097 |

[foo]

2098 | . 2099 | 2100 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2101 | src line: 2665 2102 | 2103 | . 2104 | [foo]: 2105 | /url 2106 | 2107 | [foo] 2108 | . 2109 |

foo

2110 | . 2111 | 2112 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2113 | src line: 2677 2114 | 2115 | . 2116 | [foo]: 2117 | 2118 | [foo] 2119 | . 2120 |

[foo]:

2121 |

[foo]

2122 | . 2123 | 2124 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2125 | src line: 2690 2126 | 2127 | . 2128 | [foo]: /url\bar\*baz "foo\"bar\baz" 2129 | 2130 | [foo] 2131 | . 2132 |

foo

2133 | . 2134 | 2135 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2136 | src line: 2701 2137 | 2138 | . 2139 | [foo] 2140 | 2141 | [foo]: url 2142 | . 2143 |

foo

2144 | . 2145 | 2146 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2147 | src line: 2713 2148 | 2149 | . 2150 | [foo] 2151 | 2152 | [foo]: first 2153 | [foo]: second 2154 | . 2155 |

foo

2156 | . 2157 | 2158 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2159 | src line: 2726 2160 | 2161 | . 2162 | [FOO]: /url 2163 | 2164 | [Foo] 2165 | . 2166 |

Foo

2167 | . 2168 | 2169 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2170 | src line: 2735 2171 | 2172 | . 2173 | [ΑΓΩ]: /φου 2174 | 2175 | [αγω] 2176 | . 2177 |

αγω

2178 | . 2179 | 2180 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2181 | src line: 2747 2182 | 2183 | . 2184 | [foo]: /url 2185 | . 2186 | . 2187 | 2188 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2189 | src line: 2755 2190 | 2191 | . 2192 | [ 2193 | foo 2194 | ]: /url 2195 | bar 2196 | . 2197 |

bar

2198 | . 2199 | 2200 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2201 | src line: 2768 2202 | 2203 | . 2204 | [foo]: /url "title" ok 2205 | . 2206 |

[foo]: /url "title" ok

2207 | . 2208 | 2209 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2210 | src line: 2777 2211 | 2212 | . 2213 | [foo]: /url 2214 | "title" ok 2215 | . 2216 |

"title" ok

2217 | . 2218 | 2219 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2220 | src line: 2788 2221 | 2222 | . 2223 | [foo]: /url "title" 2224 | 2225 | [foo] 2226 | . 2227 |
[foo]: /url "title"
2228 | 
2229 |

[foo]

2230 | . 2231 | 2232 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2233 | src line: 2802 2234 | 2235 | . 2236 | ``` 2237 | [foo]: /url 2238 | ``` 2239 | 2240 | [foo] 2241 | . 2242 |
[foo]: /url
2243 | 
2244 |

[foo]

2245 | . 2246 | 2247 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2248 | src line: 2817 2249 | 2250 | . 2251 | Foo 2252 | [bar]: /baz 2253 | 2254 | [bar] 2255 | . 2256 |

Foo 2257 | [bar]: /baz

2258 |

[bar]

2259 | . 2260 | 2261 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2262 | src line: 2832 2263 | 2264 | . 2265 | # [Foo] 2266 | [foo]: /url 2267 | > bar 2268 | . 2269 |

Foo

2270 |
2271 |

bar

2272 |
2273 | . 2274 | 2275 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2276 | src line: 2847 2277 | 2278 | . 2279 | [foo]: /foo-url "foo" 2280 | [bar]: /bar-url 2281 | "bar" 2282 | [baz]: /baz-url 2283 | 2284 | [foo], 2285 | [bar], 2286 | [baz] 2287 | . 2288 |

foo, 2289 | bar, 2290 | baz

2291 | . 2292 | 2293 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2294 | src line: 2868 2295 | 2296 | . 2297 | [foo] 2298 | 2299 | > [foo]: /url 2300 | . 2301 |

foo

2302 |
2303 |
2304 | . 2305 | 2306 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2307 | src line: 2891 2308 | 2309 | . 2310 | aaa 2311 | 2312 | bbb 2313 | . 2314 |

aaa

2315 |

bbb

2316 | . 2317 | 2318 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2319 | src line: 2903 2320 | 2321 | . 2322 | aaa 2323 | bbb 2324 | 2325 | ccc 2326 | ddd 2327 | . 2328 |

aaa 2329 | bbb

2330 |

ccc 2331 | ddd

2332 | . 2333 | 2334 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2335 | src line: 2919 2336 | 2337 | . 2338 | aaa 2339 | 2340 | 2341 | bbb 2342 | . 2343 |

aaa

2344 |

bbb

2345 | . 2346 | 2347 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2348 | src line: 2932 2349 | 2350 | . 2351 | aaa 2352 | bbb 2353 | . 2354 |

aaa 2355 | bbb

2356 | . 2357 | 2358 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2359 | src line: 2944 2360 | 2361 | . 2362 | aaa 2363 | bbb 2364 | ccc 2365 | . 2366 |

aaa 2367 | bbb 2368 | ccc

2369 | . 2370 | 2371 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2372 | src line: 2958 2373 | 2374 | . 2375 | aaa 2376 | bbb 2377 | . 2378 |

aaa 2379 | bbb

2380 | . 2381 | 2382 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2383 | src line: 2967 2384 | 2385 | . 2386 | aaa 2387 | bbb 2388 | . 2389 |
aaa
2390 | 
2391 |

bbb

2392 | . 2393 | 2394 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2395 | src line: 2981 2396 | 2397 | . 2398 | aaa 2399 | bbb 2400 | . 2401 |

aaa
2402 | bbb

2403 | . 2404 | 2405 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2406 | src line: 2998 2407 | 2408 | . 2409 | 2410 | 2411 | aaa 2412 | 2413 | 2414 | # aaa 2415 | 2416 | 2417 | . 2418 |

aaa

2419 |

aaa

2420 | . 2421 | 2422 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2423 | src line: 3064 2424 | 2425 | . 2426 | > # Foo 2427 | > bar 2428 | > baz 2429 | . 2430 |
2431 |

Foo

2432 |

bar 2433 | baz

2434 |
2435 | . 2436 | 2437 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2438 | src line: 3079 2439 | 2440 | . 2441 | ># Foo 2442 | >bar 2443 | > baz 2444 | . 2445 |
2446 |

Foo

2447 |

bar 2448 | baz

2449 |
2450 | . 2451 | 2452 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2453 | src line: 3094 2454 | 2455 | . 2456 | > # Foo 2457 | > bar 2458 | > baz 2459 | . 2460 |
2461 |

Foo

2462 |

bar 2463 | baz

2464 |
2465 | . 2466 | 2467 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2468 | src line: 3109 2469 | 2470 | . 2471 | > # Foo 2472 | > bar 2473 | > baz 2474 | . 2475 |
> # Foo
2476 | > bar
2477 | > baz
2478 | 
2479 | . 2480 | 2481 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2482 | src line: 3124 2483 | 2484 | . 2485 | > # Foo 2486 | > bar 2487 | baz 2488 | . 2489 |
2490 |

Foo

2491 |

bar 2492 | baz

2493 |
2494 | . 2495 | 2496 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2497 | src line: 3140 2498 | 2499 | . 2500 | > bar 2501 | baz 2502 | > foo 2503 | . 2504 |
2505 |

bar 2506 | baz 2507 | foo

2508 |
2509 | . 2510 | 2511 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2512 | src line: 3164 2513 | 2514 | . 2515 | > foo 2516 | --- 2517 | . 2518 |
2519 |

foo

2520 |
2521 |
2522 | . 2523 | 2524 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2525 | src line: 3184 2526 | 2527 | . 2528 | > - foo 2529 | - bar 2530 | . 2531 |
2532 |
    2533 |
  • foo
  • 2534 |
2535 |
2536 |
    2537 |
  • bar
  • 2538 |
2539 | . 2540 | 2541 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2542 | src line: 3202 2543 | 2544 | . 2545 | > foo 2546 | bar 2547 | . 2548 |
2549 |
foo
2550 | 
2551 |
2552 |
bar
2553 | 
2554 | . 2555 | 2556 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2557 | src line: 3215 2558 | 2559 | . 2560 | > ``` 2561 | foo 2562 | ``` 2563 | . 2564 |
2565 |
2566 |
2567 |

foo

2568 |
2569 | . 2570 | 2571 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2572 | src line: 3231 2573 | 2574 | . 2575 | > foo 2576 | - bar 2577 | . 2578 |
2579 |

foo 2580 | - bar

2581 |
2582 | . 2583 | 2584 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2585 | src line: 3255 2586 | 2587 | . 2588 | > 2589 | . 2590 |
2591 |
2592 | . 2593 | 2594 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2595 | src line: 3263 2596 | 2597 | . 2598 | > 2599 | > 2600 | > 2601 | . 2602 |
2603 |
2604 | . 2605 | 2606 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2607 | src line: 3275 2608 | 2609 | . 2610 | > 2611 | > foo 2612 | > 2613 | . 2614 |
2615 |

foo

2616 |
2617 | . 2618 | 2619 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2620 | src line: 3288 2621 | 2622 | . 2623 | > foo 2624 | 2625 | > bar 2626 | . 2627 |
2628 |

foo

2629 |
2630 |
2631 |

bar

2632 |
2633 | . 2634 | 2635 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2636 | src line: 3310 2637 | 2638 | . 2639 | > foo 2640 | > bar 2641 | . 2642 |
2643 |

foo 2644 | bar

2645 |
2646 | . 2647 | 2648 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2649 | src line: 3323 2650 | 2651 | . 2652 | > foo 2653 | > 2654 | > bar 2655 | . 2656 |
2657 |

foo

2658 |

bar

2659 |
2660 | . 2661 | 2662 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2663 | src line: 3337 2664 | 2665 | . 2666 | foo 2667 | > bar 2668 | . 2669 |

foo

2670 |
2671 |

bar

2672 |
2673 | . 2674 | 2675 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2676 | src line: 3351 2677 | 2678 | . 2679 | > aaa 2680 | *** 2681 | > bbb 2682 | . 2683 |
2684 |

aaa

2685 |
2686 |
2687 |
2688 |

bbb

2689 |
2690 | . 2691 | 2692 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2693 | src line: 3369 2694 | 2695 | . 2696 | > bar 2697 | baz 2698 | . 2699 |
2700 |

bar 2701 | baz

2702 |
2703 | . 2704 | 2705 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2706 | src line: 3380 2707 | 2708 | . 2709 | > bar 2710 | 2711 | baz 2712 | . 2713 |
2714 |

bar

2715 |
2716 |

baz

2717 | . 2718 | 2719 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2720 | src line: 3392 2721 | 2722 | . 2723 | > bar 2724 | > 2725 | baz 2726 | . 2727 |
2728 |

bar

2729 |
2730 |

baz

2731 | . 2732 | 2733 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2734 | src line: 3408 2735 | 2736 | . 2737 | > > > foo 2738 | bar 2739 | . 2740 |
2741 |
2742 |
2743 |

foo 2744 | bar

2745 |
2746 |
2747 |
2748 | . 2749 | 2750 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2751 | src line: 3423 2752 | 2753 | . 2754 | >>> foo 2755 | > bar 2756 | >>baz 2757 | . 2758 |
2759 |
2760 |
2761 |

foo 2762 | bar 2763 | baz

2764 |
2765 |
2766 |
2767 | . 2768 | 2769 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2770 | src line: 3445 2771 | 2772 | . 2773 | > code 2774 | 2775 | > not code 2776 | . 2777 |
2778 |
code
2779 | 
2780 |
2781 |
2782 |

not code

2783 |
2784 | . 2785 | 2786 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2787 | src line: 3490 2788 | 2789 | . 2790 | A paragraph 2791 | with two lines. 2792 | 2793 | indented code 2794 | 2795 | > A block quote. 2796 | . 2797 |

A paragraph 2798 | with two lines.

2799 |
indented code
2800 | 
2801 |
2802 |

A block quote.

2803 |
2804 | . 2805 | 2806 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2807 | src line: 3512 2808 | 2809 | . 2810 | 1. A paragraph 2811 | with two lines. 2812 | 2813 | indented code 2814 | 2815 | > A block quote. 2816 | . 2817 |
    2818 |
  1. 2819 |

    A paragraph 2820 | with two lines.

    2821 |
    indented code
    2822 | 
    2823 |
    2824 |

    A block quote.

    2825 |
    2826 |
  2. 2827 |
2828 | . 2829 | 2830 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2831 | src line: 3545 2832 | 2833 | . 2834 | - one 2835 | 2836 | two 2837 | . 2838 |
    2839 |
  • one
  • 2840 |
2841 |

two

2842 | . 2843 | 2844 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2845 | src line: 3557 2846 | 2847 | . 2848 | - one 2849 | 2850 | two 2851 | . 2852 |
    2853 |
  • 2854 |

    one

    2855 |

    two

    2856 |
  • 2857 |
2858 | . 2859 | 2860 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2861 | src line: 3571 2862 | 2863 | . 2864 | - one 2865 | 2866 | two 2867 | . 2868 |
    2869 |
  • one
  • 2870 |
2871 |
 two
2872 | 
2873 | . 2874 | 2875 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2876 | src line: 3584 2877 | 2878 | . 2879 | - one 2880 | 2881 | two 2882 | . 2883 |
    2884 |
  • 2885 |

    one

    2886 |

    two

    2887 |
  • 2888 |
2889 | . 2890 | 2891 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2892 | src line: 3606 2893 | 2894 | . 2895 | > > 1. one 2896 | >> 2897 | >> two 2898 | . 2899 |
2900 |
2901 |
    2902 |
  1. 2903 |

    one

    2904 |

    two

    2905 |
  2. 2906 |
2907 |
2908 |
2909 | . 2910 | 2911 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2912 | src line: 3633 2913 | 2914 | . 2915 | >>- one 2916 | >> 2917 | > > two 2918 | . 2919 |
2920 |
2921 |
    2922 |
  • one
  • 2923 |
2924 |

two

2925 |
2926 |
2927 | . 2928 | 2929 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2930 | src line: 3652 2931 | 2932 | . 2933 | -one 2934 | 2935 | 2.two 2936 | . 2937 |

-one

2938 |

2.two

2939 | . 2940 | 2941 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2942 | src line: 3666 2943 | 2944 | . 2945 | - foo 2946 | 2947 | bar 2948 | 2949 | - foo 2950 | 2951 | 2952 | bar 2953 | 2954 | - ``` 2955 | foo 2956 | 2957 | 2958 | bar 2959 | ``` 2960 | 2961 | - baz 2962 | 2963 | + ``` 2964 | foo 2965 | 2966 | 2967 | bar 2968 | ``` 2969 | . 2970 |
    2971 |
  • 2972 |

    foo

    2973 |

    bar

    2974 |
  • 2975 |
  • 2976 |

    foo

    2977 |
  • 2978 |
2979 |

bar

2980 |
    2981 |
  • 2982 |
    foo
    2983 | 
    2984 | 
    2985 | bar
    2986 | 
    2987 |
  • 2988 |
  • 2989 |

    baz

    2990 |
      2991 |
    • 2992 |
      foo
      2993 | 
      2994 | 
      2995 | bar
      2996 | 
      2997 |
    • 2998 |
    2999 |
  • 3000 |
3001 | . 3002 | 3003 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3004 | src line: 3728 3005 | 3006 | . 3007 | 1. foo 3008 | 3009 | ``` 3010 | bar 3011 | ``` 3012 | 3013 | baz 3014 | 3015 | > bam 3016 | . 3017 |
    3018 |
  1. 3019 |

    foo

    3020 |
    bar
    3021 | 
    3022 |

    baz

    3023 |
    3024 |

    bam

    3025 |
    3026 |
  2. 3027 |
3028 | . 3029 | 3030 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3031 | src line: 3758 3032 | 3033 | . 3034 | - Foo 3035 | 3036 | bar 3037 | 3038 | baz 3039 | . 3040 |
    3041 |
  • 3042 |

    Foo

    3043 |
    bar
    3044 | 
    3045 | baz
    3046 | 
    3047 |
  • 3048 |
3049 | . 3050 | 3051 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3052 | src line: 3777 3053 | 3054 | . 3055 | - Foo 3056 | 3057 | bar 3058 | 3059 | 3060 | baz 3061 | . 3062 |
    3063 |
  • 3064 |

    Foo

    3065 |
    bar
    3066 | 
    3067 |
  • 3068 |
3069 |
  baz
3070 | 
3071 | . 3072 | 3073 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3074 | src line: 3799 3075 | 3076 | . 3077 | 123456789. ok 3078 | . 3079 |
    3080 |
  1. ok
  2. 3081 |
3082 | . 3083 | 3084 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3085 | src line: 3808 3086 | 3087 | . 3088 | 1234567890. not ok 3089 | . 3090 |

1234567890. not ok

3091 | . 3092 | 3093 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3094 | src line: 3817 3095 | 3096 | . 3097 | 0. ok 3098 | . 3099 |
    3100 |
  1. ok
  2. 3101 |
3102 | . 3103 | 3104 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3105 | src line: 3826 3106 | 3107 | . 3108 | 003. ok 3109 | . 3110 |
    3111 |
  1. ok
  2. 3112 |
3113 | . 3114 | 3115 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3116 | src line: 3837 3117 | 3118 | . 3119 | -1. not ok 3120 | . 3121 |

-1. not ok

3122 | . 3123 | 3124 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3125 | src line: 3861 3126 | 3127 | . 3128 | - foo 3129 | 3130 | bar 3131 | . 3132 |
    3133 |
  • 3134 |

    foo

    3135 |
    bar
    3136 | 
    3137 |
  • 3138 |
3139 | . 3140 | 3141 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3142 | src line: 3878 3143 | 3144 | . 3145 | 10. foo 3146 | 3147 | bar 3148 | . 3149 |
    3150 |
  1. 3151 |

    foo

    3152 |
    bar
    3153 | 
    3154 |
  2. 3155 |
3156 | . 3157 | 3158 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3159 | src line: 3897 3160 | 3161 | . 3162 | indented code 3163 | 3164 | paragraph 3165 | 3166 | more code 3167 | . 3168 |
indented code
3169 | 
3170 |

paragraph

3171 |
more code
3172 | 
3173 | . 3174 | 3175 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3176 | src line: 3912 3177 | 3178 | . 3179 | 1. indented code 3180 | 3181 | paragraph 3182 | 3183 | more code 3184 | . 3185 |
    3186 |
  1. 3187 |
    indented code
    3188 | 
    3189 |

    paragraph

    3190 |
    more code
    3191 | 
    3192 |
  2. 3193 |
3194 | . 3195 | 3196 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3197 | src line: 3934 3198 | 3199 | . 3200 | 1. indented code 3201 | 3202 | paragraph 3203 | 3204 | more code 3205 | . 3206 |
    3207 |
  1. 3208 |
     indented code
    3209 | 
    3210 |

    paragraph

    3211 |
    more code
    3212 | 
    3213 |
  2. 3214 |
3215 | . 3216 | 3217 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3218 | src line: 3961 3219 | 3220 | . 3221 | foo 3222 | 3223 | bar 3224 | . 3225 |

foo

3226 |

bar

3227 | . 3228 | 3229 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3230 | src line: 3971 3231 | 3232 | . 3233 | - foo 3234 | 3235 | bar 3236 | . 3237 |
    3238 |
  • foo
  • 3239 |
3240 |

bar

3241 | . 3242 | 3243 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3244 | src line: 3988 3245 | 3246 | . 3247 | - foo 3248 | 3249 | bar 3250 | . 3251 |
    3252 |
  • 3253 |

    foo

    3254 |

    bar

    3255 |
  • 3256 |
3257 | . 3258 | 3259 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3260 | src line: 4016 3261 | 3262 | . 3263 | - 3264 | foo 3265 | - 3266 | ``` 3267 | bar 3268 | ``` 3269 | - 3270 | baz 3271 | . 3272 |
    3273 |
  • foo
  • 3274 |
  • 3275 |
    bar
    3276 | 
    3277 |
  • 3278 |
  • 3279 |
    baz
    3280 | 
    3281 |
  • 3282 |
3283 | . 3284 | 3285 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3286 | src line: 4044 3287 | 3288 | . 3289 | - 3290 | 3291 | foo 3292 | . 3293 |
    3294 |
  • 3295 |
3296 |

foo

3297 | . 3298 | 3299 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3300 | src line: 4058 3301 | 3302 | . 3303 | - foo 3304 | - 3305 | - bar 3306 | . 3307 |
    3308 |
  • foo
  • 3309 |
  • 3310 |
  • bar
  • 3311 |
3312 | . 3313 | 3314 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3315 | src line: 4073 3316 | 3317 | . 3318 | - foo 3319 | - 3320 | - bar 3321 | . 3322 |
    3323 |
  • foo
  • 3324 |
  • 3325 |
  • bar
  • 3326 |
3327 | . 3328 | 3329 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3330 | src line: 4088 3331 | 3332 | . 3333 | 1. foo 3334 | 2. 3335 | 3. bar 3336 | . 3337 |
    3338 |
  1. foo
  2. 3339 |
  3. 3340 |
  4. bar
  5. 3341 |
3342 | . 3343 | 3344 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3345 | src line: 4103 3346 | 3347 | . 3348 | * 3349 | . 3350 |
    3351 |
  • 3352 |
3353 | . 3354 | 3355 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3356 | src line: 4121 3357 | 3358 | . 3359 | 1. A paragraph 3360 | with two lines. 3361 | 3362 | indented code 3363 | 3364 | > A block quote. 3365 | . 3366 |
    3367 |
  1. 3368 |

    A paragraph 3369 | with two lines.

    3370 |
    indented code
    3371 | 
    3372 |
    3373 |

    A block quote.

    3374 |
    3375 |
  2. 3376 |
3377 | . 3378 | 3379 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3380 | src line: 4145 3381 | 3382 | . 3383 | 1. A paragraph 3384 | with two lines. 3385 | 3386 | indented code 3387 | 3388 | > A block quote. 3389 | . 3390 |
    3391 |
  1. 3392 |

    A paragraph 3393 | with two lines.

    3394 |
    indented code
    3395 | 
    3396 |
    3397 |

    A block quote.

    3398 |
    3399 |
  2. 3400 |
3401 | . 3402 | 3403 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3404 | src line: 4169 3405 | 3406 | . 3407 | 1. A paragraph 3408 | with two lines. 3409 | 3410 | indented code 3411 | 3412 | > A block quote. 3413 | . 3414 |
    3415 |
  1. 3416 |

    A paragraph 3417 | with two lines.

    3418 |
    indented code
    3419 | 
    3420 |
    3421 |

    A block quote.

    3422 |
    3423 |
  2. 3424 |
3425 | . 3426 | 3427 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3428 | src line: 4193 3429 | 3430 | . 3431 | 1. A paragraph 3432 | with two lines. 3433 | 3434 | indented code 3435 | 3436 | > A block quote. 3437 | . 3438 |
1.  A paragraph
3439 |     with two lines.
3440 | 
3441 |         indented code
3442 | 
3443 |     > A block quote.
3444 | 
3445 | . 3446 | 3447 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3448 | src line: 4223 3449 | 3450 | . 3451 | 1. A paragraph 3452 | with two lines. 3453 | 3454 | indented code 3455 | 3456 | > A block quote. 3457 | . 3458 |
    3459 |
  1. 3460 |

    A paragraph 3461 | with two lines.

    3462 |
    indented code
    3463 | 
    3464 |
    3465 |

    A block quote.

    3466 |
    3467 |
  2. 3468 |
3469 | . 3470 | 3471 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3472 | src line: 4247 3473 | 3474 | . 3475 | 1. A paragraph 3476 | with two lines. 3477 | . 3478 |
    3479 |
  1. A paragraph 3480 | with two lines.
  2. 3481 |
3482 | . 3483 | 3484 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3485 | src line: 4260 3486 | 3487 | . 3488 | > 1. > Blockquote 3489 | continued here. 3490 | . 3491 |
3492 |
    3493 |
  1. 3494 |
    3495 |

    Blockquote 3496 | continued here.

    3497 |
    3498 |
  2. 3499 |
3500 |
3501 | . 3502 | 3503 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3504 | src line: 4277 3505 | 3506 | . 3507 | > 1. > Blockquote 3508 | > continued here. 3509 | . 3510 |
3511 |
    3512 |
  1. 3513 |
    3514 |

    Blockquote 3515 | continued here.

    3516 |
    3517 |
  2. 3518 |
3519 |
3520 | . 3521 | 3522 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3523 | src line: 4304 3524 | 3525 | . 3526 | - foo 3527 | - bar 3528 | - baz 3529 | . 3530 |
    3531 |
  • foo 3532 |
      3533 |
    • bar 3534 |
        3535 |
      • baz
      • 3536 |
      3537 |
    • 3538 |
    3539 |
  • 3540 |
3541 | . 3542 | 3543 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3544 | src line: 4325 3545 | 3546 | . 3547 | - foo 3548 | - bar 3549 | - baz 3550 | . 3551 |
    3552 |
  • foo
  • 3553 |
  • bar
  • 3554 |
  • baz
  • 3555 |
3556 | . 3557 | 3558 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3559 | src line: 4340 3560 | 3561 | . 3562 | 10) foo 3563 | - bar 3564 | . 3565 |
    3566 |
  1. foo 3567 |
      3568 |
    • bar
    • 3569 |
    3570 |
  2. 3571 |
3572 | . 3573 | 3574 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3575 | src line: 4356 3576 | 3577 | . 3578 | 10) foo 3579 | - bar 3580 | . 3581 |
    3582 |
  1. foo
  2. 3583 |
3584 |
    3585 |
  • bar
  • 3586 |
3587 | . 3588 | 3589 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3590 | src line: 4371 3591 | 3592 | . 3593 | - - foo 3594 | . 3595 |
    3596 |
  • 3597 |
      3598 |
    • foo
    • 3599 |
    3600 |
  • 3601 |
3602 | . 3603 | 3604 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3605 | src line: 4384 3606 | 3607 | . 3608 | 1. - 2. foo 3609 | . 3610 |
    3611 |
  1. 3612 |
      3613 |
    • 3614 |
        3615 |
      1. foo
      2. 3616 |
      3617 |
    • 3618 |
    3619 |
  2. 3620 |
3621 | . 3622 | 3623 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3624 | src line: 4403 3625 | 3626 | . 3627 | - # Foo 3628 | - Bar 3629 | --- 3630 | baz 3631 | . 3632 |
    3633 |
  • 3634 |

    Foo

    3635 |
  • 3636 |
  • 3637 |

    Bar

    3638 | baz
  • 3639 |
3640 | . 3641 | 3642 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3643 | src line: 4640 3644 | 3645 | . 3646 | - foo 3647 | - bar 3648 | + baz 3649 | . 3650 |
    3651 |
  • foo
  • 3652 |
  • bar
  • 3653 |
3654 |
    3655 |
  • baz
  • 3656 |
3657 | . 3658 | 3659 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3660 | src line: 4655 3661 | 3662 | . 3663 | 1. foo 3664 | 2. bar 3665 | 3) baz 3666 | . 3667 |
    3668 |
  1. foo
  2. 3669 |
  3. bar
  4. 3670 |
3671 |
    3672 |
  1. baz
  2. 3673 |
3674 | . 3675 | 3676 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3677 | src line: 4674 3678 | 3679 | . 3680 | Foo 3681 | - bar 3682 | - baz 3683 | . 3684 |

Foo

3685 |
    3686 |
  • bar
  • 3687 |
  • baz
  • 3688 |
3689 | . 3690 | 3691 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3692 | src line: 4690 3693 | 3694 | . 3695 | The number of windows in my house is 3696 | 14. The number of doors is 6. 3697 | . 3698 |

The number of windows in my house is

3699 |
    3700 |
  1. The number of doors is 6.
  2. 3701 |
3702 | . 3703 | 3704 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3705 | src line: 4756 3706 | 3707 | . 3708 | - foo 3709 | 3710 | - bar 3711 | 3712 | 3713 | - baz 3714 | . 3715 |
    3716 |
  • 3717 |

    foo

    3718 |
  • 3719 |
  • 3720 |

    bar

    3721 |
  • 3722 |
3723 |
    3724 |
  • baz
  • 3725 |
3726 | . 3727 | 3728 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3729 | src line: 4782 3730 | 3731 | . 3732 | - foo 3733 | 3734 | 3735 | bar 3736 | - baz 3737 | . 3738 |
    3739 |
  • foo
  • 3740 |
3741 |

bar

3742 |
    3743 |
  • baz
  • 3744 |
3745 | . 3746 | 3747 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3748 | src line: 4801 3749 | 3750 | . 3751 | - foo 3752 | - bar 3753 | - baz 3754 | 3755 | 3756 | bim 3757 | . 3758 |
    3759 |
  • foo 3760 |
      3761 |
    • bar 3762 |
        3763 |
      • baz
      • 3764 |
      3765 |
    • 3766 |
    3767 |
  • 3768 |
3769 |
  bim
3770 | 
3771 | . 3772 | 3773 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3774 | src line: 4830 3775 | 3776 | . 3777 | - foo 3778 | - bar 3779 | 3780 | 3781 | - baz 3782 | - bim 3783 | . 3784 |
    3785 |
  • foo
  • 3786 |
  • bar
  • 3787 |
3788 |
    3789 |
  • baz
  • 3790 |
  • bim
  • 3791 |
3792 | . 3793 | 3794 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3795 | src line: 4849 3796 | 3797 | . 3798 | - foo 3799 | 3800 | notcode 3801 | 3802 | - foo 3803 | 3804 | 3805 | code 3806 | . 3807 |
    3808 |
  • 3809 |

    foo

    3810 |

    notcode

    3811 |
  • 3812 |
  • 3813 |

    foo

    3814 |
  • 3815 |
3816 |
code
3817 | 
3818 | . 3819 | 3820 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3821 | src line: 4878 3822 | 3823 | . 3824 | - a 3825 | - b 3826 | - c 3827 | - d 3828 | - e 3829 | - f 3830 | - g 3831 | - h 3832 | - i 3833 | . 3834 |
    3835 |
  • a
  • 3836 |
  • b
  • 3837 |
  • c
  • 3838 |
  • d
  • 3839 |
  • e
  • 3840 |
  • f
  • 3841 |
  • g
  • 3842 |
  • h
  • 3843 |
  • i
  • 3844 |
3845 | . 3846 | 3847 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3848 | src line: 4903 3849 | 3850 | . 3851 | 1. a 3852 | 3853 | 2. b 3854 | 3855 | 3. c 3856 | . 3857 |
    3858 |
  1. 3859 |

    a

    3860 |
  2. 3861 |
  3. 3862 |

    b

    3863 |
  4. 3864 |
  5. 3865 |

    c

    3866 |
  6. 3867 |
3868 | . 3869 | 3870 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3871 | src line: 4927 3872 | 3873 | . 3874 | - a 3875 | - b 3876 | 3877 | - c 3878 | . 3879 |
    3880 |
  • 3881 |

    a

    3882 |
  • 3883 |
  • 3884 |

    b

    3885 |
  • 3886 |
  • 3887 |

    c

    3888 |
  • 3889 |
3890 | . 3891 | 3892 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3893 | src line: 4949 3894 | 3895 | . 3896 | * a 3897 | * 3898 | 3899 | * c 3900 | . 3901 |
    3902 |
  • 3903 |

    a

    3904 |
  • 3905 |
  • 3906 |
  • 3907 |

    c

    3908 |
  • 3909 |
3910 | . 3911 | 3912 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3913 | src line: 4971 3914 | 3915 | . 3916 | - a 3917 | - b 3918 | 3919 | c 3920 | - d 3921 | . 3922 |
    3923 |
  • 3924 |

    a

    3925 |
  • 3926 |
  • 3927 |

    b

    3928 |

    c

    3929 |
  • 3930 |
  • 3931 |

    d

    3932 |
  • 3933 |
3934 | . 3935 | 3936 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3937 | src line: 4993 3938 | 3939 | . 3940 | - a 3941 | - b 3942 | 3943 | [ref]: /url 3944 | - d 3945 | . 3946 |
    3947 |
  • 3948 |

    a

    3949 |
  • 3950 |
  • 3951 |

    b

    3952 |
  • 3953 |
  • 3954 |

    d

    3955 |
  • 3956 |
3957 | . 3958 | 3959 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3960 | src line: 5016 3961 | 3962 | . 3963 | - a 3964 | - ``` 3965 | b 3966 | 3967 | 3968 | ``` 3969 | - c 3970 | . 3971 |
    3972 |
  • a
  • 3973 |
  • 3974 |
    b
    3975 | 
    3976 | 
    3977 | 
    3978 |
  • 3979 |
  • c
  • 3980 |
3981 | . 3982 | 3983 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3984 | src line: 5042 3985 | 3986 | . 3987 | - a 3988 | - b 3989 | 3990 | c 3991 | - d 3992 | . 3993 |
    3994 |
  • a 3995 |
      3996 |
    • 3997 |

      b

      3998 |

      c

      3999 |
    • 4000 |
    4001 |
  • 4002 |
  • d
  • 4003 |
4004 | . 4005 | 4006 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4007 | src line: 5066 4008 | 4009 | . 4010 | * a 4011 | > b 4012 | > 4013 | * c 4014 | . 4015 |
    4016 |
  • a 4017 |
    4018 |

    b

    4019 |
    4020 |
  • 4021 |
  • c
  • 4022 |
4023 | . 4024 | 4025 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4026 | src line: 5086 4027 | 4028 | . 4029 | - a 4030 | > b 4031 | ``` 4032 | c 4033 | ``` 4034 | - d 4035 | . 4036 |
    4037 |
  • a 4038 |
    4039 |

    b

    4040 |
    4041 |
    c
    4042 | 
    4043 |
  • 4044 |
  • d
  • 4045 |
4046 | . 4047 | 4048 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4049 | src line: 5109 4050 | 4051 | . 4052 | - a 4053 | . 4054 |
    4055 |
  • a
  • 4056 |
4057 | . 4058 | 4059 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4060 | src line: 5118 4061 | 4062 | . 4063 | - a 4064 | - b 4065 | . 4066 |
    4067 |
  • a 4068 |
      4069 |
    • b
    • 4070 |
    4071 |
  • 4072 |
4073 | . 4074 | 4075 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4076 | src line: 5135 4077 | 4078 | . 4079 | 1. ``` 4080 | foo 4081 | ``` 4082 | 4083 | bar 4084 | . 4085 |
    4086 |
  1. 4087 |
    foo
    4088 | 
    4089 |

    bar

    4090 |
  2. 4091 |
4092 | . 4093 | 4094 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4095 | src line: 5154 4096 | 4097 | . 4098 | * foo 4099 | * bar 4100 | 4101 | baz 4102 | . 4103 |
    4104 |
  • 4105 |

    foo

    4106 |
      4107 |
    • bar
    • 4108 |
    4109 |

    baz

    4110 |
  • 4111 |
4112 | . 4113 | 4114 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4115 | src line: 5172 4116 | 4117 | . 4118 | - a 4119 | - b 4120 | - c 4121 | 4122 | - d 4123 | - e 4124 | - f 4125 | . 4126 |
    4127 |
  • 4128 |

    a

    4129 |
      4130 |
    • b
    • 4131 |
    • c
    • 4132 |
    4133 |
  • 4134 |
  • 4135 |

    d

    4136 |
      4137 |
    • e
    • 4138 |
    • f
    • 4139 |
    4140 |
  • 4141 |
4142 | . 4143 | 4144 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4145 | src line: 5206 4146 | 4147 | . 4148 | `hi`lo` 4149 | . 4150 |

hilo`

4151 | . 4152 | 4153 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4154 | src line: 5220 4155 | 4156 | . 4157 | \!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~ 4158 | . 4159 |

!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

4160 | . 4161 | 4162 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4163 | src line: 5230 4164 | 4165 | . 4166 | \ \A\a\ \3\φ\« 4167 | . 4168 |

\ \A\a\ \3\φ\«

4169 | . 4170 | 4171 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4172 | src line: 5240 4173 | 4174 | . 4175 | \*not emphasized* 4176 | \
not a tag 4177 | \[not a link](/foo) 4178 | \`not code` 4179 | 1\. not a list 4180 | \* not a list 4181 | \# not a heading 4182 | \[foo]: /url "not a reference" 4183 | . 4184 |

*not emphasized* 4185 | <br/> not a tag 4186 | [not a link](/foo) 4187 | `not code` 4188 | 1. not a list 4189 | * not a list 4190 | # not a heading 4191 | [foo]: /url "not a reference"

4192 | . 4193 | 4194 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4195 | src line: 5263 4196 | 4197 | . 4198 | \\*emphasis* 4199 | . 4200 |

\emphasis

4201 | . 4202 | 4203 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4204 | src line: 5272 4205 | 4206 | . 4207 | foo\ 4208 | bar 4209 | . 4210 |

foo
4211 | bar

4212 | . 4213 | 4214 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4215 | src line: 5284 4216 | 4217 | . 4218 | `` \[\` `` 4219 | . 4220 |

\[\`

4221 | . 4222 | 4223 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4224 | src line: 5291 4225 | 4226 | . 4227 | \[\] 4228 | . 4229 |
\[\]
4230 | 
4231 | . 4232 | 4233 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4234 | src line: 5299 4235 | 4236 | . 4237 | ~~~ 4238 | \[\] 4239 | ~~~ 4240 | . 4241 |
\[\]
4242 | 
4243 | . 4244 | 4245 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4246 | src line: 5309 4247 | 4248 | . 4249 | 4250 | . 4251 |

http://example.com?find=\*

4252 | . 4253 | 4254 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4255 | src line: 5316 4256 | 4257 | . 4258 | 4259 | . 4260 | 4261 | . 4262 | 4263 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4264 | src line: 5326 4265 | 4266 | . 4267 | [foo](/bar\* "ti\*tle") 4268 | . 4269 |

foo

4270 | . 4271 | 4272 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4273 | src line: 5333 4274 | 4275 | . 4276 | [foo] 4277 | 4278 | [foo]: /bar\* "ti\*tle" 4279 | . 4280 |

foo

4281 | . 4282 | 4283 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4284 | src line: 5342 4285 | 4286 | . 4287 | ``` foo\+bar 4288 | foo 4289 | ``` 4290 | . 4291 |
foo
4292 | 
4293 | . 4294 | 4295 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4296 | src line: 5369 4297 | 4298 | . 4299 |   & © Æ Ď 4300 | ¾ ℋ ⅆ 4301 | ∲ ≧̸ 4302 | . 4303 |

  & © Æ Ď 4304 | ¾ ℋ ⅆ 4305 | ∲ ≧̸

4306 | . 4307 | 4308 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4309 | src line: 5388 4310 | 4311 | . 4312 | # Ӓ Ϡ � � 4313 | . 4314 |

# Ӓ Ϡ � �

4315 | . 4316 | 4317 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4318 | src line: 5401 4319 | 4320 | . 4321 | " ആ ಫ 4322 | . 4323 |

" ആ ಫ

4324 | . 4325 | 4326 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4327 | src line: 5410 4328 | 4329 | . 4330 |   &x; &#; &#x; 4331 | &ThisIsNotDefined; &hi?; 4332 | . 4333 |

&nbsp &x; &#; &#x; 4334 | &ThisIsNotDefined; &hi?;

4335 | . 4336 | 4337 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4338 | src line: 5423 4339 | 4340 | . 4341 | © 4342 | . 4343 |

&copy

4344 | . 4345 | 4346 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4347 | src line: 5433 4348 | 4349 | . 4350 | &MadeUpEntity; 4351 | . 4352 |

&MadeUpEntity;

4353 | . 4354 | 4355 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4356 | src line: 5444 4357 | 4358 | . 4359 | 4360 | . 4361 | 4362 | . 4363 | 4364 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4365 | src line: 5451 4366 | 4367 | . 4368 | [foo](/föö "föö") 4369 | . 4370 |

foo

4371 | . 4372 | 4373 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4374 | src line: 5458 4375 | 4376 | . 4377 | [foo] 4378 | 4379 | [foo]: /föö "föö" 4380 | . 4381 |

foo

4382 | . 4383 | 4384 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4385 | src line: 5467 4386 | 4387 | . 4388 | ``` föö 4389 | foo 4390 | ``` 4391 | . 4392 |
foo
4393 | 
4394 | . 4395 | 4396 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4397 | src line: 5480 4398 | 4399 | . 4400 | `föö` 4401 | . 4402 |

f&ouml;&ouml;

4403 | . 4404 | 4405 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4406 | src line: 5487 4407 | 4408 | . 4409 | föfö 4410 | . 4411 |
f&ouml;f&ouml;
4412 | 
4413 | . 4414 | 4415 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4416 | src line: 5509 4417 | 4418 | . 4419 | `foo` 4420 | . 4421 |

foo

4422 | . 4423 | 4424 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4425 | src line: 5519 4426 | 4427 | . 4428 | `` foo ` bar `` 4429 | . 4430 |

foo ` bar

4431 | . 4432 | 4433 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4434 | src line: 5529 4435 | 4436 | . 4437 | ` `` ` 4438 | . 4439 |

``

4440 | . 4441 | 4442 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4443 | src line: 5538 4444 | 4445 | . 4446 | `` 4447 | foo 4448 | `` 4449 | . 4450 |

foo

4451 | . 4452 | 4453 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4454 | src line: 5550 4455 | 4456 | . 4457 | `foo bar 4458 | baz` 4459 | . 4460 |

foo bar baz

4461 | . 4462 | 4463 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4464 | src line: 5571 4465 | 4466 | . 4467 | `foo `` bar` 4468 | . 4469 |

foo `` bar

4470 | . 4471 | 4472 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4473 | src line: 5581 4474 | 4475 | . 4476 | `foo\`bar` 4477 | . 4478 |

foo\bar`

4479 | . 4480 | 4481 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4482 | src line: 5597 4483 | 4484 | . 4485 | *foo`*` 4486 | . 4487 |

*foo*

4488 | . 4489 | 4490 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4491 | src line: 5606 4492 | 4493 | . 4494 | [not a `link](/foo`) 4495 | . 4496 |

[not a link](/foo)

4497 | . 4498 | 4499 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4500 | src line: 5616 4501 | 4502 | . 4503 | `` 4504 | . 4505 |

<a href="">`

4506 | . 4507 | 4508 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4509 | src line: 5625 4510 | 4511 | . 4512 |
` 4513 | . 4514 |

`

4515 | . 4516 | 4517 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4518 | src line: 5634 4519 | 4520 | . 4521 | `` 4522 | . 4523 |

<http://foo.bar.baz>`

4524 | . 4525 | 4526 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4527 | src line: 5643 4528 | 4529 | . 4530 | ` 4531 | . 4532 |

http://foo.bar.`baz`

4533 | . 4534 | 4535 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4536 | src line: 5653 4537 | 4538 | . 4539 | ```foo`` 4540 | . 4541 |

```foo``

4542 | . 4543 | 4544 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4545 | src line: 5660 4546 | 4547 | . 4548 | `foo 4549 | . 4550 |

`foo

4551 | . 4552 | 4553 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4554 | src line: 5870 4555 | 4556 | . 4557 | *foo bar* 4558 | . 4559 |

foo bar

4560 | . 4561 | 4562 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4563 | src line: 5880 4564 | 4565 | . 4566 | a * foo bar* 4567 | . 4568 |

a * foo bar*

4569 | . 4570 | 4571 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4572 | src line: 5891 4573 | 4574 | . 4575 | a*"foo"* 4576 | . 4577 |

a*"foo"*

4578 | . 4579 | 4580 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4581 | src line: 5900 4582 | 4583 | . 4584 | * a * 4585 | . 4586 |

* a *

4587 | . 4588 | 4589 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4590 | src line: 5909 4591 | 4592 | . 4593 | foo*bar* 4594 | . 4595 |

foobar

4596 | . 4597 | 4598 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4599 | src line: 5916 4600 | 4601 | . 4602 | 5*6*78 4603 | . 4604 |

5678

4605 | . 4606 | 4607 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4608 | src line: 5925 4609 | 4610 | . 4611 | _foo bar_ 4612 | . 4613 |

foo bar

4614 | . 4615 | 4616 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4617 | src line: 5935 4618 | 4619 | . 4620 | _ foo bar_ 4621 | . 4622 |

_ foo bar_

4623 | . 4624 | 4625 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4626 | src line: 5945 4627 | 4628 | . 4629 | a_"foo"_ 4630 | . 4631 |

a_"foo"_

4632 | . 4633 | 4634 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4635 | src line: 5954 4636 | 4637 | . 4638 | foo_bar_ 4639 | . 4640 |

foo_bar_

4641 | . 4642 | 4643 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4644 | src line: 5961 4645 | 4646 | . 4647 | 5_6_78 4648 | . 4649 |

5_6_78

4650 | . 4651 | 4652 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4653 | src line: 5968 4654 | 4655 | . 4656 | пристаням_стремятся_ 4657 | . 4658 |

пристаням_стремятся_

4659 | . 4660 | 4661 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4662 | src line: 5978 4663 | 4664 | . 4665 | aa_"bb"_cc 4666 | . 4667 |

aa_"bb"_cc

4668 | . 4669 | 4670 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4671 | src line: 5989 4672 | 4673 | . 4674 | foo-_(bar)_ 4675 | . 4676 |

foo-(bar)

4677 | . 4678 | 4679 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4680 | src line: 6001 4681 | 4682 | . 4683 | _foo* 4684 | . 4685 |

_foo*

4686 | . 4687 | 4688 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4689 | src line: 6011 4690 | 4691 | . 4692 | *foo bar * 4693 | . 4694 |

*foo bar *

4695 | . 4696 | 4697 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4698 | src line: 6020 4699 | 4700 | . 4701 | *foo bar 4702 | * 4703 | . 4704 |

*foo bar

4705 |
    4706 |
  • 4707 |
4708 | . 4709 | 4710 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4711 | src line: 6035 4712 | 4713 | . 4714 | *(*foo) 4715 | . 4716 |

*(*foo)

4717 | . 4718 | 4719 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4720 | src line: 6045 4721 | 4722 | . 4723 | *(*foo*)* 4724 | . 4725 |

(foo)

4726 | . 4727 | 4728 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4729 | src line: 6054 4730 | 4731 | . 4732 | *foo*bar 4733 | . 4734 |

foobar

4735 | . 4736 | 4737 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4738 | src line: 6067 4739 | 4740 | . 4741 | _foo bar _ 4742 | . 4743 |

_foo bar _

4744 | . 4745 | 4746 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4747 | src line: 6077 4748 | 4749 | . 4750 | _(_foo) 4751 | . 4752 |

_(_foo)

4753 | . 4754 | 4755 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4756 | src line: 6086 4757 | 4758 | . 4759 | _(_foo_)_ 4760 | . 4761 |

(foo)

4762 | . 4763 | 4764 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4765 | src line: 6095 4766 | 4767 | . 4768 | _foo_bar 4769 | . 4770 |

_foo_bar

4771 | . 4772 | 4773 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4774 | src line: 6102 4775 | 4776 | . 4777 | _пристаням_стремятся 4778 | . 4779 |

_пристаням_стремятся

4780 | . 4781 | 4782 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4783 | src line: 6109 4784 | 4785 | . 4786 | _foo_bar_baz_ 4787 | . 4788 |

foo_bar_baz

4789 | . 4790 | 4791 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4792 | src line: 6120 4793 | 4794 | . 4795 | _(bar)_. 4796 | . 4797 |

(bar).

4798 | . 4799 | 4800 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4801 | src line: 6129 4802 | 4803 | . 4804 | **foo bar** 4805 | . 4806 |

foo bar

4807 | . 4808 | 4809 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4810 | src line: 6139 4811 | 4812 | . 4813 | ** foo bar** 4814 | . 4815 |

** foo bar**

4816 | . 4817 | 4818 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4819 | src line: 6150 4820 | 4821 | . 4822 | a**"foo"** 4823 | . 4824 |

a**"foo"**

4825 | . 4826 | 4827 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4828 | src line: 6159 4829 | 4830 | . 4831 | foo**bar** 4832 | . 4833 |

foobar

4834 | . 4835 | 4836 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4837 | src line: 6168 4838 | 4839 | . 4840 | __foo bar__ 4841 | . 4842 |

foo bar

4843 | . 4844 | 4845 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4846 | src line: 6178 4847 | 4848 | . 4849 | __ foo bar__ 4850 | . 4851 |

__ foo bar__

4852 | . 4853 | 4854 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4855 | src line: 6186 4856 | 4857 | . 4858 | __ 4859 | foo bar__ 4860 | . 4861 |

__ 4862 | foo bar__

4863 | . 4864 | 4865 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4866 | src line: 6198 4867 | 4868 | . 4869 | a__"foo"__ 4870 | . 4871 |

a__"foo"__

4872 | . 4873 | 4874 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4875 | src line: 6207 4876 | 4877 | . 4878 | foo__bar__ 4879 | . 4880 |

foo__bar__

4881 | . 4882 | 4883 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4884 | src line: 6214 4885 | 4886 | . 4887 | 5__6__78 4888 | . 4889 |

5__6__78

4890 | . 4891 | 4892 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4893 | src line: 6221 4894 | 4895 | . 4896 | пристаням__стремятся__ 4897 | . 4898 |

пристаням__стремятся__

4899 | . 4900 | 4901 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4902 | src line: 6228 4903 | 4904 | . 4905 | __foo, __bar__, baz__ 4906 | . 4907 |

foo, bar, baz

4908 | . 4909 | 4910 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4911 | src line: 6239 4912 | 4913 | . 4914 | foo-__(bar)__ 4915 | . 4916 |

foo-(bar)

4917 | . 4918 | 4919 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4920 | src line: 6252 4921 | 4922 | . 4923 | **foo bar ** 4924 | . 4925 |

**foo bar **

4926 | . 4927 | 4928 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4929 | src line: 6265 4930 | 4931 | . 4932 | **(**foo) 4933 | . 4934 |

**(**foo)

4935 | . 4936 | 4937 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4938 | src line: 6275 4939 | 4940 | . 4941 | *(**foo**)* 4942 | . 4943 |

(foo)

4944 | . 4945 | 4946 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4947 | src line: 6282 4948 | 4949 | . 4950 | **Gomphocarpus (*Gomphocarpus physocarpus*, syn. 4951 | *Asclepias physocarpa*)** 4952 | . 4953 |

Gomphocarpus (Gomphocarpus physocarpus, syn. 4954 | Asclepias physocarpa)

4955 | . 4956 | 4957 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4958 | src line: 6291 4959 | 4960 | . 4961 | **foo "*bar*" foo** 4962 | . 4963 |

foo "bar" foo

4964 | . 4965 | 4966 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4967 | src line: 6300 4968 | 4969 | . 4970 | **foo**bar 4971 | . 4972 |

foobar

4973 | . 4974 | 4975 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4976 | src line: 6312 4977 | 4978 | . 4979 | __foo bar __ 4980 | . 4981 |

__foo bar __

4982 | . 4983 | 4984 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4985 | src line: 6322 4986 | 4987 | . 4988 | __(__foo) 4989 | . 4990 |

__(__foo)

4991 | . 4992 | 4993 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4994 | src line: 6332 4995 | 4996 | . 4997 | _(__foo__)_ 4998 | . 4999 |

(foo)

5000 | . 5001 | 5002 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5003 | src line: 6341 5004 | 5005 | . 5006 | __foo__bar 5007 | . 5008 |

__foo__bar

5009 | . 5010 | 5011 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5012 | src line: 6348 5013 | 5014 | . 5015 | __пристаням__стремятся 5016 | . 5017 |

__пристаням__стремятся

5018 | . 5019 | 5020 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5021 | src line: 6355 5022 | 5023 | . 5024 | __foo__bar__baz__ 5025 | . 5026 |

foo__bar__baz

5027 | . 5028 | 5029 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5030 | src line: 6366 5031 | 5032 | . 5033 | __(bar)__. 5034 | . 5035 |

(bar).

5036 | . 5037 | 5038 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5039 | src line: 6378 5040 | 5041 | . 5042 | *foo [bar](/url)* 5043 | . 5044 |

foo bar

5045 | . 5046 | 5047 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5048 | src line: 6385 5049 | 5050 | . 5051 | *foo 5052 | bar* 5053 | . 5054 |

foo 5055 | bar

5056 | . 5057 | 5058 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5059 | src line: 6397 5060 | 5061 | . 5062 | _foo __bar__ baz_ 5063 | . 5064 |

foo bar baz

5065 | . 5066 | 5067 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5068 | src line: 6404 5069 | 5070 | . 5071 | _foo _bar_ baz_ 5072 | . 5073 |

foo bar baz

5074 | . 5075 | 5076 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5077 | src line: 6411 5078 | 5079 | . 5080 | __foo_ bar_ 5081 | . 5082 |

foo bar

5083 | . 5084 | 5085 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5086 | src line: 6418 5087 | 5088 | . 5089 | *foo *bar** 5090 | . 5091 |

foo bar

5092 | . 5093 | 5094 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5095 | src line: 6425 5096 | 5097 | . 5098 | *foo **bar** baz* 5099 | . 5100 |

foo bar baz

5101 | . 5102 | 5103 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5104 | src line: 6434 5105 | 5106 | . 5107 | *foo**bar**baz* 5108 | . 5109 |

foobarbaz

5110 | . 5111 | 5112 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5113 | src line: 6444 5114 | 5115 | . 5116 | ***foo** bar* 5117 | . 5118 |

foo bar

5119 | . 5120 | 5121 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5122 | src line: 6451 5123 | 5124 | . 5125 | *foo **bar*** 5126 | . 5127 |

foo bar

5128 | . 5129 | 5130 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5131 | src line: 6462 5132 | 5133 | . 5134 | *foo**bar*** 5135 | . 5136 |

foobar**

5137 | . 5138 | 5139 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5140 | src line: 6472 5141 | 5142 | . 5143 | *foo **bar *baz* bim** bop* 5144 | . 5145 |

foo bar baz bim bop

5146 | . 5147 | 5148 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5149 | src line: 6479 5150 | 5151 | . 5152 | *foo [*bar*](/url)* 5153 | . 5154 |

foo bar

5155 | . 5156 | 5157 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5158 | src line: 6488 5159 | 5160 | . 5161 | ** is not an empty emphasis 5162 | . 5163 |

** is not an empty emphasis

5164 | . 5165 | 5166 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5167 | src line: 6495 5168 | 5169 | . 5170 | **** is not an empty strong emphasis 5171 | . 5172 |

**** is not an empty strong emphasis

5173 | . 5174 | 5175 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5176 | src line: 6508 5177 | 5178 | . 5179 | **foo [bar](/url)** 5180 | . 5181 |

foo bar

5182 | . 5183 | 5184 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5185 | src line: 6515 5186 | 5187 | . 5188 | **foo 5189 | bar** 5190 | . 5191 |

foo 5192 | bar

5193 | . 5194 | 5195 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5196 | src line: 6527 5197 | 5198 | . 5199 | __foo _bar_ baz__ 5200 | . 5201 |

foo bar baz

5202 | . 5203 | 5204 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5205 | src line: 6534 5206 | 5207 | . 5208 | __foo __bar__ baz__ 5209 | . 5210 |

foo bar baz

5211 | . 5212 | 5213 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5214 | src line: 6541 5215 | 5216 | . 5217 | ____foo__ bar__ 5218 | . 5219 |

foo bar

5220 | . 5221 | 5222 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5223 | src line: 6548 5224 | 5225 | . 5226 | **foo **bar**** 5227 | . 5228 |

foo bar

5229 | . 5230 | 5231 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5232 | src line: 6555 5233 | 5234 | . 5235 | **foo *bar* baz** 5236 | . 5237 |

foo bar baz

5238 | . 5239 | 5240 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5241 | src line: 6564 5242 | 5243 | . 5244 | **foo*bar*baz** 5245 | . 5246 |

foobarbaz**

5247 | . 5248 | 5249 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5250 | src line: 6574 5251 | 5252 | . 5253 | ***foo* bar** 5254 | . 5255 |

foo bar

5256 | . 5257 | 5258 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5259 | src line: 6581 5260 | 5261 | . 5262 | **foo *bar*** 5263 | . 5264 |

foo bar

5265 | . 5266 | 5267 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5268 | src line: 6590 5269 | 5270 | . 5271 | **foo *bar **baz** 5272 | bim* bop** 5273 | . 5274 |

foo bar baz 5275 | bim bop

5276 | . 5277 | 5278 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5279 | src line: 6599 5280 | 5281 | . 5282 | **foo [*bar*](/url)** 5283 | . 5284 |

foo bar

5285 | . 5286 | 5287 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5288 | src line: 6608 5289 | 5290 | . 5291 | __ is not an empty emphasis 5292 | . 5293 |

__ is not an empty emphasis

5294 | . 5295 | 5296 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5297 | src line: 6615 5298 | 5299 | . 5300 | ____ is not an empty strong emphasis 5301 | . 5302 |

____ is not an empty strong emphasis

5303 | . 5304 | 5305 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5306 | src line: 6625 5307 | 5308 | . 5309 | foo *** 5310 | . 5311 |

foo ***

5312 | . 5313 | 5314 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5315 | src line: 6632 5316 | 5317 | . 5318 | foo *\** 5319 | . 5320 |

foo *

5321 | . 5322 | 5323 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5324 | src line: 6639 5325 | 5326 | . 5327 | foo *_* 5328 | . 5329 |

foo _

5330 | . 5331 | 5332 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5333 | src line: 6646 5334 | 5335 | . 5336 | foo ***** 5337 | . 5338 |

foo *****

5339 | . 5340 | 5341 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5342 | src line: 6653 5343 | 5344 | . 5345 | foo **\*** 5346 | . 5347 |

foo *

5348 | . 5349 | 5350 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5351 | src line: 6660 5352 | 5353 | . 5354 | foo **_** 5355 | . 5356 |

foo _

5357 | . 5358 | 5359 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5360 | src line: 6671 5361 | 5362 | . 5363 | **foo* 5364 | . 5365 |

*foo

5366 | . 5367 | 5368 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5369 | src line: 6678 5370 | 5371 | . 5372 | *foo** 5373 | . 5374 |

foo*

5375 | . 5376 | 5377 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5378 | src line: 6685 5379 | 5380 | . 5381 | ***foo** 5382 | . 5383 |

*foo

5384 | . 5385 | 5386 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5387 | src line: 6692 5388 | 5389 | . 5390 | ****foo* 5391 | . 5392 |

***foo

5393 | . 5394 | 5395 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5396 | src line: 6699 5397 | 5398 | . 5399 | **foo*** 5400 | . 5401 |

foo*

5402 | . 5403 | 5404 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5405 | src line: 6706 5406 | 5407 | . 5408 | *foo**** 5409 | . 5410 |

foo***

5411 | . 5412 | 5413 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5414 | src line: 6716 5415 | 5416 | . 5417 | foo ___ 5418 | . 5419 |

foo ___

5420 | . 5421 | 5422 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5423 | src line: 6723 5424 | 5425 | . 5426 | foo _\__ 5427 | . 5428 |

foo _

5429 | . 5430 | 5431 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5432 | src line: 6730 5433 | 5434 | . 5435 | foo _*_ 5436 | . 5437 |

foo *

5438 | . 5439 | 5440 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5441 | src line: 6737 5442 | 5443 | . 5444 | foo _____ 5445 | . 5446 |

foo _____

5447 | . 5448 | 5449 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5450 | src line: 6744 5451 | 5452 | . 5453 | foo __\___ 5454 | . 5455 |

foo _

5456 | . 5457 | 5458 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5459 | src line: 6751 5460 | 5461 | . 5462 | foo __*__ 5463 | . 5464 |

foo *

5465 | . 5466 | 5467 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5468 | src line: 6758 5469 | 5470 | . 5471 | __foo_ 5472 | . 5473 |

_foo

5474 | . 5475 | 5476 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5477 | src line: 6769 5478 | 5479 | . 5480 | _foo__ 5481 | . 5482 |

foo_

5483 | . 5484 | 5485 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5486 | src line: 6776 5487 | 5488 | . 5489 | ___foo__ 5490 | . 5491 |

_foo

5492 | . 5493 | 5494 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5495 | src line: 6783 5496 | 5497 | . 5498 | ____foo_ 5499 | . 5500 |

___foo

5501 | . 5502 | 5503 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5504 | src line: 6790 5505 | 5506 | . 5507 | __foo___ 5508 | . 5509 |

foo_

5510 | . 5511 | 5512 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5513 | src line: 6797 5514 | 5515 | . 5516 | _foo____ 5517 | . 5518 |

foo___

5519 | . 5520 | 5521 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5522 | src line: 6807 5523 | 5524 | . 5525 | **foo** 5526 | . 5527 |

foo

5528 | . 5529 | 5530 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5531 | src line: 6814 5532 | 5533 | . 5534 | *_foo_* 5535 | . 5536 |

foo

5537 | . 5538 | 5539 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5540 | src line: 6821 5541 | 5542 | . 5543 | __foo__ 5544 | . 5545 |

foo

5546 | . 5547 | 5548 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5549 | src line: 6828 5550 | 5551 | . 5552 | _*foo*_ 5553 | . 5554 |

foo

5555 | . 5556 | 5557 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5558 | src line: 6838 5559 | 5560 | . 5561 | ****foo**** 5562 | . 5563 |

foo

5564 | . 5565 | 5566 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5567 | src line: 6845 5568 | 5569 | . 5570 | ____foo____ 5571 | . 5572 |

foo

5573 | . 5574 | 5575 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5576 | src line: 6856 5577 | 5578 | . 5579 | ******foo****** 5580 | . 5581 |

foo

5582 | . 5583 | 5584 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5585 | src line: 6865 5586 | 5587 | . 5588 | ***foo*** 5589 | . 5590 |

foo

5591 | . 5592 | 5593 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5594 | src line: 6872 5595 | 5596 | . 5597 | _____foo_____ 5598 | . 5599 |

foo

5600 | . 5601 | 5602 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5603 | src line: 6881 5604 | 5605 | . 5606 | *foo _bar* baz_ 5607 | . 5608 |

foo _bar baz_

5609 | . 5610 | 5611 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5612 | src line: 6888 5613 | 5614 | . 5615 | **foo*bar** 5616 | . 5617 |

foobar*

5618 | . 5619 | 5620 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5621 | src line: 6895 5622 | 5623 | . 5624 | *foo __bar *baz bim__ bam* 5625 | . 5626 |

foo bar *baz bim bam

5627 | . 5628 | 5629 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5630 | src line: 6904 5631 | 5632 | . 5633 | **foo **bar baz** 5634 | . 5635 |

**foo bar baz

5636 | . 5637 | 5638 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5639 | src line: 6911 5640 | 5641 | . 5642 | *foo *bar baz* 5643 | . 5644 |

*foo bar baz

5645 | . 5646 | 5647 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5648 | src line: 6920 5649 | 5650 | . 5651 | *[bar*](/url) 5652 | . 5653 |

*bar*

5654 | . 5655 | 5656 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5657 | src line: 6927 5658 | 5659 | . 5660 | _foo [bar_](/url) 5661 | . 5662 |

_foo bar_

5663 | . 5664 | 5665 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5666 | src line: 6934 5667 | 5668 | . 5669 | * 5670 | . 5671 |

*

5672 | . 5673 | 5674 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5675 | src line: 6941 5676 | 5677 | . 5678 | ** 5679 | . 5680 |

**

5681 | . 5682 | 5683 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5684 | src line: 6948 5685 | 5686 | . 5687 | __ 5688 | . 5689 |

__

5690 | . 5691 | 5692 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5693 | src line: 6955 5694 | 5695 | . 5696 | *a `*`* 5697 | . 5698 |

a *

5699 | . 5700 | 5701 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5702 | src line: 6962 5703 | 5704 | . 5705 | _a `_`_ 5706 | . 5707 |

a _

5708 | . 5709 | 5710 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5711 | src line: 6969 5712 | 5713 | . 5714 | **a 5715 | . 5716 |

**ahttp://foo.bar/?q=**

5717 | . 5718 | 5719 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5720 | src line: 6976 5721 | 5722 | . 5723 | __a 5724 | . 5725 |

__ahttp://foo.bar/?q=__

5726 | . 5727 | 5728 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5729 | src line: 7056 5730 | 5731 | . 5732 | [link](/uri "title") 5733 | . 5734 |

link

5735 | . 5736 | 5737 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5738 | src line: 7065 5739 | 5740 | . 5741 | [link](/uri) 5742 | . 5743 |

link

5744 | . 5745 | 5746 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5747 | src line: 7074 5748 | 5749 | . 5750 | [link]() 5751 | . 5752 |

link

5753 | . 5754 | 5755 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5756 | src line: 7081 5757 | 5758 | . 5759 | [link](<>) 5760 | . 5761 |

link

5762 | . 5763 | 5764 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5765 | src line: 7091 5766 | 5767 | . 5768 | [link](/my uri) 5769 | . 5770 |

[link](/my uri)

5771 | . 5772 | 5773 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5774 | src line: 7098 5775 | 5776 | . 5777 | [link]() 5778 | . 5779 |

[link](</my uri>)

5780 | . 5781 | 5782 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5783 | src line: 7105 5784 | 5785 | . 5786 | [link](foo 5787 | bar) 5788 | . 5789 |

[link](foo 5790 | bar)

5791 | . 5792 | 5793 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5794 | src line: 7114 5795 | 5796 | . 5797 | [link]() 5799 | . 5800 |

[link]()

5802 | . 5803 | 5804 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5805 | src line: 7124 5806 | 5807 | . 5808 | [link](\(foo\)) 5809 | . 5810 |

link

5811 | . 5812 | 5813 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5814 | src line: 7132 5815 | 5816 | . 5817 | [link]((foo)and(bar)) 5818 | . 5819 |

link

5820 | . 5821 | 5822 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5823 | src line: 7141 5824 | 5825 | . 5826 | [link](foo(and(bar))) 5827 | . 5828 |

[link](foo(and(bar)))

5829 | . 5830 | 5831 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5832 | src line: 7148 5833 | 5834 | . 5835 | [link](foo(and\(bar\))) 5836 | . 5837 |

link

5838 | . 5839 | 5840 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5841 | src line: 7155 5842 | 5843 | . 5844 | [link]() 5845 | . 5846 |

link

5847 | . 5848 | 5849 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5850 | src line: 7165 5851 | 5852 | . 5853 | [link](foo\)\:) 5854 | . 5855 |

link

5856 | . 5857 | 5858 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5859 | src line: 7174 5860 | 5861 | . 5862 | [link](#fragment) 5863 | 5864 | [link](http://example.com#fragment) 5865 | 5866 | [link](http://example.com?foo=3#frag) 5867 | . 5868 |

link

5869 |

link

5870 |

link

5871 | . 5872 | 5873 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5874 | src line: 7190 5875 | 5876 | . 5877 | [link](foo\bar) 5878 | . 5879 |

link

5880 | . 5881 | 5882 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5883 | src line: 7206 5884 | 5885 | . 5886 | [link](foo%20bä) 5887 | . 5888 |

link

5889 | . 5890 | 5891 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5892 | src line: 7217 5893 | 5894 | . 5895 | [link]("title") 5896 | . 5897 |

link

5898 | . 5899 | 5900 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5901 | src line: 7226 5902 | 5903 | . 5904 | [link](/url "title") 5905 | [link](/url 'title') 5906 | [link](/url (title)) 5907 | . 5908 |

link 5909 | link 5910 | link

5911 | . 5912 | 5913 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5914 | src line: 7240 5915 | 5916 | . 5917 | [link](/url "title \""") 5918 | . 5919 |

link

5920 | . 5921 | 5922 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5923 | src line: 7249 5924 | 5925 | . 5926 | [link](/url "title "and" title") 5927 | . 5928 |

[link](/url "title "and" title")

5929 | . 5930 | 5931 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5932 | src line: 7258 5933 | 5934 | . 5935 | [link](/url 'title "and" title') 5936 | . 5937 |

link

5938 | . 5939 | 5940 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5941 | src line: 7282 5942 | 5943 | . 5944 | [link]( /uri 5945 | "title" ) 5946 | . 5947 |

link

5948 | . 5949 | 5950 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5951 | src line: 7293 5952 | 5953 | . 5954 | [link] (/uri) 5955 | . 5956 |

[link] (/uri)

5957 | . 5958 | 5959 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5960 | src line: 7303 5961 | 5962 | . 5963 | [link [foo [bar]]](/uri) 5964 | . 5965 |

link [foo [bar]]

5966 | . 5967 | 5968 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5969 | src line: 7310 5970 | 5971 | . 5972 | [link] bar](/uri) 5973 | . 5974 |

[link] bar](/uri)

5975 | . 5976 | 5977 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5978 | src line: 7317 5979 | 5980 | . 5981 | [link [bar](/uri) 5982 | . 5983 |

[link bar

5984 | . 5985 | 5986 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5987 | src line: 7324 5988 | 5989 | . 5990 | [link \[bar](/uri) 5991 | . 5992 |

link [bar

5993 | . 5994 | 5995 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5996 | src line: 7333 5997 | 5998 | . 5999 | [link *foo **bar** `#`*](/uri) 6000 | . 6001 |

link foo bar #

6002 | . 6003 | 6004 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6005 | src line: 7340 6006 | 6007 | . 6008 | [![moon](moon.jpg)](/uri) 6009 | . 6010 |

moon

6011 | . 6012 | 6013 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6014 | src line: 7349 6015 | 6016 | . 6017 | [foo [bar](/uri)](/uri) 6018 | . 6019 |

[foo bar](/uri)

6020 | . 6021 | 6022 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6023 | src line: 7356 6024 | 6025 | . 6026 | [foo *[bar [baz](/uri)](/uri)*](/uri) 6027 | . 6028 |

[foo [bar baz](/uri)](/uri)

6029 | . 6030 | 6031 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6032 | src line: 7363 6033 | 6034 | . 6035 | ![[[foo](uri1)](uri2)](uri3) 6036 | . 6037 |

[foo](uri2)

6038 | . 6039 | 6040 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6041 | src line: 7373 6042 | 6043 | . 6044 | *[foo*](/uri) 6045 | . 6046 |

*foo*

6047 | . 6048 | 6049 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6050 | src line: 7380 6051 | 6052 | . 6053 | [foo *bar](baz*) 6054 | . 6055 |

foo *bar

6056 | . 6057 | 6058 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6059 | src line: 7390 6060 | 6061 | . 6062 | *foo [bar* baz] 6063 | . 6064 |

foo [bar baz]

6065 | . 6066 | 6067 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6068 | src line: 7400 6069 | 6070 | . 6071 | [foo 6072 | . 6073 |

[foo

6074 | . 6075 | 6076 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6077 | src line: 7407 6078 | 6079 | . 6080 | [foo`](/uri)` 6081 | . 6082 |

[foo](/uri)

6083 | . 6084 | 6085 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6086 | src line: 7414 6087 | 6088 | . 6089 | [foo 6090 | . 6091 |

[foohttp://example.com/?search=](uri)

6092 | . 6093 | 6094 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6095 | src line: 7449 6096 | 6097 | . 6098 | [foo][bar] 6099 | 6100 | [bar]: /url "title" 6101 | . 6102 |

foo

6103 | . 6104 | 6105 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6106 | src line: 7464 6107 | 6108 | . 6109 | [link [foo [bar]]][ref] 6110 | 6111 | [ref]: /uri 6112 | . 6113 |

link [foo [bar]]

6114 | . 6115 | 6116 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6117 | src line: 7473 6118 | 6119 | . 6120 | [link \[bar][ref] 6121 | 6122 | [ref]: /uri 6123 | . 6124 |

link [bar

6125 | . 6126 | 6127 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6128 | src line: 7484 6129 | 6130 | . 6131 | [link *foo **bar** `#`*][ref] 6132 | 6133 | [ref]: /uri 6134 | . 6135 |

link foo bar #

6136 | . 6137 | 6138 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6139 | src line: 7493 6140 | 6141 | . 6142 | [![moon](moon.jpg)][ref] 6143 | 6144 | [ref]: /uri 6145 | . 6146 |

moon

6147 | . 6148 | 6149 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6150 | src line: 7504 6151 | 6152 | . 6153 | [foo [bar](/uri)][ref] 6154 | 6155 | [ref]: /uri 6156 | . 6157 |

[foo bar]ref

6158 | . 6159 | 6160 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6161 | src line: 7513 6162 | 6163 | . 6164 | [foo *bar [baz][ref]*][ref] 6165 | 6166 | [ref]: /uri 6167 | . 6168 |

[foo bar baz]ref

6169 | . 6170 | 6171 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6172 | src line: 7528 6173 | 6174 | . 6175 | *[foo*][ref] 6176 | 6177 | [ref]: /uri 6178 | . 6179 |

*foo*

6180 | . 6181 | 6182 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6183 | src line: 7537 6184 | 6185 | . 6186 | [foo *bar][ref] 6187 | 6188 | [ref]: /uri 6189 | . 6190 |

foo *bar

6191 | . 6192 | 6193 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6194 | src line: 7549 6195 | 6196 | . 6197 | [foo 6198 | 6199 | [ref]: /uri 6200 | . 6201 |

[foo

6202 | . 6203 | 6204 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6205 | src line: 7558 6206 | 6207 | . 6208 | [foo`][ref]` 6209 | 6210 | [ref]: /uri 6211 | . 6212 |

[foo][ref]

6213 | . 6214 | 6215 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6216 | src line: 7567 6217 | 6218 | . 6219 | [foo 6220 | 6221 | [ref]: /uri 6222 | . 6223 |

[foohttp://example.com/?search=][ref]

6224 | . 6225 | 6226 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6227 | src line: 7578 6228 | 6229 | . 6230 | [foo][BaR] 6231 | 6232 | [bar]: /url "title" 6233 | . 6234 |

foo

6235 | . 6236 | 6237 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6238 | src line: 7589 6239 | 6240 | . 6241 | [Толпой][Толпой] is a Russian word. 6242 | 6243 | [ТОЛПОЙ]: /url 6244 | . 6245 |

Толпой is a Russian word.

6246 | . 6247 | 6248 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6249 | src line: 7601 6250 | 6251 | . 6252 | [Foo 6253 | bar]: /url 6254 | 6255 | [Baz][Foo bar] 6256 | . 6257 |

Baz

6258 | . 6259 | 6260 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6261 | src line: 7614 6262 | 6263 | . 6264 | [foo] [bar] 6265 | 6266 | [bar]: /url "title" 6267 | . 6268 |

[foo] bar

6269 | . 6270 | 6271 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6272 | src line: 7623 6273 | 6274 | . 6275 | [foo] 6276 | [bar] 6277 | 6278 | [bar]: /url "title" 6279 | . 6280 |

[foo] 6281 | bar

6282 | . 6283 | 6284 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6285 | src line: 7664 6286 | 6287 | . 6288 | [foo]: /url1 6289 | 6290 | [foo]: /url2 6291 | 6292 | [bar][foo] 6293 | . 6294 |

bar

6295 | . 6296 | 6297 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6298 | src line: 7679 6299 | 6300 | . 6301 | [bar][foo\!] 6302 | 6303 | [foo!]: /url 6304 | . 6305 |

[bar][foo!]

6306 | . 6307 | 6308 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6309 | src line: 7691 6310 | 6311 | . 6312 | [foo][ref[] 6313 | 6314 | [ref[]: /uri 6315 | . 6316 |

[foo][ref[]

6317 |

[ref[]: /uri

6318 | . 6319 | 6320 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6321 | src line: 7701 6322 | 6323 | . 6324 | [foo][ref[bar]] 6325 | 6326 | [ref[bar]]: /uri 6327 | . 6328 |

[foo][ref[bar]]

6329 |

[ref[bar]]: /uri

6330 | . 6331 | 6332 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6333 | src line: 7711 6334 | 6335 | . 6336 | [[[foo]]] 6337 | 6338 | [[[foo]]]: /url 6339 | . 6340 |

[[[foo]]]

6341 |

[[[foo]]]: /url

6342 | . 6343 | 6344 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6345 | src line: 7721 6346 | 6347 | . 6348 | [foo][ref\[] 6349 | 6350 | [ref\[]: /uri 6351 | . 6352 |

foo

6353 | . 6354 | 6355 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6356 | src line: 7732 6357 | 6358 | . 6359 | [bar\\]: /uri 6360 | 6361 | [bar\\] 6362 | . 6363 |

bar\

6364 | . 6365 | 6366 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6367 | src line: 7743 6368 | 6369 | . 6370 | [] 6371 | 6372 | []: /uri 6373 | . 6374 |

[]

6375 |

[]: /uri

6376 | . 6377 | 6378 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6379 | src line: 7753 6380 | 6381 | . 6382 | [ 6383 | ] 6384 | 6385 | [ 6386 | ]: /uri 6387 | . 6388 |

[ 6389 | ]

6390 |

[ 6391 | ]: /uri

6392 | . 6393 | 6394 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6395 | src line: 7776 6396 | 6397 | . 6398 | [foo][] 6399 | 6400 | [foo]: /url "title" 6401 | . 6402 |

foo

6403 | . 6404 | 6405 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6406 | src line: 7785 6407 | 6408 | . 6409 | [*foo* bar][] 6410 | 6411 | [*foo* bar]: /url "title" 6412 | . 6413 |

foo bar

6414 | . 6415 | 6416 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6417 | src line: 7796 6418 | 6419 | . 6420 | [Foo][] 6421 | 6422 | [foo]: /url "title" 6423 | . 6424 |

Foo

6425 | . 6426 | 6427 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6428 | src line: 7809 6429 | 6430 | . 6431 | [foo] 6432 | [] 6433 | 6434 | [foo]: /url "title" 6435 | . 6436 |

foo 6437 | []

6438 | . 6439 | 6440 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6441 | src line: 7829 6442 | 6443 | . 6444 | [foo] 6445 | 6446 | [foo]: /url "title" 6447 | . 6448 |

foo

6449 | . 6450 | 6451 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6452 | src line: 7838 6453 | 6454 | . 6455 | [*foo* bar] 6456 | 6457 | [*foo* bar]: /url "title" 6458 | . 6459 |

foo bar

6460 | . 6461 | 6462 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6463 | src line: 7847 6464 | 6465 | . 6466 | [[*foo* bar]] 6467 | 6468 | [*foo* bar]: /url "title" 6469 | . 6470 |

[foo bar]

6471 | . 6472 | 6473 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6474 | src line: 7856 6475 | 6476 | . 6477 | [[bar [foo] 6478 | 6479 | [foo]: /url 6480 | . 6481 |

[[bar foo

6482 | . 6483 | 6484 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6485 | src line: 7867 6486 | 6487 | . 6488 | [Foo] 6489 | 6490 | [foo]: /url "title" 6491 | . 6492 |

Foo

6493 | . 6494 | 6495 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6496 | src line: 7878 6497 | 6498 | . 6499 | [foo] bar 6500 | 6501 | [foo]: /url 6502 | . 6503 |

foo bar

6504 | . 6505 | 6506 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6507 | src line: 7890 6508 | 6509 | . 6510 | \[foo] 6511 | 6512 | [foo]: /url "title" 6513 | . 6514 |

[foo]

6515 | . 6516 | 6517 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6518 | src line: 7902 6519 | 6520 | . 6521 | [foo*]: /url 6522 | 6523 | *[foo*] 6524 | . 6525 |

*foo*

6526 | . 6527 | 6528 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6529 | src line: 7913 6530 | 6531 | . 6532 | [foo][bar] 6533 | 6534 | [foo]: /url1 6535 | [bar]: /url2 6536 | . 6537 |

foo

6538 | . 6539 | 6540 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6541 | src line: 7926 6542 | 6543 | . 6544 | [foo][bar][baz] 6545 | 6546 | [baz]: /url 6547 | . 6548 |

[foo]bar

6549 | . 6550 | 6551 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6552 | src line: 7938 6553 | 6554 | . 6555 | [foo][bar][baz] 6556 | 6557 | [baz]: /url1 6558 | [bar]: /url2 6559 | . 6560 |

foobaz

6561 | . 6562 | 6563 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6564 | src line: 7951 6565 | 6566 | . 6567 | [foo][bar][baz] 6568 | 6569 | [baz]: /url1 6570 | [foo]: /url2 6571 | . 6572 |

[foo]bar

6573 | . 6574 | 6575 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6576 | src line: 7974 6577 | 6578 | . 6579 | ![foo](/url "title") 6580 | . 6581 |

foo

6582 | . 6583 | 6584 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6585 | src line: 7981 6586 | 6587 | . 6588 | ![foo *bar*] 6589 | 6590 | [foo *bar*]: train.jpg "train & tracks" 6591 | . 6592 |

foo bar

6593 | . 6594 | 6595 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6596 | src line: 7990 6597 | 6598 | . 6599 | ![foo ![bar](/url)](/url2) 6600 | . 6601 |

foo bar

6602 | . 6603 | 6604 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6605 | src line: 7997 6606 | 6607 | . 6608 | ![foo [bar](/url)](/url2) 6609 | . 6610 |

foo bar

6611 | . 6612 | 6613 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6614 | src line: 8011 6615 | 6616 | . 6617 | ![foo *bar*][] 6618 | 6619 | [foo *bar*]: train.jpg "train & tracks" 6620 | . 6621 |

foo bar

6622 | . 6623 | 6624 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6625 | src line: 8020 6626 | 6627 | . 6628 | ![foo *bar*][foobar] 6629 | 6630 | [FOOBAR]: train.jpg "train & tracks" 6631 | . 6632 |

foo bar

6633 | . 6634 | 6635 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6636 | src line: 8029 6637 | 6638 | . 6639 | ![foo](train.jpg) 6640 | . 6641 |

foo

6642 | . 6643 | 6644 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6645 | src line: 8036 6646 | 6647 | . 6648 | My ![foo bar](/path/to/train.jpg "title" ) 6649 | . 6650 |

My foo bar

6651 | . 6652 | 6653 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6654 | src line: 8043 6655 | 6656 | . 6657 | ![foo]() 6658 | . 6659 |

foo

6660 | . 6661 | 6662 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6663 | src line: 8050 6664 | 6665 | . 6666 | ![](/url) 6667 | . 6668 |

6669 | . 6670 | 6671 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6672 | src line: 8059 6673 | 6674 | . 6675 | ![foo][bar] 6676 | 6677 | [bar]: /url 6678 | . 6679 |

foo

6680 | . 6681 | 6682 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6683 | src line: 8068 6684 | 6685 | . 6686 | ![foo][bar] 6687 | 6688 | [BAR]: /url 6689 | . 6690 |

foo

6691 | . 6692 | 6693 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6694 | src line: 8079 6695 | 6696 | . 6697 | ![foo][] 6698 | 6699 | [foo]: /url "title" 6700 | . 6701 |

foo

6702 | . 6703 | 6704 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6705 | src line: 8088 6706 | 6707 | . 6708 | ![*foo* bar][] 6709 | 6710 | [*foo* bar]: /url "title" 6711 | . 6712 |

foo bar

6713 | . 6714 | 6715 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6716 | src line: 8099 6717 | 6718 | . 6719 | ![Foo][] 6720 | 6721 | [foo]: /url "title" 6722 | . 6723 |

Foo

6724 | . 6725 | 6726 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6727 | src line: 8111 6728 | 6729 | . 6730 | ![foo] 6731 | [] 6732 | 6733 | [foo]: /url "title" 6734 | . 6735 |

foo 6736 | []

6737 | . 6738 | 6739 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6740 | src line: 8124 6741 | 6742 | . 6743 | ![foo] 6744 | 6745 | [foo]: /url "title" 6746 | . 6747 |

foo

6748 | . 6749 | 6750 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6751 | src line: 8133 6752 | 6753 | . 6754 | ![*foo* bar] 6755 | 6756 | [*foo* bar]: /url "title" 6757 | . 6758 |

foo bar

6759 | . 6760 | 6761 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6762 | src line: 8144 6763 | 6764 | . 6765 | ![[foo]] 6766 | 6767 | [[foo]]: /url "title" 6768 | . 6769 |

![[foo]]

6770 |

[[foo]]: /url "title"

6771 | . 6772 | 6773 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6774 | src line: 8156 6775 | 6776 | . 6777 | ![Foo] 6778 | 6779 | [foo]: /url "title" 6780 | . 6781 |

Foo

6782 | . 6783 | 6784 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6785 | src line: 8168 6786 | 6787 | . 6788 | \!\[foo] 6789 | 6790 | [foo]: /url "title" 6791 | . 6792 |

![foo]

6793 | . 6794 | 6795 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6796 | src line: 8180 6797 | 6798 | . 6799 | \![foo] 6800 | 6801 | [foo]: /url "title" 6802 | . 6803 |

!foo

6804 | . 6805 | 6806 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6807 | src line: 8213 6808 | 6809 | . 6810 | 6811 | . 6812 |

http://foo.bar.baz

6813 | . 6814 | 6815 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6816 | src line: 8220 6817 | 6818 | . 6819 | 6820 | . 6821 |

http://foo.bar.baz/test?q=hello&id=22&boolean

6822 | . 6823 | 6824 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6825 | src line: 8227 6826 | 6827 | . 6828 | 6829 | . 6830 |

irc://foo.bar:2233/baz

6831 | . 6832 | 6833 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6834 | src line: 8236 6835 | 6836 | . 6837 | 6838 | . 6839 |

MAILTO:FOO@BAR.BAZ

6840 | . 6841 | 6842 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6843 | src line: 8248 6844 | 6845 | . 6846 | 6847 | . 6848 |

a+b+c:d

6849 | . 6850 | 6851 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6852 | src line: 8255 6853 | 6854 | . 6855 | 6856 | . 6857 |

made-up-scheme://foo,bar

6858 | . 6859 | 6860 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6861 | src line: 8262 6862 | 6863 | . 6864 | 6865 | . 6866 |

http://../

6867 | . 6868 | 6869 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6870 | src line: 8269 6871 | 6872 | . 6873 | 6874 | . 6875 |

localhost:5001/foo

6876 | . 6877 | 6878 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6879 | src line: 8278 6880 | 6881 | . 6882 | 6883 | . 6884 |

<http://foo.bar/baz bim>

6885 | . 6886 | 6887 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6888 | src line: 8287 6889 | 6890 | . 6891 | 6892 | . 6893 |

http://example.com/\[\

6894 | . 6895 | 6896 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6897 | src line: 8309 6898 | 6899 | . 6900 | 6901 | . 6902 |

foo@bar.example.com

6903 | . 6904 | 6905 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6906 | src line: 8316 6907 | 6908 | . 6909 | 6910 | . 6911 |

foo+special@Bar.baz-bar0.com

6912 | . 6913 | 6914 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6915 | src line: 8325 6916 | 6917 | . 6918 | 6919 | . 6920 |

<foo+@bar.example.com>

6921 | . 6922 | 6923 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6924 | src line: 8334 6925 | 6926 | . 6927 | <> 6928 | . 6929 |

<>

6930 | . 6931 | 6932 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6933 | src line: 8341 6934 | 6935 | . 6936 | < http://foo.bar > 6937 | . 6938 |

< http://foo.bar >

6939 | . 6940 | 6941 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6942 | src line: 8348 6943 | 6944 | . 6945 | 6946 | . 6947 |

<m:abc>

6948 | . 6949 | 6950 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6951 | src line: 8355 6952 | 6953 | . 6954 | 6955 | . 6956 |

<foo.bar.baz>

6957 | . 6958 | 6959 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6960 | src line: 8362 6961 | 6962 | . 6963 | http://example.com 6964 | . 6965 |

http://example.com

6966 | . 6967 | 6968 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6969 | src line: 8369 6970 | 6971 | . 6972 | foo@bar.example.com 6973 | . 6974 |

foo@bar.example.com

6975 | . 6976 | 6977 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6978 | src line: 8451 6979 | 6980 | . 6981 | 6982 | . 6983 |

6984 | . 6985 | 6986 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6987 | src line: 8460 6988 | 6989 | . 6990 | 6991 | . 6992 |

6993 | . 6994 | 6995 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6996 | src line: 8469 6997 | 6998 | . 6999 | 7001 | . 7002 |

7004 | . 7005 | 7006 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7007 | src line: 8480 7008 | 7009 | . 7010 | 7012 | . 7013 |

7015 | . 7016 | 7017 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7018 | src line: 8491 7019 | 7020 | . 7021 | Foo 7022 | . 7023 |

Foo

7024 | . 7025 | 7026 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7027 | src line: 8500 7028 | 7029 | . 7030 | <33> <__> 7031 | . 7032 |

<33> <__>

7033 | . 7034 | 7035 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7036 | src line: 8509 7037 | 7038 | . 7039 |
7040 | . 7041 |

<a h*#ref="hi">

7042 | . 7043 | 7044 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7045 | src line: 8518 7046 | 7047 | . 7048 |
7087 | . 7088 |

</a href="foo">

7089 | . 7090 | 7091 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7092 | src line: 8565 7093 | 7094 | . 7095 | foo 7097 | . 7098 |

foo

7100 | . 7101 | 7102 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7103 | src line: 8574 7104 | 7105 | . 7106 | foo 7107 | . 7108 |

foo <!-- not a comment -- two hyphens -->

7109 | . 7110 | 7111 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7112 | src line: 8583 7113 | 7114 | . 7115 | foo foo --> 7116 | 7117 | foo 7118 | . 7119 |

foo <!--> foo -->

7120 |

foo <!-- foo--->

7121 | . 7122 | 7123 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7124 | src line: 8595 7125 | 7126 | . 7127 | foo 7128 | . 7129 |

foo

7130 | . 7131 | 7132 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7133 | src line: 8604 7134 | 7135 | . 7136 | foo 7137 | . 7138 |

foo

7139 | . 7140 | 7141 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7142 | src line: 8613 7143 | 7144 | . 7145 | foo &<]]> 7146 | . 7147 |

foo &<]]>

7148 | . 7149 | 7150 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7151 | src line: 8623 7152 | 7153 | . 7154 | foo
7155 | . 7156 |

foo

7157 | . 7158 | 7159 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7160 | src line: 8632 7161 | 7162 | . 7163 | foo 7164 | . 7165 |

foo

7166 | . 7167 | 7168 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7169 | src line: 8639 7170 | 7171 | . 7172 | 7173 | . 7174 |

<a href=""">

7175 | . 7176 | 7177 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7178 | src line: 8653 7179 | 7180 | . 7181 | foo 7182 | baz 7183 | . 7184 |

foo
7185 | baz

7186 | . 7187 | 7188 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7189 | src line: 8665 7190 | 7191 | . 7192 | foo\ 7193 | baz 7194 | . 7195 |

foo
7196 | baz

7197 | . 7198 | 7199 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7200 | src line: 8676 7201 | 7202 | . 7203 | foo 7204 | baz 7205 | . 7206 |

foo
7207 | baz

7208 | . 7209 | 7210 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7211 | src line: 8687 7212 | 7213 | . 7214 | foo 7215 | bar 7216 | . 7217 |

foo
7218 | bar

7219 | . 7220 | 7221 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7222 | src line: 8696 7223 | 7224 | . 7225 | foo\ 7226 | bar 7227 | . 7228 |

foo
7229 | bar

7230 | . 7231 | 7232 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7233 | src line: 8708 7234 | 7235 | . 7236 | *foo 7237 | bar* 7238 | . 7239 |

foo
7240 | bar

7241 | . 7242 | 7243 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7244 | src line: 8717 7245 | 7246 | . 7247 | *foo\ 7248 | bar* 7249 | . 7250 |

foo
7251 | bar

7252 | . 7253 | 7254 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7255 | src line: 8728 7256 | 7257 | . 7258 | `code 7259 | span` 7260 | . 7261 |

code span

7262 | . 7263 | 7264 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7265 | src line: 8736 7266 | 7267 | . 7268 | `code\ 7269 | span` 7270 | . 7271 |

code\ span

7272 | . 7273 | 7274 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7275 | src line: 8746 7276 | 7277 | . 7278 |
7280 | . 7281 |

7283 | . 7284 | 7285 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7286 | src line: 8755 7287 | 7288 | . 7289 | 7291 | . 7292 |

7294 | . 7295 | 7296 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7297 | src line: 8768 7298 | 7299 | . 7300 | foo\ 7301 | . 7302 |

foo\

7303 | . 7304 | 7305 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7306 | src line: 8775 7307 | 7308 | . 7309 | foo 7310 | . 7311 |

foo

7312 | . 7313 | 7314 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7315 | src line: 8782 7316 | 7317 | . 7318 | ### foo\ 7319 | . 7320 |

foo\

7321 | . 7322 | 7323 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7324 | src line: 8789 7325 | 7326 | . 7327 | ### foo 7328 | . 7329 |

foo

7330 | . 7331 | 7332 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7333 | src line: 8804 7334 | 7335 | . 7336 | foo 7337 | baz 7338 | . 7339 |

foo 7340 | baz

7341 | . 7342 | 7343 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7344 | src line: 8816 7345 | 7346 | . 7347 | foo 7348 | baz 7349 | . 7350 |

foo 7351 | baz

7352 | . 7353 | 7354 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7355 | src line: 8836 7356 | 7357 | . 7358 | hello $.;'there 7359 | . 7360 |

hello $.;'there

7361 | . 7362 | 7363 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7364 | src line: 8843 7365 | 7366 | . 7367 | Foo χρῆν 7368 | . 7369 |

Foo χρῆν

7370 | . 7371 | 7372 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7373 | src line: 8852 7374 | 7375 | . 7376 | Multiple spaces 7377 | . 7378 |

Multiple spaces

7379 | . 7380 | 7381 | -------------------------------------------------------------------------------- /test/fixtures/vendor/commonmark/hashtag_bad.txt: -------------------------------------------------------------------------------- 1 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 | src line: 650 3 | 4 | . 5 | #5 bolt 6 | 7 | #hashtag 8 | . 9 |

#5 bolt

10 |

#hashtag

11 | . 12 | 13 | -------------------------------------------------------------------------------- /test/fixtures/vendor/markdown-it/commonmark_extras.txt: -------------------------------------------------------------------------------- 1 | Issue #246. Double escaping in ALT 2 | . 3 | ![&](#) 4 | . 5 |

&

6 | . 7 | 8 | Strip markdown in ALT tags 9 | . 10 | ![*strip* [markdown __in__ alt](#)](#) 11 | . 12 |

strip markdown in alt

13 | . 14 | 15 | Issue #55: 16 | . 17 | ![test] 18 | 19 | ![test](foo bar) 20 | . 21 |

![test]

22 |

![test](foo bar)

23 | . 24 | 25 | 26 | Issue #35. `<` should work as punctuation 27 | . 28 | an **(:**
29 | . 30 |

an (:

31 | . 32 | 33 | 34 | Should unescape only needed things in link destinations/titles: 35 | . 36 | [test](<\f\o\o\>\\>) 37 | 38 | [test](foo "\\\"\b\a\r") 39 | . 40 |

test

41 |

test

42 | . 43 | 44 | 45 | Not a closing tag 46 | . 47 | 48 | . 49 |

</ 123>

50 | . 51 | 52 | 53 | 54 | Escaping entities in links: 55 | . 56 | [](<"> "&ö") 57 | 58 | [](<\"> "\&\ö") 59 | 60 | [](<\\"> "\\"\\ö") 61 | . 62 |

63 |

64 |

65 | . 66 | 67 | 68 | Checking combination of replaceEntities and unescapeMd: 69 | . 70 | ~~~ &&bad;\&\\& 71 | just a funny little fence 72 | ~~~ 73 | . 74 |
just a funny little fence
 75 | 
76 | . 77 | 78 | Underscore between punctuation chars should be able to close emphasis. 79 | 80 | . 81 | _(hai)_. 82 | . 83 |

(hai).

84 | . 85 | 86 | Those are two separate blockquotes: 87 | . 88 | - > foo 89 | > bar 90 | . 91 |
    92 |
  • 93 |
    94 |

    foo

    95 |
    96 |
  • 97 |
98 |
99 |

bar

100 |
101 | . 102 | 103 | Regression test (code block + regular paragraph) 104 | . 105 | > foo 106 | > bar 107 | . 108 |
109 |
foo
110 | 
111 |

bar

112 |
113 | . 114 | 115 | Don't output empty class here: 116 | . 117 | ``` 118 | test 119 | ``` 120 | . 121 |
test
122 | 
123 | . 124 | 125 | Setext header text supports lazy continuations: 126 | . 127 | - foo 128 | bar 129 | === 130 | . 131 |
    132 |
  • 133 |

    foo 134 | bar

    135 |
  • 136 |
137 | . 138 | 139 | But setext header underline doesn't: 140 | . 141 | - foo 142 | bar 143 | === 144 | . 145 |
    146 |
  • foo 147 | bar 148 | ===
  • 149 |
150 | . 151 | 152 | Coverage. Directive can terminate paragraph. 153 | . 154 | a 155 | a

158 | * 165 | . 166 |

foo@bar.com

167 | . 168 | 169 | 170 | Coverage. Unpaired nested backtick (silent mode) 171 | . 172 | *`foo* 173 | . 174 |

`foo

175 | . 176 | 177 | 178 | Coverage. Entities. 179 | . 180 | *&* 181 | 182 | * * 183 | 184 | *&* 185 | . 186 |

&

187 |

188 |

&

189 | . 190 | 191 | 192 | Coverage. Escape. 193 | . 194 | *\a* 195 | . 196 |

\a

197 | . 198 | 199 | 200 | Coverage. parseLinkDestination 201 | . 202 | [foo](< 203 | bar>) 204 | 205 | [foo]([foo](< 208 | bar>)

209 |

[foo](<bar)

210 | . 211 | 212 | 213 | Coverage. parseLinkTitle 214 | . 215 | [foo](bar "ba) 216 | 217 | [foo](bar "ba\ 218 | z") 219 | . 220 |

[foo](bar "ba)

221 |

foo

223 | . 224 | 225 | 226 | Coverage. Image 227 | . 228 | ![test]( x ) 229 | . 230 |

test

231 | . 232 | . 233 | ![test][foo] 234 | 235 | [bar]: 123 236 | . 237 |

![test][foo]

238 | . 239 | . 240 | ![test][[[ 241 | 242 | [bar]: 123 243 | . 244 |

![test][[[

245 | . 246 | . 247 | ![test]( 248 | . 249 |

![test](

250 | . 251 | 252 | 253 | Coverage. Link 254 | . 255 | [test]( 256 | . 257 |

[test](

258 | . 259 | 260 | 261 | Coverage. Reference 262 | . 263 | [ 264 | test\ 265 | ]: 123 266 | foo 267 | bar 268 | . 269 |

foo 270 | bar

271 | . 272 | . 273 | [ 274 | test 275 | ] 276 | . 277 |

[ 278 | test 279 | ]

280 | . 281 | . 282 | > [foo]: bar 283 | [foo] 284 | . 285 |
286 |

foo

287 | . 288 | 289 | Coverage. Tabs in blockquotes. 290 | . 291 | > foo 292 | > bar 293 | . 294 |
295 |
 foo
296 |  bar
297 | 
298 |
299 | . 300 | 301 | Coverage. Tabs in lists. 302 | . 303 | 1. foo 304 | 305 | bar 306 | . 307 |
    308 |
  1. 309 |

    foo

    310 |
     bar
    311 | 
    312 |
  2. 313 |
314 | . 315 | -------------------------------------------------------------------------------- /test/fixtures/vendor/markdown-it/fatal.txt: -------------------------------------------------------------------------------- 1 | Should not throw exception on invalid chars in URL (`*` not allowed in path) [mailformed URI] 2 | . 3 | [foo](<%test>) 4 | . 5 |

foo

6 | . 7 | 8 | 9 | Should not throw exception on broken utf-8 sequence in URL [mailformed URI] 10 | . 11 | [foo](%C3) 12 | . 13 |

foo

14 | . 15 | 16 | 17 | Should not throw exception on broken utf-16 surrogates sequence in URL [mailformed URI] 18 | . 19 | [foo](�) 20 | . 21 |

foo

22 | . 23 | 24 | 25 | Should not hang comments regexp 26 | . 27 | foo 30 | . 31 |

foo <!— xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ->

32 |

foo <!------------------------------------------------------------------->

33 | . 34 | 35 | 36 | Should not hang cdata regexp 37 | . 38 | foo 39 | . 40 |

foo <![CDATA[ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ]>

41 | . 42 | -------------------------------------------------------------------------------- /test/fixtures/vendor/markdown-it/linkify.txt: -------------------------------------------------------------------------------- 1 | linkify 2 | . 3 | url http://www.youtube.com/watch?v=5Jt5GEr4AYg. 4 | . 5 |

url http://www.youtube.com/watch?v=5Jt5GEr4AYg.

6 | . 7 | 8 | 9 | don't touch text in links 10 | . 11 | [https://example.com](https://example.com) 12 | . 13 |

https://example.com

14 | . 15 | 16 | 17 | don't touch text in autolinks 18 | . 19 | 20 | . 21 |

https://example.com

22 | . 23 | 24 | 25 | don't touch text in html tags 26 | . 27 | https://example.com 28 | . 29 |

https://example.com

30 | . 31 | 32 | 33 | match links without protocol 34 | . 35 | www.example.org 36 | . 37 |

www.example.org

38 | . 39 | 40 | 41 | emails 42 | . 43 | test@example.com 44 | 45 | mailto:test@example.com 46 | . 47 |

test@example.com

48 |

mailto:test@example.com

49 | . 50 | 51 | 52 | typorgapher should not break href 53 | . 54 | http://example.com/(c) 55 | . 56 |

http://example.com/©

57 | . 58 | -------------------------------------------------------------------------------- /test/fixtures/vendor/markdown-it/normalize.txt: -------------------------------------------------------------------------------- 1 | 2 | Encode link destination, decode text inside it: 3 | 4 | . 5 | 6 | . 7 |

http://example.com/αβγδ

8 | . 9 | 10 | . 11 | [foo](http://example.com/α%CE%B2γ%CE%B4) 12 | . 13 |

foo

14 | . 15 | 16 | Should decode punycode: 17 | 18 | . 19 | 20 | . 21 |

http://☃.net/

22 | . 23 | 24 | . 25 | 26 | . 27 |

http://☃.net/

28 | . 29 | 30 | Invalid punycode: 31 | 32 | . 33 | 34 | . 35 |

http://xn–xn.com/

36 | . 37 | 38 | Invalid punycode (non-ascii): 39 | 40 | . 41 | 42 | . 43 |

http://xn–γ.com/

44 | . 45 | 46 | Two slashes should start a domain: 47 | 48 | . 49 | [](//☃.net/) 50 | . 51 |

52 | . 53 | 54 | Don't encode domains in unknown schemas: 55 | 56 | . 57 | [](skype:γγγ) 58 | . 59 |

60 | . 61 | 62 | Should auto-add protocol to autolinks: 63 | 64 | . 65 | test google.com foo 66 | . 67 |

test google.com foo

68 | . 69 | 70 | Should support IDN in autolinks: 71 | 72 | . 73 | test http://xn--n3h.net/ foo 74 | . 75 |

test http://☃.net/ foo

76 | . 77 | 78 | . 79 | test http://☃.net/ foo 80 | . 81 |

test http://☃.net/ foo

82 | . 83 | 84 | . 85 | test //xn--n3h.net/ foo 86 | . 87 |

test //☃.net/ foo

88 | . 89 | 90 | . 91 | test xn--n3h.net foo 92 | . 93 |

test ☃.net foo

94 | . 95 | 96 | . 97 | test xn--n3h@xn--n3h.net foo 98 | . 99 |

test xn–n3h@☃.net foo

100 | . 101 | -------------------------------------------------------------------------------- /test/fixtures/vendor/markdown-it/proto.txt: -------------------------------------------------------------------------------- 1 | . 2 | [__proto__] 3 | 4 | [__proto__]: blah 5 | . 6 |

proto

7 | . 8 | 9 | 10 | . 11 | [hasOwnProperty] 12 | 13 | [hasOwnProperty]: blah 14 | . 15 |

hasOwnProperty

16 | . 17 | -------------------------------------------------------------------------------- /test/fixtures/vendor/markdown-it/smartquotes.txt: -------------------------------------------------------------------------------- 1 | Should parse nested quotes: 2 | . 3 | "foo 'bar' baz" 4 | 5 | 'foo 'bar' baz' 6 | . 7 |

“foo ‘bar’ baz”

8 |

‘foo ‘bar’ baz’

9 | . 10 | 11 | 12 | Should not overlap quotes: 13 | . 14 | 'foo "bar' baz" 15 | . 16 |

‘foo "bar’ baz"

17 | . 18 | 19 | 20 | Should match quotes on the same level: 21 | . 22 | "foo *bar* baz" 23 | . 24 |

“foo bar baz”

25 | . 26 | 27 | 28 | Should handle adjacent nested quotes: 29 | . 30 | '"double in single"' 31 | 32 | "'single in double'" 33 | . 34 |

‘“double in single”’

35 |

“‘single in double’”

36 | . 37 | 38 | 39 | 40 | Should not match quotes on different levels: 41 | . 42 | *"foo* bar" 43 | 44 | "foo *bar"* 45 | 46 | *"foo* bar *baz"* 47 | . 48 |

"foo bar"

49 |

"foo bar"

50 |

"foo bar baz"

51 | . 52 | 53 | Smartquotes should not overlap with other tags: 54 | . 55 | *foo "bar* *baz" quux* 56 | . 57 |

foo "bar baz" quux

58 | . 59 | 60 | 61 | Should try and find matching quote in this case: 62 | . 63 | "foo "bar 'baz" 64 | . 65 |

"foo “bar 'baz”

66 | . 67 | 68 | 69 | Should not touch 'inches' in quotes: 70 | . 71 | "Monitor 21"" and "Monitor"" 72 | . 73 |

“Monitor 21"” and “Monitor”"

74 | . 75 | 76 | 77 | Should render an apostrophe as a rsquo: 78 | . 79 | This isn't and can't be the best approach to implement this... 80 | . 81 |

This isn’t and can’t be the best approach to implement this…

82 | . 83 | 84 | 85 | Apostrophe could end the word, that's why original smartypants replaces all of them as rsquo: 86 | . 87 | users' stuff 88 | . 89 |

users’ stuff

90 | . 91 | 92 | Quotes between punctuation chars: 93 | 94 | . 95 | "(hai)". 96 | . 97 |

“(hai)”.

98 | . 99 | 100 | Quotes at the start/end of the tokens: 101 | . 102 | "*foo* bar" 103 | 104 | "foo *bar*" 105 | 106 | "*foo bar*" 107 | . 108 |

foo bar”

109 |

“foo bar

110 |

foo bar

111 | . 112 | -------------------------------------------------------------------------------- /test/fixtures/vendor/markdown-it/strikethrough.txt: -------------------------------------------------------------------------------- 1 | . 2 | ~~Strikeout~~ 3 | . 4 |

Strikeout

5 | . 6 | 7 | . 8 | x ~~~~foo~~ bar~~ 9 | . 10 |

x foo bar

11 | . 12 | 13 | . 14 | x ~~foo ~~bar~~~~ 15 | . 16 |

x foo bar

17 | . 18 | 19 | . 20 | x ~~~~foo~~~~ 21 | . 22 |

x foo

23 | . 24 | 25 | . 26 | x ~~a ~~foo~~~~~~~~~~~bar~~ b~~ 27 | 28 | x ~~a ~~foo~~~~~~~~~~~~bar~~ b~~ 29 | . 30 |

x a foo~~~bar b

31 |

x a foo~~~~bar b

32 | . 33 | 34 | 35 | Strikeouts have the same priority as emphases: 36 | . 37 | **~~test**~~ 38 | 39 | ~~**test~~** 40 | . 41 |

~~test~~

42 |

**test**

43 | . 44 | 45 | 46 | Strikeouts have the same priority as emphases with respect to links: 47 | . 48 | [~~link]()~~ 49 | 50 | ~~[link~~]() 51 | . 52 |

~~link~~

53 |

~~link~~

54 | . 55 | 56 | 57 | Strikeouts have the same priority as emphases with respect to backticks: 58 | . 59 | ~~`code~~` 60 | 61 | `~~code`~~ 62 | . 63 |

~~code~~

64 |

~~code~~

65 | . 66 | 67 | 68 | Nested strikeouts: 69 | . 70 | ~~foo ~~bar~~ baz~~ 71 | 72 | ~~f **o ~~o b~~ a** r~~ 73 | . 74 |

foo bar baz

75 |

f o o b a r

76 | . 77 | 78 | 79 | Should not have a whitespace between text and "~~": 80 | . 81 | foo ~~ bar ~~ baz 82 | . 83 |

foo ~~ bar ~~ baz

84 | . 85 | 86 | 87 | Newline should be considered a whitespace: 88 | . 89 | ~~test 90 | ~~ 91 | 92 | ~~ 93 | test~~ 94 | 95 | ~~ 96 | test 97 | ~~ 98 | . 99 |

~~test 100 | ~~

101 |

~~ 102 | test~~

103 |

~~ 104 | test 105 | ~~

106 | . 107 | 108 | From CommonMark test suite, replacing `**` with our marker: 109 | 110 | . 111 | a~~"foo"~~ 112 | . 113 |

a~~“foo”~~

114 | . 115 | -------------------------------------------------------------------------------- /test/fixtures/vendor/markdown-it/tables.txt: -------------------------------------------------------------------------------- 1 | Simple: 2 | . 3 | | Heading 1 | Heading 2 4 | | --------- | --------- 5 | | Cell 1 | Cell 2 6 | | Cell 3 | Cell 4 7 | . 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
Heading 1Heading 2
Cell 1Cell 2
Cell 3Cell 4
26 | . 27 | 28 | 29 | Column alignment: 30 | . 31 | | Header 1 | Header 2 | Header 3 | Header 4 | 32 | | :------: | -------: | :------- | -------- | 33 | | Cell 1 | Cell 2 | Cell 3 | Cell 4 | 34 | | Cell 5 | Cell 6 | Cell 7 | Cell 8 | 35 | . 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
Header 1Header 2Header 3Header 4
Cell 1Cell 2Cell 3Cell 4
Cell 5Cell 6Cell 7Cell 8
60 | . 61 | 62 | 63 | Nested emphases: 64 | . 65 | Header 1|Header 2|Header 3|Header 4 66 | :-------|:------:|-------:|-------- 67 | Cell 1 |Cell 2 |Cell 3 |Cell 4 68 | *Cell 5*|Cell 6 |Cell 7 |Cell 8 69 | . 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 |
Header 1Header 2Header 3Header 4
Cell 1Cell 2Cell 3Cell 4
Cell 5Cell 6Cell 7Cell 8
94 | . 95 | 96 | 97 | Nested tables inside blockquotes: 98 | . 99 | > foo|foo 100 | > ---|--- 101 | > bar|bar 102 | baz|baz 103 | . 104 |
105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 |
foofoo
barbar
119 |
120 |

baz|baz

121 | . 122 | 123 | 124 | Minimal one-column: 125 | . 126 | | foo 127 | |---- 128 | | test2 129 | . 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 |
foo
test2
142 | . 143 | 144 | 145 | This is parsed as one big table: 146 | . 147 | - foo|foo 148 | ---|--- 149 | bar|bar 150 | . 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 |
- foofoo
barbar
165 | . 166 | 167 | 168 | Second line should not contain symbols except "-", ":", "|" and " ": 169 | . 170 | foo|foo 171 | ---|---s 172 | bar|bar 173 | . 174 |

foo|foo 175 | —|---s 176 | bar|bar

177 | . 178 | 179 | 180 | Second line should contain "|" symbol: 181 | . 182 | foo|foo 183 | ---:--- 184 | bar|bar 185 | . 186 |

foo|foo 187 | —:--- 188 | bar|bar

189 | . 190 | 191 | 192 | Second line should not have empty columns in the middle: 193 | . 194 | foo|foo 195 | ---||--- 196 | bar|bar 197 | . 198 |

foo|foo 199 | —||— 200 | bar|bar

201 | . 202 | 203 | 204 | Wrong alignment symbol position: 205 | . 206 | foo|foo 207 | ---|-::- 208 | bar|bar 209 | . 210 |

foo|foo 211 | —|-::- 212 | bar|bar

213 | . 214 | 215 | 216 | Title line should contain "|" symbol: 217 | . 218 | foo 219 | ---|--- 220 | bar|bar 221 | . 222 |

foo 223 | —|--- 224 | bar|bar

225 | . 226 | 227 | 228 | Should terminate paragraph: 229 | . 230 | paragraph 231 | foo|foo 232 | ---|--- 233 | bar|bar 234 | . 235 |

paragraph

236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 |
foofoo
barbar
250 | . 251 | 252 | 253 | Should be terminated via row without "|" symbol: 254 | . 255 | foo|foo 256 | ---|--- 257 | paragraph 258 | . 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 |
foofoo
268 |

paragraph

269 | . 270 | 271 | 272 | Delimiter escaping: 273 | . 274 | | Heading 1 \\\\| Heading 2 275 | | --------- | --------- 276 | | Cell\|1\|| Cell\|2 277 | \| Cell\\\|3 \\| Cell\|4 278 | . 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 |
Heading 1 \\Heading 2
Cell|1|Cell|2
| Cell\|3 \Cell|4
297 | . 298 | 299 | Pipes inside backticks don't split cells: 300 | . 301 | | Heading 1 | Heading 2 302 | | --------- | --------- 303 | | Cell 1 | Cell 2 304 | | `Cell|3` | Cell 4 305 | . 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 |
Heading 1Heading 2
Cell 1Cell 2
Cell|3Cell 4
324 | . 325 | 326 | Unclosed backticks don't count 327 | . 328 | | Heading 1 | Heading 2 329 | | --------- | --------- 330 | | Cell 1 | Cell 2 331 | | `Cell 3| Cell 4 332 | . 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 |
Heading 1Heading 2
Cell 1Cell 2
`Cell 3Cell 4
351 | . 352 | 353 | Another complicated backticks case 354 | . 355 | | Heading 1 | Heading 2 356 | | --------- | --------- 357 | | Cell 1 | Cell 2 358 | | \\\`|\\\` 359 | . 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 |
Heading 1Heading 2
Cell 1Cell 2
\`\`
378 | . 379 | 380 | 381 | Should be parsed before code blocks: 382 | . 383 | foo | bar 384 | ----- | ----- 385 | aaa | bbb 386 | . 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 |
foobar
aaabbb
401 | . 402 | 403 | 404 | An amount of rows might be different across the table (issue #171): 405 | . 406 | | 1 | 2 | 407 | | :-----: | :-----: | :-----: | 408 | | 3 | 4 | 5 | 6 | 409 | . 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 |
12
34
424 | . 425 | 426 | 427 | An amount of rows might be different across the table #2: 428 | . 429 | | 1 | 2 | 3 | 4 | 430 | | :-----: | :-----: | :-----: | :-----: | 431 | | 5 | 6 | 432 | . 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 |
1234
56
451 | . 452 | 453 | 454 | Allow one-column tables (issue #171): 455 | . 456 | | foo | 457 | :-----: 458 | | bar | 459 | . 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 471 |
foo
bar
472 | . 473 | 474 | 475 | Allow tables with missing values: 476 | . 477 | 0,0 | 0,1 | 0,2 478 | --- | --- | --- 479 | 1,0 | | 1,2 480 | | 2,1 | 481 | 482 | . 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 |
0,00,10,2
1,01,2
2,1
504 | . 505 | -------------------------------------------------------------------------------- /test/fixtures/vendor/markdown-it/typographer.txt: -------------------------------------------------------------------------------- 1 | . 2 | (bad) 3 | . 4 |

(bad)

5 | . 6 | 7 | 8 | copyright 9 | . 10 | (c) (C) 11 | . 12 |

© ©

13 | . 14 | 15 | 16 | reserved 17 | . 18 | (r) (R) 19 | . 20 |

® ®

21 | . 22 | 23 | 24 | trademark 25 | . 26 | (tm) (TM) 27 | . 28 |

™ ™

29 | . 30 | 31 | 32 | paragraph 33 | . 34 | (p) (P) 35 | . 36 |

§ §

37 | . 38 | 39 | 40 | plus-minus 41 | . 42 | +-5 43 | . 44 |

±5

45 | . 46 | 47 | 48 | ellipsis 49 | . 50 | test.. test... test..... test?..... test!.... 51 | . 52 |

test… test… test… test?.. test!..

53 | . 54 | 55 | 56 | dupes 57 | . 58 | !!!!!! ???? ,, 59 | . 60 |

!!! ??? ,

61 | . 62 | 63 | 64 | dashes 65 | . 66 | ---markdownit --- super--- 67 | 68 | markdownit---awesome 69 | 70 | abc ---- 71 | 72 | --markdownit -- super-- 73 | 74 | markdownit--awesome 75 | . 76 |

—markdownit — super—

77 |

markdownit—awesome

78 |

abc ----

79 |

–markdownit – super–

80 |

markdownit–awesome

81 | . 82 | -------------------------------------------------------------------------------- /test/fixtures/vendor/markdown-it/xss.txt: -------------------------------------------------------------------------------- 1 | . 2 | [normal link](javascript) 3 | . 4 |

normal link

5 | . 6 | 7 | 8 | Should not allow some protocols in links and images 9 | . 10 | [xss link](javascript:alert(1)) 11 | 12 | [xss link](JAVASCRIPT:alert(1)) 13 | 14 | [xss link](vbscript:alert(1)) 15 | 16 | [xss link](VBSCRIPT:alert(1)) 17 | 18 | [xss link](file:///123) 19 | . 20 |

[xss link](javascript:alert(1))

21 |

[xss link](JAVASCRIPT:alert(1))

22 |

[xss link](vbscript:alert(1))

23 |

[xss link](VBSCRIPT:alert(1))

24 |

[xss link](file:///123)

25 | . 26 | 27 | 28 | . 29 | [xss link]("><script>alert("xss")</script>) 30 | 31 | [xss link](Javascript:alert(1)) 32 | 33 | [xss link](&#74;avascript:alert(1)) 34 | 35 | [xss link](\Javascript:alert(1)) 36 | . 37 |

xss link

38 |

[xss link](Javascript:alert(1))

39 |

xss link

40 |

xss link

41 | . 42 | 43 | . 44 | [xss link]() 45 | . 46 |

[xss link](<javascript:alert(1)>)

47 | . 48 | 49 | . 50 | [xss link](javascript:alert(1)) 51 | . 52 |

[xss link](javascript:alert(1))

53 | . 54 | 55 | 56 | Should not allow data-uri except some whitelisted mimes 57 | . 58 | ![](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) 59 | . 60 |

61 | . 62 | 63 | . 64 | [xss link](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K) 65 | . 66 |

[xss link](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)

67 | . 68 | 69 | . 70 | [normal link](/javascript:link) 71 | . 72 |

normal link

73 | . 74 | 75 | 76 | Image parser use the same code base as link. 77 | . 78 | ![xss link](javascript:alert(1)) 79 | . 80 |

![xss link](javascript:alert(1))

81 | . 82 | 83 | 84 | Autolinks 85 | . 86 | 87 | 88 | 89 | . 90 |

<javascript:alert(1)>

91 |

<javascript:alert(1)>

92 | . 93 | 94 | 95 | Linkifier 96 | . 97 | javascript:alert(1) 98 | 99 | javascript:alert(1) 100 | . 101 |

javascript:alert(1)

102 |

javascript:alert(1)

103 | . 104 | 105 | 106 | References 107 | . 108 | [test]: javascript:alert(1) 109 | . 110 |

[test]: javascript:alert(1)

111 | . 112 | 113 | 114 | Make sure we decode entities before split: 115 | . 116 | ```js custom-class 117 | test1 118 | ``` 119 | 120 | ```js custom-class 121 | test2 122 | ``` 123 | . 124 |
test1
125 | 
126 |
test2
127 | 
128 | . 129 | -------------------------------------------------------------------------------- /test/hashtag.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var path = require('path'); 4 | var generate = require('markdown-it-testgen'); 5 | 6 | describe('markdown-it-hashtag', function () { 7 | var md; 8 | 9 | beforeEach(function () { 10 | md = require('markdown-it')({ 11 | html: true, 12 | langPrefix: '', 13 | typographer: true, 14 | linkify: true 15 | }); 16 | }); 17 | 18 | it('applies markup to hashtags', function () { 19 | md.use(require('../')); 20 | generate(path.join(__dirname, 'fixtures/hashtag/default.txt'), md); 21 | }); 22 | 23 | it('accepts options', function () { 24 | md.use(require('../'), { 25 | hashtagRegExp: '[\\x0080-\\xFFFF\\w\\-]+|<3', 26 | preceding: '^|\\s' 27 | }); 28 | generate(path.join(__dirname, 'fixtures/hashtag/options.txt'), md); 29 | }); 30 | }); 31 | -------------------------------------------------------------------------------- /test/markdown-it.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var path = require('path'); 4 | var generate = require('markdown-it-testgen'); 5 | 6 | describe('markdown-it', function () { 7 | var md = require('markdown-it')({ 8 | html: true, 9 | langPrefix: '', 10 | typographer: true, 11 | linkify: true 12 | }); 13 | 14 | md.use(require('../')); 15 | generate(path.join(__dirname, 'fixtures/vendor/markdown-it'), md); 16 | }); 17 | --------------------------------------------------------------------------------