mirror of
https://github.com/wekan/wekan.git
synced 2026-02-26 09:54:08 +01:00
Include to Wekan packages directory contents, so that meteor command would build all directly.
This also simplifies build scripts. Thanks to xet7 !
This commit is contained in:
parent
6117097a93
commit
73e265d8fd
354 changed files with 36977 additions and 106 deletions
10
packages/markdown/marked/test/README
vendored
Normal file
10
packages/markdown/marked/test/README
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
In this directory:
|
||||
|
||||
#
|
||||
# MarkdownTester -- Run tests for Markdown implementations
|
||||
#
|
||||
# Copyright (c) 2004-2005 John Gruber
|
||||
# <http://daringfireball.net/projects/markdown/>
|
||||
#
|
||||
|
||||
Partially modified for testing purposes.
|
||||
5
packages/markdown/marked/test/browser/index.html
Normal file
5
packages/markdown/marked/test/browser/index.html
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<!doctype html>
|
||||
<title>marked tests</title>
|
||||
<p>testing...</p>
|
||||
<script src="marked.js"></script>
|
||||
<script src="test.js"></script>
|
||||
39
packages/markdown/marked/test/browser/index.js
Normal file
39
packages/markdown/marked/test/browser/index.js
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
var fs = require('fs'),
|
||||
path = require('path');
|
||||
|
||||
var testMod = require('../'),
|
||||
load = testMod.load;
|
||||
|
||||
var express = require('express'),
|
||||
app = express();
|
||||
|
||||
var files = load();
|
||||
|
||||
app.use(function(req, res, next) {
|
||||
var setHeader = res.setHeader;
|
||||
res.setHeader = function(name) {
|
||||
switch (name) {
|
||||
case 'Cache-Control':
|
||||
case 'Last-Modified':
|
||||
case 'ETag':
|
||||
return;
|
||||
}
|
||||
return setHeader.apply(res, arguments);
|
||||
};
|
||||
next();
|
||||
});
|
||||
|
||||
app.get('/test.js', function(req, res, next) {
|
||||
var test = fs.readFileSync(path.join(__dirname, 'test.js'), 'utf8');
|
||||
var testScript = test.replace('__TESTS__', JSON.stringify(files))
|
||||
.replace('__MAIN__', testMod.runTests + '')
|
||||
.replace('__LIBS__', testMod.testFile + '');
|
||||
|
||||
res.contentType('.js');
|
||||
res.send(testScript);
|
||||
});
|
||||
|
||||
app.use(express.static(path.join(__dirname, '/../../lib')));
|
||||
app.use(express.static(__dirname));
|
||||
|
||||
app.listen(8080);
|
||||
66
packages/markdown/marked/test/browser/test.js
Normal file
66
packages/markdown/marked/test/browser/test.js
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
|
||||
;(function() {
|
||||
var console = {},
|
||||
files = __TESTS__; // eslint-disable-line no-undef
|
||||
|
||||
console.log = function(text) {
|
||||
var args = Array.prototype.slice.call(arguments, 1),
|
||||
i = 0;
|
||||
|
||||
text = text.replace(/%\w/g, function() {
|
||||
return args[i++] || '';
|
||||
});
|
||||
|
||||
if (window.console) window.console.log(text);
|
||||
document.body.innerHTML += '<pre>' + escape(text) + '</pre>';
|
||||
};
|
||||
|
||||
if (!Object.keys) {
|
||||
Object.keys = function(obj) {
|
||||
var out = [],
|
||||
key;
|
||||
|
||||
for (key in obj) {
|
||||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
||||
out.push(key);
|
||||
}
|
||||
}
|
||||
|
||||
return out;
|
||||
};
|
||||
}
|
||||
|
||||
if (!Array.prototype.forEach) {
|
||||
// eslint-disable-next-line no-extend-native
|
||||
Array.prototype.forEach = function(callback, context) {
|
||||
for (var i = 0; i < this.length; i++) {
|
||||
callback.call(context || null, this[i], i, this);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
if (!String.prototype.trim) {
|
||||
// eslint-disable-next-line no-extend-native
|
||||
String.prototype.trim = function() {
|
||||
return this.replace(/^\s+|\s+$/g, '');
|
||||
};
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
function load() {
|
||||
return files;
|
||||
}
|
||||
|
||||
function escape(html, encode) {
|
||||
return html
|
||||
.replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&')
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>')
|
||||
.replace(/"/g, '"')
|
||||
.replace(/'/g, ''');
|
||||
}
|
||||
|
||||
__LIBS__; // eslint-disable-line no-undef, no-unused-expressions
|
||||
|
||||
(__MAIN__)(); // eslint-disable-line no-undef
|
||||
}).call(this);
|
||||
26
packages/markdown/marked/test/helpers/helpers.js
Normal file
26
packages/markdown/marked/test/helpers/helpers.js
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
const marked = require('../../');
|
||||
const htmlDiffer = require('./html-differ.js');
|
||||
|
||||
beforeEach(() => {
|
||||
marked.setOptions(marked.getDefaults());
|
||||
|
||||
jasmine.addMatchers({
|
||||
toRender: () => {
|
||||
return {
|
||||
compare: (spec, expected) => {
|
||||
const result = {};
|
||||
const actual = marked(spec.markdown, spec.options);
|
||||
result.pass = htmlDiffer.isEqual(expected, actual);
|
||||
|
||||
if (result.pass) {
|
||||
result.message = `${spec.markdown}\n------\n\nExpected: Should Fail`;
|
||||
} else {
|
||||
const diff = htmlDiffer.firstDiff(actual, expected);
|
||||
result.message = `Expected: ${diff.expected}\n Actual: ${diff.actual}`;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
};
|
||||
}
|
||||
});
|
||||
});
|
||||
38
packages/markdown/marked/test/helpers/html-differ.js
Normal file
38
packages/markdown/marked/test/helpers/html-differ.js
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
const HtmlDiffer = require('@markedjs/html-differ').HtmlDiffer;
|
||||
const htmlDiffer = new HtmlDiffer({ignoreSelfClosingSlash: true});
|
||||
|
||||
module.exports = {
|
||||
isEqual: htmlDiffer.isEqual.bind(htmlDiffer),
|
||||
firstDiff: (actual, expected, padding) => {
|
||||
padding = padding || 30;
|
||||
const result = htmlDiffer
|
||||
.diffHtml(actual, expected)
|
||||
.reduce((obj, diff) => {
|
||||
if (diff.added) {
|
||||
if (obj.firstIndex === null) {
|
||||
obj.firstIndex = obj.expected.length;
|
||||
}
|
||||
obj.expected += diff.value;
|
||||
} else if (diff.removed) {
|
||||
if (obj.firstIndex === null) {
|
||||
obj.firstIndex = obj.actual.length;
|
||||
}
|
||||
obj.actual += diff.value;
|
||||
} else {
|
||||
obj.actual += diff.value;
|
||||
obj.expected += diff.value;
|
||||
}
|
||||
|
||||
return obj;
|
||||
}, {
|
||||
firstIndex: null,
|
||||
actual: '',
|
||||
expected: ''
|
||||
});
|
||||
|
||||
return {
|
||||
actual: result.actual.substring(result.firstIndex - padding, result.firstIndex + padding),
|
||||
expected: result.expected.substring(result.firstIndex - padding, result.firstIndex + padding)
|
||||
};
|
||||
}
|
||||
};
|
||||
551
packages/markdown/marked/test/index.js
vendored
Normal file
551
packages/markdown/marked/test/index.js
vendored
Normal file
|
|
@ -0,0 +1,551 @@
|
|||
#!/usr/bin/env node
|
||||
'use strict';
|
||||
// 'use strict' is here so we can use let and const in node 4
|
||||
|
||||
/**
|
||||
* marked tests
|
||||
* Copyright (c) 2011-2013, Christopher Jeffrey. (MIT Licensed)
|
||||
* https://github.com/markedjs/marked
|
||||
*/
|
||||
|
||||
/**
|
||||
* Modules
|
||||
*/
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const fm = require('front-matter');
|
||||
const g2r = require('glob-to-regexp');
|
||||
let marked = require('../');
|
||||
const htmlDiffer = require('./helpers/html-differ.js');
|
||||
|
||||
/**
|
||||
* Load Tests
|
||||
*/
|
||||
|
||||
function load(options) {
|
||||
options = options || {};
|
||||
const dir = path.join(__dirname, 'compiled_tests');
|
||||
const glob = g2r(options.glob || '*', { extended: true });
|
||||
|
||||
const list = fs
|
||||
.readdirSync(dir)
|
||||
.filter(file => {
|
||||
return path.extname(file) === '.md';
|
||||
})
|
||||
.sort();
|
||||
|
||||
const files = list.reduce((obj, item) => {
|
||||
const name = path.basename(item, '.md');
|
||||
if (glob.test(name)) {
|
||||
const file = path.join(dir, item);
|
||||
const content = fm(fs.readFileSync(file, 'utf8'));
|
||||
|
||||
obj[name] = {
|
||||
options: content.attributes,
|
||||
text: content.body,
|
||||
html: fs.readFileSync(file.replace(/[^.]+$/, 'html'), 'utf8')
|
||||
};
|
||||
}
|
||||
return obj;
|
||||
}, {});
|
||||
|
||||
if (options.bench || options.time) {
|
||||
if (!options.glob) {
|
||||
// Change certain tests to allow
|
||||
// comparison to older benchmark times.
|
||||
fs.readdirSync(path.join(__dirname, 'new')).forEach(name => {
|
||||
if (path.extname(name) === '.html') return;
|
||||
if (name === 'main.md') return;
|
||||
delete files[name];
|
||||
});
|
||||
}
|
||||
|
||||
if (files['backslash_escapes.md']) {
|
||||
files['backslash_escapes.md'] = {
|
||||
text: 'hello world \\[how](are you) today'
|
||||
};
|
||||
}
|
||||
|
||||
if (files['main.md']) {
|
||||
files['main.md'].text = files['main.md'].text.replace('* * *\n\n', '');
|
||||
}
|
||||
}
|
||||
|
||||
return files;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test Runner
|
||||
*/
|
||||
|
||||
function runTests(engine, options) {
|
||||
if (typeof engine !== 'function') {
|
||||
options = engine;
|
||||
engine = null;
|
||||
}
|
||||
|
||||
engine = engine || marked;
|
||||
options = options || {};
|
||||
|
||||
let succeeded = 0;
|
||||
let failed = 0;
|
||||
const files = options.files || load(options);
|
||||
const filenames = Object.keys(files);
|
||||
|
||||
if (options.marked) {
|
||||
marked.setOptions(options.marked);
|
||||
}
|
||||
|
||||
for (let i = 0; i < filenames.length; i++) {
|
||||
const filename = filenames[i];
|
||||
const file = files[filename];
|
||||
|
||||
const success = testFile(engine, file, filename, i + 1);
|
||||
|
||||
if (success) {
|
||||
succeeded++;
|
||||
} else {
|
||||
failed++;
|
||||
if (options.stop) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log('\n%d/%d tests completed successfully.', succeeded, filenames.length);
|
||||
if (failed) console.log('%d/%d tests failed.', failed, filenames.length);
|
||||
|
||||
return !failed;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test a file
|
||||
*/
|
||||
|
||||
function testFile(engine, file, filename, index) {
|
||||
const opts = Object.keys(file.options);
|
||||
|
||||
if (marked._original) {
|
||||
marked.defaults = marked._original;
|
||||
delete marked._original;
|
||||
}
|
||||
|
||||
console.log('#%d. Test %s', index, filename);
|
||||
|
||||
if (opts.length) {
|
||||
marked._original = marked.defaults;
|
||||
marked.defaults = {};
|
||||
Object.keys(marked._original).forEach(key => {
|
||||
marked.defaults[key] = marked._original[key];
|
||||
});
|
||||
opts.forEach(key => {
|
||||
if (marked.defaults.hasOwnProperty(key)) {
|
||||
marked.defaults[key] = file.options[key];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const before = process.hrtime();
|
||||
|
||||
let text, html, elapsed;
|
||||
try {
|
||||
text = engine(file.text);
|
||||
html = file.html;
|
||||
} catch (e) {
|
||||
elapsed = process.hrtime(before);
|
||||
console.log('\n failed in %dms\n', prettyElapsedTime(elapsed));
|
||||
throw e;
|
||||
}
|
||||
|
||||
elapsed = process.hrtime(before);
|
||||
|
||||
if (htmlDiffer.isEqual(text, html)) {
|
||||
if (elapsed[0] > 0) {
|
||||
console.log('\n failed because it took too long.\n\n passed in %dms\n', prettyElapsedTime(elapsed));
|
||||
return false;
|
||||
}
|
||||
console.log(' passed in %dms', prettyElapsedTime(elapsed));
|
||||
return true;
|
||||
}
|
||||
|
||||
const diff = htmlDiffer.firstDiff(text, html);
|
||||
|
||||
console.log('\n failed in %dms', prettyElapsedTime(elapsed));
|
||||
console.log(' Expected: %s', diff.expected);
|
||||
console.log(' Actual: %s\n', diff.actual);
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Benchmark a function
|
||||
*/
|
||||
|
||||
function bench(name, files, engine) {
|
||||
const start = Date.now();
|
||||
|
||||
for (let i = 0; i < 1000; i++) {
|
||||
for (const filename in files) {
|
||||
engine(files[filename].text);
|
||||
}
|
||||
}
|
||||
|
||||
const end = Date.now();
|
||||
|
||||
console.log('%s completed in %dms.', name, end - start);
|
||||
}
|
||||
|
||||
/**
|
||||
* Benchmark all engines
|
||||
*/
|
||||
|
||||
function runBench(options) {
|
||||
options = options || {};
|
||||
const files = load(options);
|
||||
|
||||
// Non-GFM, Non-pedantic
|
||||
marked.setOptions({
|
||||
gfm: false,
|
||||
tables: false,
|
||||
breaks: false,
|
||||
pedantic: false,
|
||||
sanitize: false,
|
||||
smartLists: false
|
||||
});
|
||||
if (options.marked) {
|
||||
marked.setOptions(options.marked);
|
||||
}
|
||||
bench('marked', files, marked);
|
||||
|
||||
// GFM
|
||||
marked.setOptions({
|
||||
gfm: true,
|
||||
tables: false,
|
||||
breaks: false,
|
||||
pedantic: false,
|
||||
sanitize: false,
|
||||
smartLists: false
|
||||
});
|
||||
if (options.marked) {
|
||||
marked.setOptions(options.marked);
|
||||
}
|
||||
bench('marked (gfm)', files, marked);
|
||||
|
||||
// Pedantic
|
||||
marked.setOptions({
|
||||
gfm: false,
|
||||
tables: false,
|
||||
breaks: false,
|
||||
pedantic: true,
|
||||
sanitize: false,
|
||||
smartLists: false
|
||||
});
|
||||
if (options.marked) {
|
||||
marked.setOptions(options.marked);
|
||||
}
|
||||
bench('marked (pedantic)', files, marked);
|
||||
|
||||
try {
|
||||
bench('commonmark', files, (() => {
|
||||
const commonmark = require('commonmark');
|
||||
const parser = new commonmark.Parser();
|
||||
const writer = new commonmark.HtmlRenderer();
|
||||
return function (text) {
|
||||
return writer.render(parser.parse(text));
|
||||
};
|
||||
})());
|
||||
} catch (e) {
|
||||
console.log('Could not bench commonmark. (Error: %s)', e.message);
|
||||
}
|
||||
|
||||
try {
|
||||
bench('markdown-it', files, (() => {
|
||||
const MarkdownIt = require('markdown-it');
|
||||
const md = new MarkdownIt();
|
||||
return md.render.bind(md);
|
||||
})());
|
||||
} catch (e) {
|
||||
console.log('Could not bench markdown-it. (Error: %s)', e.message);
|
||||
}
|
||||
|
||||
try {
|
||||
bench('markdown.js', files, (() => {
|
||||
const markdown = require('markdown').markdown;
|
||||
return markdown.toHTML.bind(markdown);
|
||||
})());
|
||||
} catch (e) {
|
||||
console.log('Could not bench markdown.js. (Error: %s)', e.message);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* A simple one-time benchmark
|
||||
*/
|
||||
|
||||
function time(options) {
|
||||
options = options || {};
|
||||
const files = load(options);
|
||||
if (options.marked) {
|
||||
marked.setOptions(options.marked);
|
||||
}
|
||||
bench('marked', files, marked);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Markdown Test Suite Fixer
|
||||
* This function is responsible for "fixing"
|
||||
* the markdown test suite. There are
|
||||
* certain aspects of the suite that
|
||||
* are strange or might make tests
|
||||
* fail for reasons unrelated to
|
||||
* conformance.
|
||||
*/
|
||||
|
||||
function fix() {
|
||||
['compiled_tests', 'original', 'new', 'redos'].forEach(dir => {
|
||||
try {
|
||||
fs.mkdirSync(path.resolve(__dirname, dir));
|
||||
} catch (e) {
|
||||
// directory already exists
|
||||
}
|
||||
});
|
||||
|
||||
// rm -rf tests
|
||||
fs.readdirSync(path.resolve(__dirname, 'compiled_tests')).forEach(file => {
|
||||
fs.unlinkSync(path.resolve(__dirname, 'compiled_tests', file));
|
||||
});
|
||||
|
||||
// cp -r original tests
|
||||
fs.readdirSync(path.resolve(__dirname, 'original')).forEach(file => {
|
||||
let text = fs.readFileSync(path.resolve(__dirname, 'original', file), 'utf8');
|
||||
|
||||
if (path.extname(file) === '.md') {
|
||||
if (fm.test(text)) {
|
||||
text = fm(text);
|
||||
text = `---\n${text.frontmatter}\ngfm: false\n---\n${text.body}`;
|
||||
} else {
|
||||
text = `---\ngfm: false\n---\n${text}`;
|
||||
}
|
||||
}
|
||||
|
||||
fs.writeFileSync(path.resolve(__dirname, 'compiled_tests', file), text);
|
||||
});
|
||||
|
||||
// node fix.js
|
||||
const dir = path.join(__dirname, 'compiled_tests');
|
||||
|
||||
fs.readdirSync(dir).filter(file => {
|
||||
return path.extname(file) === '.html';
|
||||
}).forEach(file => {
|
||||
file = path.join(dir, file);
|
||||
let html = fs.readFileSync(file, 'utf8');
|
||||
|
||||
// fix unencoded quotes
|
||||
html = html
|
||||
.replace(/='([^\n']*)'(?=[^<>\n]*>)/g, '=&__APOS__;$1&__APOS__;')
|
||||
.replace(/="([^\n"]*)"(?=[^<>\n]*>)/g, '=&__QUOT__;$1&__QUOT__;')
|
||||
.replace(/"/g, '"')
|
||||
.replace(/'/g, ''')
|
||||
.replace(/&__QUOT__;/g, '"')
|
||||
.replace(/&__APOS__;/g, '\'');
|
||||
|
||||
fs.writeFileSync(file, html);
|
||||
});
|
||||
|
||||
// turn <hr /> into <hr>
|
||||
fs.readdirSync(dir).forEach(file => {
|
||||
file = path.join(dir, file);
|
||||
let text = fs.readFileSync(file, 'utf8');
|
||||
|
||||
text = text.replace(/(<|<)hr\s*\/(>|>)/g, '$1hr$2');
|
||||
|
||||
fs.writeFileSync(file, text);
|
||||
});
|
||||
|
||||
// markdown does some strange things.
|
||||
// it does not encode naked `>`, marked does.
|
||||
{
|
||||
const file = `${dir}/amps_and_angles_encoding.html`;
|
||||
const html = fs.readFileSync(file, 'utf8')
|
||||
.replace('6 > 5.', '6 > 5.');
|
||||
|
||||
fs.writeFileSync(file, html);
|
||||
}
|
||||
|
||||
// cp new/* tests/
|
||||
fs.readdirSync(path.resolve(__dirname, 'new')).forEach(file => {
|
||||
fs.writeFileSync(path.resolve(__dirname, 'compiled_tests', file),
|
||||
fs.readFileSync(path.resolve(__dirname, 'new', file)));
|
||||
});
|
||||
|
||||
// cp redos/* tests/
|
||||
fs.readdirSync(path.resolve(__dirname, 'redos')).forEach(file => {
|
||||
fs.writeFileSync(path.resolve(__dirname, 'compiled_tests', file),
|
||||
fs.readFileSync(path.resolve(__dirname, 'redos', file)));
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Argument Parsing
|
||||
*/
|
||||
|
||||
function parseArg(argv) {
|
||||
argv = argv.slice(2);
|
||||
|
||||
const options = {};
|
||||
const orphans = [];
|
||||
|
||||
function getarg() {
|
||||
let arg = argv.shift();
|
||||
|
||||
if (arg.indexOf('--') === 0) {
|
||||
// e.g. --opt
|
||||
arg = arg.split('=');
|
||||
if (arg.length > 1) {
|
||||
// e.g. --opt=val
|
||||
argv.unshift(arg.slice(1).join('='));
|
||||
}
|
||||
arg = arg[0];
|
||||
} else if (arg[0] === '-') {
|
||||
if (arg.length > 2) {
|
||||
// e.g. -abc
|
||||
argv = arg.substring(1).split('').map(ch => {
|
||||
return `-${ch}`;
|
||||
}).concat(argv);
|
||||
arg = argv.shift();
|
||||
} else {
|
||||
// e.g. -a
|
||||
}
|
||||
} else {
|
||||
// e.g. foo
|
||||
}
|
||||
|
||||
return arg;
|
||||
}
|
||||
|
||||
while (argv.length) {
|
||||
let arg = getarg();
|
||||
switch (arg) {
|
||||
case '-f':
|
||||
case '--fix':
|
||||
case 'fix':
|
||||
if (options.fix !== false) {
|
||||
options.fix = true;
|
||||
}
|
||||
break;
|
||||
case '--no-fix':
|
||||
case 'no-fix':
|
||||
options.fix = false;
|
||||
break;
|
||||
case '-b':
|
||||
case '--bench':
|
||||
options.bench = true;
|
||||
break;
|
||||
case '-s':
|
||||
case '--stop':
|
||||
options.stop = true;
|
||||
break;
|
||||
case '-t':
|
||||
case '--time':
|
||||
options.time = true;
|
||||
break;
|
||||
case '-m':
|
||||
case '--minified':
|
||||
options.minified = true;
|
||||
break;
|
||||
case '--glob':
|
||||
arg = argv.shift();
|
||||
options.glob = arg.replace(/^=/, '');
|
||||
break;
|
||||
default:
|
||||
if (arg.indexOf('--') === 0) {
|
||||
const opt = camelize(arg.replace(/^--(no-)?/, ''));
|
||||
if (!marked.defaults.hasOwnProperty(opt)) {
|
||||
continue;
|
||||
}
|
||||
options.marked = options.marked || {};
|
||||
if (arg.indexOf('--no-') === 0) {
|
||||
options.marked[opt] = typeof marked.defaults[opt] !== 'boolean'
|
||||
? null
|
||||
: false;
|
||||
} else {
|
||||
options.marked[opt] = typeof marked.defaults[opt] !== 'boolean'
|
||||
? argv.shift()
|
||||
: true;
|
||||
}
|
||||
} else {
|
||||
orphans.push(arg);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helpers
|
||||
*/
|
||||
|
||||
function camelize(text) {
|
||||
return text.replace(/(\w)-(\w)/g, (_, a, b) => a + b.toUpperCase());
|
||||
}
|
||||
|
||||
/**
|
||||
* Main
|
||||
*/
|
||||
|
||||
function main(argv) {
|
||||
const opt = parseArg(argv);
|
||||
|
||||
if (opt.fix !== false) {
|
||||
fix();
|
||||
}
|
||||
|
||||
if (opt.fix) {
|
||||
// only run fix
|
||||
return;
|
||||
}
|
||||
|
||||
if (opt.bench) {
|
||||
return runBench(opt);
|
||||
}
|
||||
|
||||
if (opt.time) {
|
||||
return time(opt);
|
||||
}
|
||||
|
||||
if (opt.minified) {
|
||||
marked = require('../marked.min.js');
|
||||
}
|
||||
return runTests(opt);
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute
|
||||
*/
|
||||
|
||||
if (!module.parent) {
|
||||
process.title = 'marked';
|
||||
process.exit(main(process.argv.slice()) ? 0 : 1);
|
||||
} else {
|
||||
exports = main;
|
||||
exports.main = main;
|
||||
exports.runTests = runTests;
|
||||
exports.testFile = testFile;
|
||||
exports.runBench = runBench;
|
||||
exports.load = load;
|
||||
exports.bench = bench;
|
||||
module.exports = exports;
|
||||
}
|
||||
|
||||
// returns time to millisecond granularity
|
||||
function prettyElapsedTime(hrtimeElapsed) {
|
||||
const seconds = hrtimeElapsed[0];
|
||||
const frac = Math.round(hrtimeElapsed[1] / 1e3) / 1e3;
|
||||
return seconds * 1e3 + frac;
|
||||
}
|
||||
62
packages/markdown/marked/test/json-to-files.js
vendored
Normal file
62
packages/markdown/marked/test/json-to-files.js
vendored
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
|
||||
const folder = process.argv[2];
|
||||
const jsonFile = process.argv[3];
|
||||
|
||||
if (!folder || !jsonFile) {
|
||||
console.log('node ./json-to-files.js {path to folder} {path to json file}');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const specs = require(jsonFile);
|
||||
|
||||
const files = specs.reduce((obj, spec) => {
|
||||
if (!obj[spec.section]) {
|
||||
obj[spec.section] = {
|
||||
md: [],
|
||||
html: [],
|
||||
options: {}
|
||||
};
|
||||
}
|
||||
|
||||
obj[spec.section].md.push(spec.markdown);
|
||||
obj[spec.section].html.push(spec.html);
|
||||
Object.assign(obj[spec.section].options, spec.options);
|
||||
|
||||
return obj;
|
||||
}, {});
|
||||
|
||||
try {
|
||||
fs.mkdirSync(folder, {recursive: true});
|
||||
} catch (ex) {
|
||||
// already exists
|
||||
}
|
||||
|
||||
for (const section in files) {
|
||||
const file = files[section];
|
||||
const name = section.toLowerCase().replace(' ', '_');
|
||||
const frontMatter = Object.keys(file.options).map(opt => {
|
||||
let value = file.options[opt];
|
||||
if (typeof value !== 'string') {
|
||||
value = JSON.stringify(value);
|
||||
}
|
||||
return `${opt}: ${value}`;
|
||||
}).join('\n');
|
||||
|
||||
let markdown = file.md.join('\n\n');
|
||||
if (frontMatter) {
|
||||
markdown = `---\n${frontMatter}\n---\n\n${markdown}`;
|
||||
}
|
||||
const html = file.html.join('\n\n');
|
||||
|
||||
const mdFile = path.resolve(folder, `${name}.md`);
|
||||
const htmlFile = path.resolve(folder, `${name}.html`);
|
||||
|
||||
if (fs.existsSync(mdFile) || fs.existsSync(htmlFile)) {
|
||||
throw new Error(`${name} already exists.`);
|
||||
}
|
||||
|
||||
fs.writeFileSync(mdFile, markdown);
|
||||
fs.writeFileSync(htmlFile, html);
|
||||
}
|
||||
9
packages/markdown/marked/test/new/adjacent_lists.html
Normal file
9
packages/markdown/marked/test/new/adjacent_lists.html
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<ul>
|
||||
<li>This should be</li>
|
||||
<li>An unordered list</li>
|
||||
</ul>
|
||||
|
||||
<ol>
|
||||
<li>This should be</li>
|
||||
<li>An unordered list</li>
|
||||
</ol>
|
||||
5
packages/markdown/marked/test/new/adjacent_lists.md
Normal file
5
packages/markdown/marked/test/new/adjacent_lists.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
* This should be
|
||||
* An unordered list
|
||||
|
||||
1. This should be
|
||||
2. An unordered list
|
||||
3
packages/markdown/marked/test/new/autolink_lines.html
Normal file
3
packages/markdown/marked/test/new/autolink_lines.html
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<p>hello world
|
||||
<a href="http://example.com">http://example.com</a>
|
||||
</p>
|
||||
2
packages/markdown/marked/test/new/autolink_lines.md
Normal file
2
packages/markdown/marked/test/new/autolink_lines.md
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
hello world
|
||||
<http://example.com>
|
||||
15
packages/markdown/marked/test/new/autolinks.html
Normal file
15
packages/markdown/marked/test/new/autolinks.html
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<p>(See <a href="https://www.example.com/fhqwhgads">https://www.example.com/fhqwhgads</a>.)</p>
|
||||
|
||||
<p>((<a href="http://foo.com">http://foo.com</a>))</p>
|
||||
|
||||
<p>((<a href="http://foo.com">http://foo.com</a>.))</p>
|
||||
|
||||
<p><a href="HTTP://FOO.COM">HTTP://FOO.COM</a></p>
|
||||
|
||||
<p><a href="hTtP://fOo.CoM">hTtP://fOo.CoM</a></p>
|
||||
|
||||
<p><del><a href="mailto:hello@email.com">hello@email.com</a></del></p>
|
||||
|
||||
<p><strong><a href="mailto:me@example.com">me@example.com</a></strong></p>
|
||||
|
||||
<p><strong><a href="mailto:test@test.com">test@test.com</a></strong></p>
|
||||
15
packages/markdown/marked/test/new/autolinks.md
Normal file
15
packages/markdown/marked/test/new/autolinks.md
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
(See https://www.example.com/fhqwhgads.)
|
||||
|
||||
((http://foo.com))
|
||||
|
||||
((http://foo.com.))
|
||||
|
||||
HTTP://FOO.COM
|
||||
|
||||
hTtP://fOo.CoM
|
||||
|
||||
~~hello@email.com~~
|
||||
|
||||
**me@example.com**
|
||||
|
||||
__test@test.com__
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
<p>This fails in markdown.pl and upskirt:</p>
|
||||
|
||||
<ul><li>hello<blockquote><p>world</p></blockquote></li></ul>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
This fails in markdown.pl and upskirt:
|
||||
|
||||
* hello
|
||||
> world
|
||||
|
|
@ -0,0 +1 @@
|
|||
<p><a href="/url">hi</a></p>
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
[hi]
|
||||
|
||||
[HI]: /url
|
||||
91
packages/markdown/marked/test/new/cm_autolinks.html
Normal file
91
packages/markdown/marked/test/new/cm_autolinks.html
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
<p>Here are some valid autolinks:</p>
|
||||
|
||||
<h3 id="example-565">Example 565</h3>
|
||||
|
||||
<p><a href="http://foo.bar.baz">http://foo.bar.baz</a></p>
|
||||
|
||||
<h3 id="example-566">Example 566</h3>
|
||||
|
||||
<p><a href="http://foo.bar.baz/test?q=hello&id=22&boolean">http://foo.bar.baz/test?q=hello&id=22&boolean</a></p>
|
||||
|
||||
<h3 id="example-567">Example 567</h3>
|
||||
|
||||
<p><a href="irc://foo.bar:2233/baz">irc://foo.bar:2233/baz</a></p>
|
||||
|
||||
<h3 id="example-568">Example 568</h3>
|
||||
|
||||
<p>Uppercase is also fine:</p>
|
||||
|
||||
<p><a href="MAILTO:FOO@BAR.BAZ">MAILTO:FOO@BAR.BAZ</a></p>
|
||||
|
||||
<p>Note that many strings that count as absolute URIs for purposes of this spec are not valid URIs, because their schemes are not registered or because of other problems with their syntax:</p>
|
||||
|
||||
<h3 id="example-569">Example 569</h3>
|
||||
|
||||
<p><a href="a+b+c:d">a+b+c:d</a></p>
|
||||
|
||||
<h3 id="example-570">Example 570</h3>
|
||||
|
||||
<p><a href="made-up-scheme://foo,bar">made-up-scheme://foo,bar</a></p>
|
||||
|
||||
<h3 id="example-571">Example 571</h3>
|
||||
|
||||
<p><a href="http://../">http://../</a></p>
|
||||
|
||||
<h3 id="example-572">Example 572</h3>
|
||||
|
||||
<p><a href="localhost:5001/foo">localhost:5001/foo</a></p>
|
||||
|
||||
<h3 id="example-573">Example 573</h3>
|
||||
|
||||
<p>Spaces are not allowed in autolinks:</p>
|
||||
|
||||
<p><http://foo.bar/baz bim></p>
|
||||
|
||||
<h3 id="example-574">Example 574</h3>
|
||||
|
||||
<p>Backslash-escapes do not work inside autolinks:</p>
|
||||
|
||||
<p><a href="http://example.com/%5C%5B%5C">http://example.com/\[\</a></p>
|
||||
|
||||
<p>Examples of email autolinks:</p>
|
||||
|
||||
<h3 id="example-575">Example 575</h3>
|
||||
|
||||
<p><a href="mailto:foo@bar.example.com">foo@bar.example.com</a></p>
|
||||
|
||||
<h3 id="example-576">Example 576</h3>
|
||||
|
||||
<p><a href="mailto:foo+special@Bar.baz-bar0.com">foo+special@Bar.baz-bar0.com</a></p>
|
||||
|
||||
<h3 id="example-577">Example 577</h3>
|
||||
|
||||
<p>Backslash-escapes do not work inside email autolinks:</p>
|
||||
|
||||
<p><foo+@bar.example.com></p>
|
||||
|
||||
<p>These are not autolinks:</p>
|
||||
|
||||
<h3 id="example-578">Example 578</h3>
|
||||
|
||||
<p><></p>
|
||||
|
||||
<h3 id="example-579">Example 579</h3>
|
||||
|
||||
<p>< http://foo.bar ></p>
|
||||
|
||||
<h3 id="example-580">Example 580</h3>
|
||||
|
||||
<p><m:abc></p>
|
||||
|
||||
<h3 id="example-581">Example 581</h3>
|
||||
|
||||
<p><foo.bar.baz></p>
|
||||
|
||||
<h3 id="example-582">Example 582</h3>
|
||||
|
||||
<p>http://example.com</p>
|
||||
|
||||
<h3 id="example-583">Example 583</h3>
|
||||
|
||||
<p>foo@bar.example.com</p>
|
||||
96
packages/markdown/marked/test/new/cm_autolinks.md
Normal file
96
packages/markdown/marked/test/new/cm_autolinks.md
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
---
|
||||
gfm: false
|
||||
mangle: false
|
||||
---
|
||||
|
||||
Here are some valid autolinks:
|
||||
|
||||
### Example 565
|
||||
|
||||
<http://foo.bar.baz>
|
||||
|
||||
### Example 566
|
||||
|
||||
<http://foo.bar.baz/test?q=hello&id=22&boolean>
|
||||
|
||||
### Example 567
|
||||
|
||||
<irc://foo.bar:2233/baz>
|
||||
|
||||
### Example 568
|
||||
|
||||
Uppercase is also fine:
|
||||
|
||||
<MAILTO:FOO@BAR.BAZ>
|
||||
|
||||
Note that many strings that count as absolute URIs for purposes of this spec are not valid URIs, because their schemes are not registered or because of other problems with their syntax:
|
||||
|
||||
### Example 569
|
||||
|
||||
<a+b+c:d>
|
||||
|
||||
### Example 570
|
||||
|
||||
<made-up-scheme://foo,bar>
|
||||
|
||||
### Example 571
|
||||
|
||||
<http://../>
|
||||
|
||||
### Example 572
|
||||
|
||||
<localhost:5001/foo>
|
||||
|
||||
### Example 573
|
||||
|
||||
Spaces are not allowed in autolinks:
|
||||
|
||||
<http://foo.bar/baz bim>
|
||||
|
||||
### Example 574
|
||||
|
||||
Backslash-escapes do not work inside autolinks:
|
||||
|
||||
<http://example.com/\[\>
|
||||
|
||||
Examples of email autolinks:
|
||||
|
||||
### Example 575
|
||||
|
||||
<foo@bar.example.com>
|
||||
|
||||
### Example 576
|
||||
|
||||
<foo+special@Bar.baz-bar0.com>
|
||||
|
||||
### Example 577
|
||||
|
||||
Backslash-escapes do not work inside email autolinks:
|
||||
|
||||
<foo\+@bar.example.com>
|
||||
|
||||
These are not autolinks:
|
||||
|
||||
### Example 578
|
||||
|
||||
<>
|
||||
|
||||
### Example 579
|
||||
|
||||
< http://foo.bar >
|
||||
|
||||
### Example 580
|
||||
|
||||
<m:abc>
|
||||
|
||||
### Example 581
|
||||
|
||||
<foo.bar.baz>
|
||||
|
||||
### Example 582
|
||||
|
||||
http://example.com
|
||||
|
||||
### Example 583
|
||||
|
||||
foo@bar.example.com
|
||||
233
packages/markdown/marked/test/new/cm_blockquotes.html
Normal file
233
packages/markdown/marked/test/new/cm_blockquotes.html
Normal file
|
|
@ -0,0 +1,233 @@
|
|||
<h3 id="example-191">Example 191</h3>
|
||||
|
||||
<blockquote>
|
||||
<h1 id="foo">Foo</h1>
|
||||
<p>bar
|
||||
baz</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-192">Example 192</h3>
|
||||
|
||||
<p>The spaces after the <code>></code> characters can be omitted:</p>
|
||||
|
||||
<blockquote>
|
||||
<h1 id="bar">Bar</h1>
|
||||
<p>bar
|
||||
baz</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-193">Example 193</h3>
|
||||
|
||||
<p>The <code>></code> characters can be indented 1-3 spaces:</p>
|
||||
|
||||
<blockquote>
|
||||
<h1 id="baz">Baz</h1>
|
||||
<p>bar
|
||||
baz</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-194">Example 194</h3>
|
||||
|
||||
<p>Four spaces gives us a code block:</p>
|
||||
|
||||
<pre><code>> # Qux
|
||||
> bar
|
||||
> baz</code></pre>
|
||||
|
||||
<h3 id="example-195">Example 195</h3>
|
||||
|
||||
<p>The Laziness clause allows us to omit the <code>></code> before paragraph continuation text:</p>
|
||||
|
||||
<blockquote>
|
||||
<h1 id="quux">Quux</h1>
|
||||
<p>bar
|
||||
baz</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-196">Example 196</h3>
|
||||
|
||||
<p>A block quote can contain some lazy and some non-lazy continuation lines:</p>
|
||||
|
||||
<blockquote>
|
||||
<p>bar
|
||||
baz
|
||||
foo</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-197">Example 197</h3>
|
||||
|
||||
<p>Laziness only applies to lines that would have been continuations of paragraphs had they been prepended with block quote markers. For example, the <code>></code> cannot be omitted in the second line of</p>
|
||||
|
||||
<blockquote>
|
||||
<p>foo</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
<p>without changing the meaning.</p>
|
||||
|
||||
<h3 id="example-198">Example 198</h3>
|
||||
|
||||
<pre><code>Similarly, if we omit the `>` in the second line then the block quote ends after the first line:
|
||||
|
||||
> - foo
|
||||
- bar</code></pre>
|
||||
|
||||
<h3 id="example-199">Example 199</h3>
|
||||
|
||||
<p>For the same reason, we can’t omit the <code>></code> in front of subsequent lines of an indented or fenced code block:</p>
|
||||
|
||||
<blockquote>
|
||||
<pre><code>foo</code></pre>
|
||||
</blockquote>
|
||||
<pre><code>bar</code></pre>
|
||||
|
||||
<h3 id="example-200">Example 200</h3>
|
||||
|
||||
<pre><code>> ```
|
||||
foo
|
||||
```
|
||||
|
||||
<blockquote>
|
||||
<pre><code></code></pre>
|
||||
</blockquote>
|
||||
<p>foo</p>
|
||||
<pre><code></code></pre></code></pre>
|
||||
|
||||
<h3 id="example-201">Example 201</h3>
|
||||
<pre><code>> foo
|
||||
- bar
|
||||
|
||||
<blockquote>
|
||||
<p>foo
|
||||
- bar</p>
|
||||
</blockquote></code></pre>
|
||||
|
||||
<h3 id="example-202">Example 202</h3>
|
||||
|
||||
<p>A block quote can be empty:</p>
|
||||
|
||||
<blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-203">Example 203</h3>
|
||||
|
||||
<blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-204">Example 204</h3>
|
||||
|
||||
<p>A block quote can have initial or final blank lines:</p>
|
||||
|
||||
<blockquote>
|
||||
<p>foo</p>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<h3 id="example-205">Example 205</h3>
|
||||
|
||||
<p>A blank line always separates block quotes:</p>
|
||||
|
||||
<blockquote>
|
||||
<p>foo</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>bar</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-206">Example 206</h3>
|
||||
|
||||
<p>Consecutiveness means that if we put these block quotes together, we get a single block quote:</p>
|
||||
|
||||
<blockquote>
|
||||
<p>foo
|
||||
bar</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-207">Example 207</h3>
|
||||
|
||||
<p>To get a block quote with two paragraphs, use:</p>
|
||||
|
||||
<blockquote>
|
||||
<p>foo</p>
|
||||
<p>bar</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-208">Example 208</h3>
|
||||
|
||||
<p>Block quotes can interrupt paragraphs:</p>
|
||||
|
||||
<p>foo</p>
|
||||
<blockquote>
|
||||
<p>bar</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-209">Example 209</h3>
|
||||
|
||||
<p>In general, blank lines are not needed before or after block quotes:</p>
|
||||
|
||||
<blockquote>
|
||||
<p>aaa</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<blockquote>
|
||||
<p>bbb</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-210">Example 210</h3>
|
||||
|
||||
<p>However, because of laziness, a blank line is needed between a block quote and a following paragraph:</p>
|
||||
|
||||
<blockquote>
|
||||
<p>bar
|
||||
baz</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-211">Example 211</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>bar</p>
|
||||
</blockquote>
|
||||
<p>baz</p>
|
||||
|
||||
<h3 id="example-212">Example 212</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>bar</p>
|
||||
</blockquote>
|
||||
<p>baz</p>
|
||||
|
||||
<h3 id="example-213">Example 213</h3>
|
||||
|
||||
<p>It is a consequence of the Laziness rule that any number of initial <code>></code>s may be omitted on a continuation line of a nested block quote:</p>
|
||||
|
||||
<blockquote>
|
||||
<blockquote>
|
||||
<blockquote>
|
||||
<p>foo
|
||||
bar</p>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-214">Example 214</h3>
|
||||
|
||||
<blockquote>
|
||||
<blockquote>
|
||||
<blockquote>
|
||||
<p>foo
|
||||
bar
|
||||
baz</p>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-215">Example 215</h3>
|
||||
|
||||
<p>When including an indented code block in a block quote, remember that the block quote marker includes both the <code>></code> and a following space. So five spaces are needed after the <code>></code>:</p>
|
||||
|
||||
<blockquote>
|
||||
<pre><code>code</code></pre>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>not code</p>
|
||||
</blockquote>
|
||||
189
packages/markdown/marked/test/new/cm_blockquotes.md
Normal file
189
packages/markdown/marked/test/new/cm_blockquotes.md
Normal file
|
|
@ -0,0 +1,189 @@
|
|||
### Example 191
|
||||
|
||||
> # Foo
|
||||
> bar
|
||||
> baz
|
||||
|
||||
### Example 192
|
||||
|
||||
The spaces after the `>` characters can be omitted:
|
||||
|
||||
># Bar
|
||||
>bar
|
||||
> baz
|
||||
|
||||
### Example 193
|
||||
|
||||
The `>` characters can be indented 1-3 spaces:
|
||||
|
||||
> # Baz
|
||||
> bar
|
||||
> baz
|
||||
|
||||
### Example 194
|
||||
|
||||
Four spaces gives us a code block:
|
||||
|
||||
> # Qux
|
||||
> bar
|
||||
> baz
|
||||
|
||||
### Example 195
|
||||
|
||||
The Laziness clause allows us to omit the `>` before paragraph continuation text:
|
||||
|
||||
> # Quux
|
||||
> bar
|
||||
baz
|
||||
|
||||
### Example 196
|
||||
|
||||
A block quote can contain some lazy and some non-lazy continuation lines:
|
||||
|
||||
> bar
|
||||
baz
|
||||
> foo
|
||||
|
||||
### Example 197
|
||||
|
||||
Laziness only applies to lines that would have been continuations of paragraphs had they been prepended with block quote markers. For example, the `>` cannot be omitted in the second line of
|
||||
|
||||
> foo
|
||||
---
|
||||
|
||||
without changing the meaning.
|
||||
|
||||
### Example 198
|
||||
|
||||
Similarly, if we omit the `>` in the second line then the block quote ends after the first line:
|
||||
|
||||
> - foo
|
||||
- bar
|
||||
|
||||
### Example 199
|
||||
|
||||
For the same reason, we can’t omit the `>` in front of subsequent lines of an indented or fenced code block:
|
||||
|
||||
> foo
|
||||
|
||||
bar
|
||||
|
||||
### Example 200
|
||||
|
||||
> ```
|
||||
foo
|
||||
```
|
||||
|
||||
<blockquote>
|
||||
<pre><code></code></pre>
|
||||
</blockquote>
|
||||
<p>foo</p>
|
||||
<pre><code></code></pre>
|
||||
|
||||
### Example 201
|
||||
|
||||
> foo
|
||||
- bar
|
||||
|
||||
<blockquote>
|
||||
<p>foo
|
||||
- bar</p>
|
||||
</blockquote>
|
||||
|
||||
### Example 202
|
||||
|
||||
A block quote can be empty:
|
||||
|
||||
>
|
||||
|
||||
### Example 203
|
||||
|
||||
>
|
||||
>
|
||||
>
|
||||
|
||||
### Example 204
|
||||
|
||||
A block quote can have initial or final blank lines:
|
||||
|
||||
>
|
||||
> foo
|
||||
>
|
||||
|
||||
### Example 205
|
||||
|
||||
A blank line always separates block quotes:
|
||||
|
||||
> foo
|
||||
|
||||
> bar
|
||||
|
||||
### Example 206
|
||||
|
||||
Consecutiveness means that if we put these block quotes together, we get a single block quote:
|
||||
|
||||
> foo
|
||||
> bar
|
||||
|
||||
### Example 207
|
||||
|
||||
To get a block quote with two paragraphs, use:
|
||||
|
||||
> foo
|
||||
>
|
||||
> bar
|
||||
|
||||
### Example 208
|
||||
|
||||
Block quotes can interrupt paragraphs:
|
||||
|
||||
foo
|
||||
> bar
|
||||
|
||||
### Example 209
|
||||
|
||||
In general, blank lines are not needed before or after block quotes:
|
||||
|
||||
> aaa
|
||||
***
|
||||
> bbb
|
||||
|
||||
### Example 210
|
||||
|
||||
However, because of laziness, a blank line is needed between a block quote and a following paragraph:
|
||||
|
||||
> bar
|
||||
baz
|
||||
|
||||
### Example 211
|
||||
|
||||
> bar
|
||||
|
||||
baz
|
||||
|
||||
### Example 212
|
||||
|
||||
> bar
|
||||
>
|
||||
baz
|
||||
|
||||
### Example 213
|
||||
|
||||
It is a consequence of the Laziness rule that any number of initial `>`s may be omitted on a continuation line of a nested block quote:
|
||||
|
||||
> > > foo
|
||||
bar
|
||||
|
||||
### Example 214
|
||||
|
||||
>>> foo
|
||||
> bar
|
||||
>>baz
|
||||
|
||||
### Example 215
|
||||
|
||||
When including an indented code block in a block quote, remember that the block quote marker includes both the `>` and a following space. So five spaces are needed after the `>`:
|
||||
|
||||
> code
|
||||
|
||||
> not code
|
||||
300
packages/markdown/marked/test/new/cm_html_blocks.html
Normal file
300
packages/markdown/marked/test/new/cm_html_blocks.html
Normal file
|
|
@ -0,0 +1,300 @@
|
|||
<h1 id="html-blocks">HTML blocks</h1>
|
||||
|
||||
<h3 id="example-116">Example 116</h3>
|
||||
|
||||
<table><tr><td>
|
||||
<pre>
|
||||
**Hello**,
|
||||
<p><em>world</em>.
|
||||
</pre></p>
|
||||
</td></tr></table>
|
||||
|
||||
<h3 id="example-117">Example 117</h3>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
hi
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>okay.</p>
|
||||
|
||||
<h3 id="example-118">Example 118</h3>
|
||||
|
||||
<div>
|
||||
*hello*
|
||||
<foo><a>
|
||||
|
||||
<h3 id="example-119">Example 119</h3>
|
||||
|
||||
</div>
|
||||
*foo*
|
||||
|
||||
<h3 id="example-120">Example 120</h3>
|
||||
|
||||
<DIV CLASS="foo">
|
||||
<p><em>Markdown</em></p>
|
||||
</DIV>
|
||||
|
||||
<h3 id="example-121">Example 121</h3>
|
||||
|
||||
<div id="foo"
|
||||
class="bar">
|
||||
</div>
|
||||
|
||||
<h3 id="example-122">Example 122</h3>
|
||||
|
||||
<div id="foo" class="bar
|
||||
baz">
|
||||
</div>
|
||||
|
||||
<h3 id="example-123">Example 123</h3>
|
||||
|
||||
<div>
|
||||
*foo*
|
||||
<p><em>bar</em></p>
|
||||
|
||||
<h3 id="example-124">Example 124</h3>
|
||||
|
||||
<div id="foo"
|
||||
*hi*
|
||||
|
||||
<h3 id="example-125">Example 125</h3>
|
||||
|
||||
<div class
|
||||
foo
|
||||
|
||||
<h3 id="example-126">Example 126</h3>
|
||||
|
||||
<div *???-&&&-<---
|
||||
*foo*
|
||||
|
||||
<h3 id="example-127">Example 127</h3>
|
||||
|
||||
<div><a href="bar">*foo*</a></div>
|
||||
|
||||
<h3 id="example-128">Example 128</h3>
|
||||
|
||||
<table><tr><td>
|
||||
foo
|
||||
</td></tr></table>
|
||||
|
||||
<h3 id="example-129">Example 129</h3>
|
||||
|
||||
<div></div>
|
||||
``` c
|
||||
int x = 33;
|
||||
```
|
||||
|
||||
<h3 id="example-130">Example 130</h3>
|
||||
|
||||
<a href="foo">
|
||||
*bar*
|
||||
</a>
|
||||
|
||||
<h3 id="example-131">Example 131</h3>
|
||||
|
||||
<Warning>
|
||||
*bar*
|
||||
</Warning>
|
||||
|
||||
<h3 id="example-132">Example 132</h3>
|
||||
|
||||
<i class="foo">
|
||||
*bar*
|
||||
</i>
|
||||
|
||||
<h3 id="example-133">Example 133</h3>
|
||||
|
||||
</ins>
|
||||
*bar*
|
||||
|
||||
<h3 id="example-134">Example 134</h3>
|
||||
|
||||
<del>
|
||||
*foo*
|
||||
</del>
|
||||
|
||||
<h3 id="example-135">Example 135</h3>
|
||||
|
||||
<del>
|
||||
<p><em>foo</em></p>
|
||||
</del>
|
||||
|
||||
<h3 id="example-136">Example 136</h3>
|
||||
|
||||
<p><del><em>foo</em></del></p>
|
||||
|
||||
<h3 id="example-137">Example 137</h3>
|
||||
|
||||
<pre language="haskell"><code>
|
||||
import Text.HTML.TagSoup
|
||||
|
||||
main :: IO ()
|
||||
main = print $ parseTags tags
|
||||
</code></pre>
|
||||
<p>okay</p>
|
||||
|
||||
<h3 id="example-138">Example 138</h3>
|
||||
|
||||
<script type="text/javascript">
|
||||
// JavaScript example
|
||||
|
||||
document.getElementById("demo").innerHTML = "Hello JavaScript!";
|
||||
</script>
|
||||
<p>okay</p>
|
||||
|
||||
<h3 id="example-139">Example 139</h3>
|
||||
|
||||
<style
|
||||
type="text/css">
|
||||
h1 {color:red;}
|
||||
|
||||
p {color:blue;}
|
||||
</style>
|
||||
<p>okay</p>
|
||||
|
||||
<h3 id="example-141">Example 141</h3>
|
||||
|
||||
<blockquote>
|
||||
<div>
|
||||
foo
|
||||
</blockquote>
|
||||
<p>bar</p>
|
||||
|
||||
<h3 id="example-142">Example 142</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<div>
|
||||
</li>
|
||||
<li>foo</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="example-143">Example 143</h3>
|
||||
|
||||
<style>p{color:red;}</style>
|
||||
<p><em>foo</em></p>
|
||||
|
||||
<h3 id="example-144">Example 144</h3>
|
||||
|
||||
<!-- foo -->*bar*
|
||||
<p><em>baz</em></p>
|
||||
|
||||
<h3 id="example-145">Example 145</h3>
|
||||
|
||||
<script>
|
||||
foo
|
||||
</script>1. *bar*
|
||||
|
||||
<h3 id="example-146">Example 146</h3>
|
||||
|
||||
<!-- Foo
|
||||
|
||||
bar
|
||||
baz -->
|
||||
<p>okay</p>
|
||||
|
||||
<h3 id="example-147">Example 147</h3>
|
||||
|
||||
<?php
|
||||
|
||||
echo '>';
|
||||
|
||||
?>
|
||||
<p>okay</p>
|
||||
|
||||
<h3 id="example-148">Example 148</h3>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<h3 id="example-149">Example 149</h3>
|
||||
|
||||
<![CDATA[
|
||||
function matchwo(a,b)
|
||||
{
|
||||
if (a < b && a < 0) then {
|
||||
return 1;
|
||||
|
||||
} else {
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
]]>
|
||||
<p>okay</p>
|
||||
|
||||
<h3 id="example-150">Example 150</h3>
|
||||
|
||||
<!-- foo -->
|
||||
<pre><code><!-- foo -->
|
||||
</code></pre>
|
||||
|
||||
<h3 id="example-151">Example 151</h3>
|
||||
|
||||
<div>
|
||||
<pre><code><div>
|
||||
</code></pre>
|
||||
|
||||
<h3 id="example-152">Example 152</h3>
|
||||
|
||||
<p>Foo</p>
|
||||
<div>
|
||||
bar
|
||||
</div>
|
||||
|
||||
<h3 id="example-153">Example 153</h3>
|
||||
|
||||
<div>
|
||||
bar
|
||||
</div>
|
||||
*foo*
|
||||
|
||||
<h3 id="example-154">Example 154</h3>
|
||||
|
||||
<p>Foo
|
||||
<a href="bar">
|
||||
baz</p>
|
||||
|
||||
<h3 id="example-155">Example 155</h3>
|
||||
|
||||
<div>
|
||||
<p><em>Emphasized</em> text.</p>
|
||||
</div>
|
||||
|
||||
<h3 id="example-156">Example 156</h3>
|
||||
|
||||
<div>
|
||||
*Emphasized* text.
|
||||
</div>
|
||||
|
||||
<h3 id="example-157">Example 157</h3>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
Hi
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3 id="example-158">Example 158</h3>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<pre><code><td>
|
||||
Hi
|
||||
</td>
|
||||
</code></pre>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3 id="example-140">Example 140</h3>
|
||||
|
||||
<p>If there is no matching end tag, the block will end at the end of the document (or the enclosing block quote or list item):</p>
|
||||
|
||||
<style
|
||||
type="text/css">
|
||||
|
||||
foo
|
||||
312
packages/markdown/marked/test/new/cm_html_blocks.md
Normal file
312
packages/markdown/marked/test/new/cm_html_blocks.md
Normal file
|
|
@ -0,0 +1,312 @@
|
|||
HTML blocks
|
||||
===================
|
||||
|
||||
### Example 116
|
||||
|
||||
<table><tr><td>
|
||||
<pre>
|
||||
**Hello**,
|
||||
|
||||
_world_.
|
||||
</pre>
|
||||
</td></tr></table>
|
||||
|
||||
### Example 117
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
hi
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
okay.
|
||||
|
||||
### Example 118
|
||||
|
||||
<div>
|
||||
*hello*
|
||||
<foo><a>
|
||||
|
||||
### Example 119
|
||||
|
||||
</div>
|
||||
*foo*
|
||||
|
||||
### Example 120
|
||||
|
||||
<DIV CLASS="foo">
|
||||
|
||||
*Markdown*
|
||||
|
||||
</DIV>
|
||||
|
||||
### Example 121
|
||||
|
||||
<div id="foo"
|
||||
class="bar">
|
||||
</div>
|
||||
|
||||
### Example 122
|
||||
|
||||
<div id="foo" class="bar
|
||||
baz">
|
||||
</div>
|
||||
|
||||
### Example 123
|
||||
|
||||
<div>
|
||||
*foo*
|
||||
|
||||
*bar*
|
||||
|
||||
### Example 124
|
||||
|
||||
<div id="foo"
|
||||
*hi*
|
||||
|
||||
### Example 125
|
||||
|
||||
<div class
|
||||
foo
|
||||
|
||||
### Example 126
|
||||
|
||||
<div *???-&&&-<---
|
||||
*foo*
|
||||
|
||||
### Example 127
|
||||
|
||||
<div><a href="bar">*foo*</a></div>
|
||||
|
||||
### Example 128
|
||||
|
||||
<table><tr><td>
|
||||
foo
|
||||
</td></tr></table>
|
||||
|
||||
### Example 129
|
||||
|
||||
<div></div>
|
||||
``` c
|
||||
int x = 33;
|
||||
```
|
||||
|
||||
### Example 130
|
||||
|
||||
<a href="foo">
|
||||
*bar*
|
||||
</a>
|
||||
|
||||
### Example 131
|
||||
|
||||
<Warning>
|
||||
*bar*
|
||||
</Warning>
|
||||
|
||||
### Example 132
|
||||
|
||||
<i class="foo">
|
||||
*bar*
|
||||
</i>
|
||||
|
||||
### Example 133
|
||||
|
||||
</ins>
|
||||
*bar*
|
||||
|
||||
### Example 134
|
||||
|
||||
<del>
|
||||
*foo*
|
||||
</del>
|
||||
|
||||
### Example 135
|
||||
|
||||
<del>
|
||||
|
||||
*foo*
|
||||
|
||||
</del>
|
||||
|
||||
### Example 136
|
||||
|
||||
<del>*foo*</del>
|
||||
|
||||
### Example 137
|
||||
|
||||
<pre language="haskell"><code>
|
||||
import Text.HTML.TagSoup
|
||||
|
||||
main :: IO ()
|
||||
main = print $ parseTags tags
|
||||
</code></pre>
|
||||
okay
|
||||
|
||||
### Example 138
|
||||
|
||||
<script type="text/javascript">
|
||||
// JavaScript example
|
||||
|
||||
document.getElementById("demo").innerHTML = "Hello JavaScript!";
|
||||
</script>
|
||||
okay
|
||||
|
||||
### Example 139
|
||||
|
||||
<style
|
||||
type="text/css">
|
||||
h1 {color:red;}
|
||||
|
||||
p {color:blue;}
|
||||
</style>
|
||||
okay
|
||||
|
||||
### Example 141
|
||||
|
||||
> <div>
|
||||
> foo
|
||||
|
||||
bar
|
||||
|
||||
### Example 142
|
||||
|
||||
- <div>
|
||||
- foo
|
||||
|
||||
### Example 143
|
||||
|
||||
<style>p{color:red;}</style>
|
||||
*foo*
|
||||
|
||||
### Example 144
|
||||
|
||||
<!-- foo -->*bar*
|
||||
*baz*
|
||||
|
||||
### Example 145
|
||||
|
||||
<script>
|
||||
foo
|
||||
</script>1. *bar*
|
||||
|
||||
### Example 146
|
||||
|
||||
<!-- Foo
|
||||
|
||||
bar
|
||||
baz -->
|
||||
okay
|
||||
|
||||
### Example 147
|
||||
|
||||
<?php
|
||||
|
||||
echo '>';
|
||||
|
||||
?>
|
||||
okay
|
||||
|
||||
### Example 148
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
### Example 149
|
||||
|
||||
<![CDATA[
|
||||
function matchwo(a,b)
|
||||
{
|
||||
if (a < b && a < 0) then {
|
||||
return 1;
|
||||
|
||||
} else {
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
]]>
|
||||
okay
|
||||
|
||||
### Example 150
|
||||
|
||||
<!-- foo -->
|
||||
|
||||
<!-- foo -->
|
||||
|
||||
### Example 151
|
||||
|
||||
<div>
|
||||
|
||||
<div>
|
||||
|
||||
### Example 152
|
||||
|
||||
Foo
|
||||
<div>
|
||||
bar
|
||||
</div>
|
||||
|
||||
### Example 153
|
||||
|
||||
<div>
|
||||
bar
|
||||
</div>
|
||||
*foo*
|
||||
|
||||
### Example 154
|
||||
|
||||
Foo
|
||||
<a href="bar">
|
||||
baz
|
||||
|
||||
### Example 155
|
||||
|
||||
<div>
|
||||
|
||||
*Emphasized* text.
|
||||
|
||||
</div>
|
||||
|
||||
### Example 156
|
||||
|
||||
<div>
|
||||
*Emphasized* text.
|
||||
</div>
|
||||
|
||||
### Example 157
|
||||
|
||||
<table>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>
|
||||
Hi
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
### Example 158
|
||||
|
||||
<table>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>
|
||||
Hi
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
### Example 140
|
||||
|
||||
If there is no matching end tag, the block will end at the end of the document (or the enclosing block quote or list item):
|
||||
|
||||
<style
|
||||
type="text/css">
|
||||
|
||||
foo
|
||||
115
packages/markdown/marked/test/new/cm_link_defs.html
Normal file
115
packages/markdown/marked/test/new/cm_link_defs.html
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
<h3 id="example-159">Example 159</h3>
|
||||
|
||||
<p><a href="/url" title="title">foo159</a></p>
|
||||
|
||||
<h3 id="example-160">Example 160</h3>
|
||||
|
||||
<p><a href="/url" title="the title">foo160</a></p>
|
||||
|
||||
<h3 id="example-161">Example 161</h3>
|
||||
|
||||
<p><a href="my_(url)" title="title (with parens)">Foo161*bar]</a></p>
|
||||
|
||||
<h3 id="example-162">Example 162</h3>
|
||||
|
||||
<p><a href="my%20url" title="title">Foo162 bar</a></p>
|
||||
|
||||
<h3 id="example-163">Example 163</h3>
|
||||
|
||||
<p><a href="/url" title="
|
||||
title
|
||||
line1
|
||||
line2
|
||||
">foo163</a></p>
|
||||
|
||||
<h3 id="example-164">Example 164</h3>
|
||||
|
||||
<p>[foo164]: /url 'title</p>
|
||||
<p>with blank line'</p>
|
||||
<p>[foo164]</p>
|
||||
|
||||
<h3 id="example-165">Example 165</h3>
|
||||
|
||||
<p><a href="/url">foo165</a></p>
|
||||
|
||||
<h3 id="example-166">Example 166</h3>
|
||||
|
||||
<p>[foo166]:</p>
|
||||
<p>[foo166]</p>
|
||||
|
||||
<h3 id="example-167">Example 167</h3>
|
||||
|
||||
<pre><code>[foo167]: /url\bar\*baz "foo\"bar\baz"
|
||||
|
||||
[foo167]
|
||||
|
||||
should render to
|
||||
|
||||
<p><a href="/url%5Cbar*baz" title="foo&quot;bar\baz">foo167</a></p></code></pre>
|
||||
|
||||
<h3 id="example-168">Example 168</h3>
|
||||
|
||||
<p><a href="url">foo168</a></p>
|
||||
|
||||
<h3 id="example-169">Example 169</h3>
|
||||
|
||||
<p><a href="first">foo169</a></p>
|
||||
|
||||
<h3 id="example-170">Example 170</h3>
|
||||
|
||||
<p><a href="/url">Foo170</a></p>
|
||||
|
||||
<h3 id="example-171">Example 171</h3>
|
||||
|
||||
<p><a href="/%CF%86%CE%BF%CF%85">αγω</a></p>
|
||||
|
||||
<h3 id="example-172">Example 172</h3>
|
||||
|
||||
<h3 id="example-173">Example 173</h3>
|
||||
|
||||
<p>bar</p>
|
||||
|
||||
<h3 id="example-174">Example 174</h3>
|
||||
|
||||
<p>[foo174]: /url "title" ok</p>
|
||||
|
||||
<h3 id="example-175">Example 175</h3>
|
||||
|
||||
<p>"title" ok</p>
|
||||
|
||||
<h3 id="example-176">Example 176</h3>
|
||||
|
||||
<pre><code>[foo176]: /url "title"
|
||||
</code></pre>
|
||||
<p>[foo176]</p>
|
||||
|
||||
<h3 id="example-177">Example 177</h3>
|
||||
|
||||
<pre><code>[foo177]: /url
|
||||
</code></pre>
|
||||
<p>[foo177]</p>
|
||||
|
||||
<h3 id="example-178">Example 178</h3>
|
||||
|
||||
<p>Foo
|
||||
[bar178]: /baz</p>
|
||||
<p>[bar178]</p>
|
||||
|
||||
<h3 id="example-179">Example 179</h3>
|
||||
|
||||
<h1 id="foo179"><a href="/url">Foo179</a></h1>
|
||||
<blockquote>
|
||||
<p>bar</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 id="example-180">Example 180</h3>
|
||||
|
||||
<p><a href="/foo-url" title="foo">foo180</a>,
|
||||
<a href="/bar-url" title="bar">bar180</a>,
|
||||
<a href="/baz-url">baz180</a></p>
|
||||
|
||||
<h3 id="example-181">Example 181</h3>
|
||||
|
||||
<p><a href="/url">foo181</a></p>
|
||||
<blockquote>
|
||||
</blockquote>
|
||||
157
packages/markdown/marked/test/new/cm_link_defs.md
Normal file
157
packages/markdown/marked/test/new/cm_link_defs.md
Normal file
|
|
@ -0,0 +1,157 @@
|
|||
### Example 159
|
||||
|
||||
[foo159]: /url "title"
|
||||
|
||||
[foo159]
|
||||
|
||||
### Example 160
|
||||
|
||||
[foo160]:
|
||||
/url
|
||||
'the title'
|
||||
|
||||
[foo160]
|
||||
|
||||
### Example 161
|
||||
|
||||
[Foo161*bar\]]:my_(url) 'title (with parens)'
|
||||
|
||||
[Foo161*bar\]]
|
||||
|
||||
### Example 162
|
||||
|
||||
[Foo162 bar]:
|
||||
<my%20url>
|
||||
'title'
|
||||
|
||||
[Foo162 bar]
|
||||
|
||||
### Example 163
|
||||
|
||||
[foo163]: /url '
|
||||
title
|
||||
line1
|
||||
line2
|
||||
'
|
||||
|
||||
[foo163]
|
||||
|
||||
### Example 164
|
||||
|
||||
[foo164]: /url 'title
|
||||
|
||||
with blank line'
|
||||
|
||||
[foo164]
|
||||
|
||||
### Example 165
|
||||
|
||||
[foo165]:
|
||||
/url
|
||||
|
||||
[foo165]
|
||||
|
||||
### Example 166
|
||||
|
||||
[foo166]:
|
||||
|
||||
[foo166]
|
||||
|
||||
### Example 167
|
||||
|
||||
[foo167]: /url\bar\*baz "foo\"bar\baz"
|
||||
|
||||
[foo167]
|
||||
|
||||
should render to
|
||||
|
||||
<p><a href="/url%5Cbar*baz" title="foo"bar\baz">foo167</a></p>
|
||||
|
||||
### Example 168
|
||||
|
||||
[foo168]
|
||||
|
||||
[foo168]: url
|
||||
|
||||
### Example 169
|
||||
|
||||
[foo169]
|
||||
|
||||
[foo169]: first
|
||||
[foo169]: second
|
||||
|
||||
### Example 170
|
||||
|
||||
[FOO170]: /url
|
||||
|
||||
[Foo170]
|
||||
|
||||
### Example 171
|
||||
|
||||
[ΑΓΩ]: /φου
|
||||
|
||||
[αγω]
|
||||
|
||||
### Example 172
|
||||
|
||||
[foo172]: /url
|
||||
|
||||
### Example 173
|
||||
|
||||
[
|
||||
foo173
|
||||
]: /url
|
||||
bar
|
||||
|
||||
### Example 174
|
||||
|
||||
[foo174]: /url "title" ok
|
||||
|
||||
### Example 175
|
||||
|
||||
[foo175]: /url
|
||||
"title" ok
|
||||
|
||||
### Example 176
|
||||
|
||||
[foo176]: /url "title"
|
||||
|
||||
[foo176]
|
||||
|
||||
### Example 177
|
||||
|
||||
```
|
||||
[foo177]: /url
|
||||
```
|
||||
|
||||
[foo177]
|
||||
|
||||
### Example 178
|
||||
|
||||
Foo
|
||||
[bar178]: /baz
|
||||
|
||||
[bar178]
|
||||
|
||||
### Example 179
|
||||
|
||||
# [Foo179]
|
||||
[foo179]: /url
|
||||
> bar
|
||||
|
||||
### Example 180
|
||||
|
||||
[foo180]: /foo-url "foo"
|
||||
[bar180]: /bar-url
|
||||
"bar"
|
||||
[baz180]: /baz-url
|
||||
|
||||
[foo180],
|
||||
[bar180],
|
||||
[baz180]
|
||||
|
||||
### Example 181
|
||||
|
||||
[foo181]
|
||||
|
||||
> [foo181]: /url
|
||||
397
packages/markdown/marked/test/new/cm_links.html
Normal file
397
packages/markdown/marked/test/new/cm_links.html
Normal file
|
|
@ -0,0 +1,397 @@
|
|||
<h1 id="links">Links</h1>
|
||||
|
||||
<h3 id="example-459">Example 459</h3>
|
||||
|
||||
<p><a href="/uri" title="title">link</a></p>
|
||||
|
||||
<h3 id="example-460">Example 460</h3>
|
||||
|
||||
<p><a href="/uri">link</a></p>
|
||||
|
||||
<h3 id="example-461">Example 461</h3>
|
||||
|
||||
<p><a href="">link</a></p>
|
||||
|
||||
<h3 id="example-462">Example 462</h3>
|
||||
|
||||
<p><a href="">link</a></p>
|
||||
|
||||
<h3 id="example-463">Example 463</h3>
|
||||
|
||||
<p>[link](/my uri)</p>
|
||||
|
||||
<h3 id="example-464">Example 464</h3>
|
||||
|
||||
<p>[link](</my uri>)</p>
|
||||
|
||||
<h3 id="example-465">Example 465</h3>
|
||||
|
||||
<p>[link](foo
|
||||
bar)</p>
|
||||
|
||||
<h3 id="example-466">Example 466</h3>
|
||||
|
||||
<p>[link](<foo
|
||||
bar>)</p>
|
||||
|
||||
<h3 id="example-467">Example 467</h3>
|
||||
|
||||
<p><a href="(foo)">link</a></p>
|
||||
|
||||
<h3 id="example-4680">Example 4680</h3>
|
||||
|
||||
<p>ONE LEVEL of parentheses are allowed without escaping, as long as they are balanced:</p>
|
||||
|
||||
<p><a href="foo(bar)">link</a></p>
|
||||
|
||||
<h3 id="example-469">Example 469</h3>
|
||||
|
||||
<p><a href="foo(and(bar)">link</a></p>
|
||||
|
||||
<h3 id="example-470">Example 470</h3>
|
||||
|
||||
<p>However, if you have ANY unbalanced parentheses, you need to escape or use the <...> form:</p>
|
||||
|
||||
<p><a href="foo(and(bar)">link</a></p>
|
||||
|
||||
<h3 id="example-471">Example 471</h3>
|
||||
|
||||
<p><a href="foo):">link</a></p>
|
||||
|
||||
<h3 id="example-472">Example 472</h3>
|
||||
|
||||
<p><a href="#fragment">link</a></p>
|
||||
<p><a href="http://example.com#fragment">link</a></p>
|
||||
<p><a href="http://example.com?foo=3#frag">link</a></p>
|
||||
|
||||
<h3 id="example-473">Example 473</h3>
|
||||
|
||||
<p><a href="foo%5Cbar">link</a></p>
|
||||
|
||||
<h3 id="example-4740">Example 4740</h3>
|
||||
|
||||
<p><a href="foo%20bä">link</a></p>
|
||||
|
||||
<h3 id="example-475">Example 475</h3>
|
||||
|
||||
<p><a href="%22title%22">link</a></p>
|
||||
|
||||
<h3 id="example-476">Example 476</h3>
|
||||
|
||||
<p><a href="/url" title="title">link</a>
|
||||
<a href="/url" title="title">link</a>
|
||||
<a href="/url" title="title">link</a></p>
|
||||
|
||||
<h3 id="example-477">Example 477</h3>
|
||||
|
||||
<p><a href="/url" title="title """>link</a></p>
|
||||
|
||||
<h3 id="example-479">Example 479</h3>
|
||||
|
||||
<p>[link](/url "title "and" title")</p>
|
||||
|
||||
<h3 id="example-480">Example 480</h3>
|
||||
|
||||
<p><a href="/url" title="title "and" title">link</a></p>
|
||||
|
||||
<h3 id="example-481">Example 481</h3>
|
||||
|
||||
<p><a href="/uri" title="title">link</a></p>
|
||||
|
||||
<h3 id="example-482">Example 482</h3>
|
||||
|
||||
<p>[link] (/uri)</p>
|
||||
|
||||
<h3 id="example-4830">Example 4830</h3>
|
||||
|
||||
<p>The link text may contain ONE LEVEL of balanced brackets, but not unbalanced ones, unless they are escaped:</p>
|
||||
|
||||
<p><a href="/uri">link [foo4830]</a></p>
|
||||
|
||||
<h3 id="example-484">Example 484</h3>
|
||||
|
||||
<p>[link] bar](/uri)</p>
|
||||
|
||||
<h3 id="example-485">Example 485</h3>
|
||||
|
||||
<p>[link <a href="/uri">bar</a></p>
|
||||
|
||||
<h3 id="example-486">Example 486</h3>
|
||||
|
||||
<p><a href="/uri">link [bar</a></p>
|
||||
|
||||
<h3 id="example-487">Example 487</h3>
|
||||
|
||||
<p><a href="/uri">link <em>foo <strong>bar</strong> <code>#</code></em></a></p>
|
||||
|
||||
<h3 id="example-488">Example 488</h3>
|
||||
|
||||
<p><a href="/uri"><img src="moon.jpg" alt="moon" /></a></p>
|
||||
|
||||
<h3 id="example-493">Example 493</h3>
|
||||
|
||||
<p><a href="baz*">foo *bar</a></p>
|
||||
|
||||
<h3 id="example-494">Example 494</h3>
|
||||
|
||||
<p><em>foo [bar</em> baz]</p>
|
||||
|
||||
<h3 id="example-498">Example 498</h3>
|
||||
|
||||
<p><a href="/url" title="title">foo</a></p>
|
||||
|
||||
<h3 id="example-4990">Example 4990</h3>
|
||||
|
||||
<p><a href="/uri">link [foo499]</a></p>
|
||||
|
||||
<h3 id="example-500">Example 500</h3>
|
||||
|
||||
<p><a href="/uri">link [bar</a></p>
|
||||
|
||||
<h3 id="example-501">Example 501</h3>
|
||||
|
||||
<p><a href="/uri">link <em>foo <strong>bar</strong> <code>#</code></em></a></p>
|
||||
|
||||
<h3 id="example-502">Example 502</h3>
|
||||
|
||||
<p><a href="/uri"><img src="moon.jpg" alt="moon" /></a></p>
|
||||
|
||||
<h3 id="example-5030">Example 5030</h3>
|
||||
|
||||
<p><a href="/uri">foo <a href="/uri">bar</a></a></p>
|
||||
|
||||
<h3 id="example-504">Example 504</h3>
|
||||
|
||||
<p><a href="/uri">foo <em>bar <a href="/uri">baz</a></em></a></p>
|
||||
|
||||
<h3 id="example-506">Example 506</h3>
|
||||
|
||||
<p><a href="/uri">foo *bar</a></p>
|
||||
|
||||
<h3 id="example-510">Example 510</h3>
|
||||
|
||||
<p><a href="/url" title="title">foo</a></p>
|
||||
|
||||
<h3 id="example-511">Example 511</h3>
|
||||
|
||||
<p><a href="/url">Толпой</a> is a Russian word.</p>
|
||||
|
||||
<h3 id="example-512">Example 512</h3>
|
||||
|
||||
<p><a href="/url">Baz</a></p>
|
||||
|
||||
<h3 id="example-513">Example 513</h3>
|
||||
|
||||
<p>[foo513] <a href="/url" title="title">bar513</a></p>
|
||||
|
||||
<h3 id="example-514">Example 514</h3>
|
||||
|
||||
<p>[foo514]
|
||||
<a href="/url" title="title">bar514</a></p>
|
||||
|
||||
<h3 id="example-515">Example 515</h3>
|
||||
|
||||
<p><a href="/url1">bar</a></p>
|
||||
|
||||
<h3 id="example-516">Example 516</h3>
|
||||
|
||||
<p>[bar][foo!516]</p>
|
||||
|
||||
<h3 id="example-517">Example 517</h3>
|
||||
|
||||
<p>[foo517][ref[517]</p>
|
||||
<p>[ref[517]: /uri</p>
|
||||
|
||||
<h3 id="example-518">Example 518</h3>
|
||||
|
||||
<p>[foo518][ref[bar518]518]</p>
|
||||
<p>[ref[bar518]518]: /uri</p>
|
||||
|
||||
<h3 id="example-519">Example 519</h3>
|
||||
|
||||
<p>[[[foo519]]]</p>
|
||||
<p>[[[foo519]]]: /url</p>
|
||||
|
||||
<h3 id="example-520">Example 520</h3>
|
||||
|
||||
<p><a href="/uri">foo</a></p>
|
||||
|
||||
<h3 id="example-521">Example 521</h3>
|
||||
|
||||
<p><a href="/uri">bar\</a></p>
|
||||
|
||||
<h3 id="example-522">Example 522</h3>
|
||||
|
||||
<p>[]</p>
|
||||
<p>[]: /uri</p>
|
||||
|
||||
<h3 id="example-523">Example 523</h3>
|
||||
|
||||
<p>[
|
||||
]</p>
|
||||
<p>[
|
||||
]: /uri</p>
|
||||
|
||||
<h3 id="example-524">Example 524</h3>
|
||||
|
||||
<p><a href="/url" title="title">foo</a></p>
|
||||
|
||||
<h3 id="example-525">Example 525</h3>
|
||||
|
||||
<p><a href="/url" title="title"><em>foo</em> bar</a></p>
|
||||
|
||||
<h3 id="example-526">Example 526</h3>
|
||||
|
||||
<p><a href="/url" title="title">Foo</a></p>
|
||||
|
||||
<h3 id="example-527">Example 527</h3>
|
||||
|
||||
<p><a href="/url" title="title">foo</a>
|
||||
[]</p>
|
||||
|
||||
<h3 id="example-528">Example 528</h3>
|
||||
|
||||
<p><a href="/url" title="title">foo</a></p>
|
||||
|
||||
<h3 id="example-529">Example 529</h3>
|
||||
|
||||
<p><a href="/url" title="title"><em>foo</em> bar</a></p>
|
||||
|
||||
<h3 id="example-530">Example 530</h3>
|
||||
|
||||
<p>[<a href="/url" title="title"><em>foo</em> bar</a>]</p>
|
||||
|
||||
<h3 id="example-531">Example 531</h3>
|
||||
|
||||
<p>[[bar <a href="/url">foo531</a></p>
|
||||
|
||||
<h3 id="example-532">Example 532</h3>
|
||||
|
||||
<p><a href="/url" title="title">Foo</a></p>
|
||||
|
||||
<h3 id="example-533">Example 533</h3>
|
||||
|
||||
<p><a href="/url">foo533</a> bar</p>
|
||||
|
||||
<h3 id="example-534">Example 534</h3>
|
||||
|
||||
<p>[foo]</p>
|
||||
|
||||
<h3 id="example-536">Example 536</h3>
|
||||
|
||||
<p><a href="/url2">foo536</a></p>
|
||||
|
||||
<h3 id="example-537">Example 537</h3>
|
||||
|
||||
<p><a href="/url1">foo537</a></p>
|
||||
|
||||
<h3 id="example-538">Example 538</h3>
|
||||
|
||||
<p><a href="">foo538</a></p>
|
||||
|
||||
<h3 id="example-539">Example 539</h3>
|
||||
|
||||
<p><a href="/url1">foo539</a>(not a link)</p>
|
||||
|
||||
<h3 id="example-540">Example 540</h3>
|
||||
|
||||
<p>[foo540]<a href="/url">bar540</a></p>
|
||||
|
||||
<h3 id="example-541">Example 541</h3>
|
||||
|
||||
<p><a href="/url2">foo541</a><a href="/url1">baz541</a></p>
|
||||
|
||||
<h3 id="example-542">Example 542</h3>
|
||||
|
||||
<p>[foo542]<a href="/url1">bar542</a></p>
|
||||
|
||||
<h3 id="example-543">Example 543</h3>
|
||||
|
||||
<p><img src="/url" alt="foo543" title="title" /></p>
|
||||
|
||||
<h3 id="example-5440">Example 5440</h3>
|
||||
|
||||
<p><img src="train.jpg" alt="foo *bar*544" title="train & tracks" /></p>
|
||||
|
||||
<h3 id="example-5450">Example 5450</h3>
|
||||
|
||||
<p><img src="/url2" alt="foo " /></p>
|
||||
|
||||
<h3 id="example-5460">Example 5460</h3>
|
||||
|
||||
<p><img src="/url2" alt="foo [bar](/url)" /></p>
|
||||
|
||||
<h3 id="example-5470">Example 5470</h3>
|
||||
|
||||
<p><img src="train.jpg" alt="foo *bar*547" title="train & tracks" /></p>
|
||||
|
||||
<h3 id="example-5480">Example 5480</h3>
|
||||
|
||||
<p><img src="train.jpg" alt="foo *bar*" title="train & tracks" /></p>
|
||||
|
||||
<h3 id="example-549">Example 549</h3>
|
||||
|
||||
<p><img src="train.jpg" alt="foo" /></p>
|
||||
|
||||
<h3 id="example-550">Example 550</h3>
|
||||
|
||||
<p>My <img src="/path/to/train.jpg" alt="foo bar" title="title" /></p>
|
||||
|
||||
<h3 id="example-551">Example 551</h3>
|
||||
|
||||
<p><img src="url" alt="foo" /></p>
|
||||
|
||||
<h3 id="example-552">Example 552</h3>
|
||||
|
||||
<p><img src="/url" alt="" /></p>
|
||||
|
||||
<h3 id="example-553">Example 553</h3>
|
||||
|
||||
<p><img src="/url" alt="foo" /></p>
|
||||
|
||||
<h3 id="example-554">Example 554</h3>
|
||||
|
||||
<p><img src="/url" alt="foo" /></p>
|
||||
|
||||
<h3 id="example-555">Example 555</h3>
|
||||
|
||||
<p><img src="/url" alt="foo" title="title" /></p>
|
||||
|
||||
<h3 id="example-5560">Example 5560</h3>
|
||||
|
||||
<p><img src="/url" alt="*foo* bar" title="title" /></p>
|
||||
|
||||
<h3 id="example-557">Example 557</h3>
|
||||
|
||||
<p><img src="/url" alt="Foo" title="title" /></p>
|
||||
|
||||
<h3 id="example-558">Example 558</h3>
|
||||
|
||||
<p><img src="/url" alt="foo" title="title" />
|
||||
[]</p>
|
||||
|
||||
<h3 id="example-559">Example 559</h3>
|
||||
|
||||
<p><img src="/url" alt="foo" title="title" /></p>
|
||||
|
||||
<h3 id="example-5600">Example 5600</h3>
|
||||
|
||||
<p><img src="/url" alt="*foo* bar" title="title" /></p>
|
||||
|
||||
<h3 id="example-561">Example 561</h3>
|
||||
|
||||
<p>![[foo561]]</p>
|
||||
<p>[[foo561]]: /url "title"</p>
|
||||
|
||||
<h3 id="example-562">Example 562</h3>
|
||||
|
||||
<p><img src="/url" alt="Foo" title="title" /></p>
|
||||
|
||||
<h3 id="example-563">Example 563</h3>
|
||||
|
||||
<p>![foo]</p>
|
||||
|
||||
<h3 id="example-564">Example 564</h3>
|
||||
|
||||
<p>!<a href="/url" title="title">foo</a></p>
|
||||
|
||||
515
packages/markdown/marked/test/new/cm_links.md
Normal file
515
packages/markdown/marked/test/new/cm_links.md
Normal file
|
|
@ -0,0 +1,515 @@
|
|||
---
|
||||
xhtml: true
|
||||
---
|
||||
|
||||
Links
|
||||
===================
|
||||
|
||||
### Example 459
|
||||
|
||||
[link](/uri "title")
|
||||
|
||||
### Example 460
|
||||
|
||||
[link](/uri)
|
||||
|
||||
### Example 461
|
||||
|
||||
[link]()
|
||||
|
||||
### Example 462
|
||||
|
||||
[link](<>)
|
||||
|
||||
### Example 463
|
||||
|
||||
[link](/my uri)
|
||||
|
||||
### Example 464
|
||||
|
||||
[link](</my uri>)
|
||||
|
||||
### Example 465
|
||||
|
||||
[link](foo
|
||||
bar)
|
||||
|
||||
### Example 466
|
||||
|
||||
[link](<foo
|
||||
bar>)
|
||||
|
||||
### Example 467
|
||||
|
||||
[link](\(foo\))
|
||||
|
||||
### Example 4680
|
||||
|
||||
ONE LEVEL of parentheses are allowed without escaping, as long as they are balanced:
|
||||
|
||||
[link](foo(bar))
|
||||
|
||||
### Example 469
|
||||
|
||||
[link](foo\(and\(bar\))
|
||||
|
||||
### Example 470
|
||||
|
||||
However, if you have ANY unbalanced parentheses, you need to escape or use the <...> form:
|
||||
|
||||
[link](<foo(and(bar)>)
|
||||
|
||||
### Example 471
|
||||
|
||||
[link](foo\)\:)
|
||||
|
||||
### Example 472
|
||||
|
||||
[link](#fragment)
|
||||
|
||||
[link](http://example.com#fragment)
|
||||
|
||||
[link](http://example.com?foo=3#frag)
|
||||
|
||||
### Example 473
|
||||
|
||||
[link](foo\bar)
|
||||
|
||||
### Example 4740
|
||||
|
||||
[link](foo%20bä)
|
||||
|
||||
### Example 475
|
||||
|
||||
[link]("title")
|
||||
|
||||
### Example 476
|
||||
|
||||
[link](/url "title")
|
||||
[link](/url 'title')
|
||||
[link](/url (title))
|
||||
|
||||
### Example 477
|
||||
|
||||
[link](/url "title \""")
|
||||
|
||||
### Example 479
|
||||
|
||||
[link](/url "title "and" title")
|
||||
|
||||
### Example 480
|
||||
|
||||
[link](/url 'title "and" title')
|
||||
|
||||
### Example 481
|
||||
|
||||
[link]( /uri
|
||||
"title" )
|
||||
|
||||
### Example 482
|
||||
|
||||
[link] (/uri)
|
||||
|
||||
### Example 4830
|
||||
|
||||
The link text may contain ONE LEVEL of balanced brackets, but not unbalanced ones, unless they are escaped:
|
||||
|
||||
[link [foo4830]](/uri)
|
||||
|
||||
### Example 484
|
||||
|
||||
[link] bar](/uri)
|
||||
|
||||
### Example 485
|
||||
|
||||
[link [bar](/uri)
|
||||
|
||||
### Example 486
|
||||
|
||||
[link \[bar](/uri)
|
||||
|
||||
### Example 487
|
||||
|
||||
[link *foo **bar** `#`*](/uri)
|
||||
|
||||
### Example 488
|
||||
|
||||
[](/uri)
|
||||
|
||||
### Example 493
|
||||
|
||||
[foo *bar](baz*)
|
||||
|
||||
### Example 494
|
||||
|
||||
*foo [bar* baz]
|
||||
|
||||
### Example 498
|
||||
|
||||
[foo][bar]
|
||||
|
||||
[bar]: /url "title"
|
||||
|
||||
### Example 4990
|
||||
|
||||
[link [foo499]][ref499]
|
||||
|
||||
[ref499]: /uri
|
||||
|
||||
### Example 500
|
||||
|
||||
[link \[bar][ref]
|
||||
|
||||
[ref]: /uri
|
||||
|
||||
### Example 501
|
||||
|
||||
[link *foo **bar** `#`*][ref]
|
||||
|
||||
[ref]: /uri
|
||||
|
||||
### Example 502
|
||||
|
||||
[][ref]
|
||||
|
||||
[ref]: /uri
|
||||
|
||||
### Example 5030
|
||||
|
||||
[foo [bar](/uri)][ref503]
|
||||
|
||||
[ref503]: /uri
|
||||
|
||||
### Example 504
|
||||
|
||||
[foo *bar [baz][ref504]*][ref504]
|
||||
|
||||
[ref504]: /uri
|
||||
|
||||
### Example 506
|
||||
|
||||
[foo *bar][ref]
|
||||
|
||||
[ref]: /uri
|
||||
|
||||
### Example 510
|
||||
|
||||
[foo][BaR]
|
||||
|
||||
[bar]: /url "title"
|
||||
|
||||
### Example 511
|
||||
|
||||
[Толпой][Толпой] is a Russian word.
|
||||
|
||||
[ТОЛПОЙ]: /url
|
||||
|
||||
### Example 512
|
||||
|
||||
[Foo
|
||||
bar]: /url
|
||||
|
||||
[Baz][Foo bar]
|
||||
|
||||
### Example 513
|
||||
|
||||
[foo513] [bar513]
|
||||
|
||||
[bar513]: /url "title"
|
||||
|
||||
### Example 514
|
||||
|
||||
[foo514]
|
||||
[bar514]
|
||||
|
||||
[bar514]: /url "title"
|
||||
|
||||
### Example 515
|
||||
|
||||
[foo515]: /url1
|
||||
|
||||
[foo515]: /url2
|
||||
|
||||
[bar][foo515]
|
||||
|
||||
### Example 516
|
||||
|
||||
[bar][foo\!516]
|
||||
|
||||
[foo!516]: /url
|
||||
|
||||
### Example 517
|
||||
|
||||
[foo517][ref[517]
|
||||
|
||||
[ref[517]: /uri
|
||||
|
||||
### Example 518
|
||||
|
||||
[foo518][ref[bar518]518]
|
||||
|
||||
[ref[bar518]518]: /uri
|
||||
|
||||
### Example 519
|
||||
|
||||
[[[foo519]]]
|
||||
|
||||
[[[foo519]]]: /url
|
||||
|
||||
### Example 520
|
||||
|
||||
[foo][ref\[]
|
||||
|
||||
[ref\[]: /uri
|
||||
|
||||
### Example 521
|
||||
|
||||
[bar\\]: /uri
|
||||
|
||||
[bar\\]
|
||||
|
||||
### Example 522
|
||||
|
||||
[]
|
||||
|
||||
[]: /uri
|
||||
|
||||
### Example 523
|
||||
|
||||
[
|
||||
]
|
||||
|
||||
[
|
||||
]: /uri
|
||||
|
||||
### Example 524
|
||||
|
||||
[foo][]
|
||||
|
||||
[foo]: /url "title"
|
||||
|
||||
### Example 525
|
||||
|
||||
[*foo* bar][]
|
||||
|
||||
[*foo* bar]: /url "title"
|
||||
|
||||
### Example 526
|
||||
|
||||
[Foo][]
|
||||
|
||||
[foo]: /url "title"
|
||||
|
||||
### Example 527
|
||||
|
||||
[foo]
|
||||
[]
|
||||
|
||||
[foo]: /url "title"
|
||||
|
||||
### Example 528
|
||||
|
||||
[foo]
|
||||
|
||||
[foo]: /url "title"
|
||||
|
||||
### Example 529
|
||||
|
||||
[*foo* bar]
|
||||
|
||||
[*foo* bar]: /url "title"
|
||||
|
||||
### Example 530
|
||||
|
||||
[[*foo* bar]]
|
||||
|
||||
[*foo* bar]: /url "title"
|
||||
|
||||
### Example 531
|
||||
|
||||
[[bar [foo531]
|
||||
|
||||
[foo531]: /url
|
||||
|
||||
### Example 532
|
||||
|
||||
[Foo]
|
||||
|
||||
[foo]: /url "title"
|
||||
|
||||
### Example 533
|
||||
|
||||
[foo533] bar
|
||||
|
||||
[foo533]: /url
|
||||
|
||||
### Example 534
|
||||
|
||||
\[foo]
|
||||
|
||||
[foo534]: /url "title"
|
||||
|
||||
### Example 536
|
||||
|
||||
[foo536][bar536]
|
||||
|
||||
[foo536]: /url1
|
||||
[bar536]: /url2
|
||||
|
||||
### Example 537
|
||||
|
||||
[foo537][]
|
||||
|
||||
[foo537]: /url1
|
||||
|
||||
### Example 538
|
||||
|
||||
[foo538]()
|
||||
|
||||
[foo538]: /url1
|
||||
|
||||
### Example 539
|
||||
|
||||
[foo539](not a link)
|
||||
|
||||
[foo539]: /url1
|
||||
|
||||
### Example 540
|
||||
|
||||
[foo540][bar540][baz540]
|
||||
|
||||
[baz540]: /url
|
||||
|
||||
### Example 541
|
||||
|
||||
[foo541][bar541][baz541]
|
||||
|
||||
[baz541]: /url1
|
||||
[bar541]: /url2
|
||||
|
||||
### Example 542
|
||||
|
||||
[foo542][bar542][baz542]
|
||||
|
||||
[baz542]: /url1
|
||||
[foo542]: /url2
|
||||
|
||||
### Example 543
|
||||
|
||||

|
||||
|
||||
### Example 5440
|
||||
|
||||
![foo *bar*544]
|
||||
|
||||
[foo *bar*544]: train.jpg "train & tracks"
|
||||
|
||||
### Example 5450
|
||||
|
||||
](/url2)
|
||||
|
||||
### Example 5460
|
||||
|
||||
](/url2)
|
||||
|
||||
### Example 5470
|
||||
|
||||
![foo *bar*547][]
|
||||
|
||||
[foo *bar*547]: train.jpg "train & tracks"
|
||||
|
||||
### Example 5480
|
||||
|
||||
![foo *bar*][foobar548]
|
||||
|
||||
[FOOBAR548]: train.jpg "train & tracks"
|
||||
|
||||
### Example 549
|
||||
|
||||

|
||||
|
||||
### Example 550
|
||||
|
||||
My 
|
||||
|
||||
### Example 551
|
||||
|
||||

|
||||
|
||||
### Example 552
|
||||
|
||||

|
||||
|
||||
### Example 553
|
||||
|
||||
![foo][bar553]
|
||||
|
||||
[bar553]: /url
|
||||
|
||||
### Example 554
|
||||
|
||||
![foo][bar554]
|
||||
|
||||
[BAR554]: /url
|
||||
|
||||
### Example 555
|
||||
|
||||
![foo][]
|
||||
|
||||
[foo]: /url "title"
|
||||
|
||||
### Example 5560
|
||||
|
||||
![*foo* bar][]
|
||||
|
||||
[*foo* bar]: /url "title"
|
||||
|
||||
### Example 557
|
||||
|
||||
![Foo][]
|
||||
|
||||
[foo]: /url "title"
|
||||
|
||||
### Example 558
|
||||
|
||||
![foo]
|
||||
[]
|
||||
|
||||
[foo]: /url "title"
|
||||
|
||||
### Example 559
|
||||
|
||||
![foo]
|
||||
|
||||
[foo]: /url "title"
|
||||
|
||||
### Example 5600
|
||||
|
||||
![*foo* bar]
|
||||
|
||||
[*foo* bar]: /url "title"
|
||||
|
||||
### Example 561
|
||||
|
||||
![[foo561]]
|
||||
|
||||
[[foo561]]: /url "title"
|
||||
|
||||
### Example 562
|
||||
|
||||
![Foo]
|
||||
|
||||
[foo]: /url "title"
|
||||
|
||||
### Example 563
|
||||
|
||||
!\[foo]
|
||||
|
||||
[foo]: /url "title"
|
||||
|
||||
### Example 564
|
||||
|
||||
\![foo]
|
||||
|
||||
[foo]: /url "title"
|
||||
|
||||
77
packages/markdown/marked/test/new/cm_raw_html.html
Normal file
77
packages/markdown/marked/test/new/cm_raw_html.html
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
<h1 id="raw-html">Raw HTML</h1>
|
||||
|
||||
<h3 id="example-584">Example 584</h3>
|
||||
|
||||
<p><a><bab><c2c></p>
|
||||
|
||||
<h3 id="example-585">Example 585</h3>
|
||||
|
||||
<p><a/><b2/></p>
|
||||
|
||||
<h3 id="example-586">Example 586</h3>
|
||||
|
||||
<p><a /><b2
|
||||
data="foo" ></p>
|
||||
|
||||
<h3 id="example-587">Example 587</h3>
|
||||
|
||||
<p><a foo="bar" bam = 'baz <em>"</em>'
|
||||
_boolean zoop:33=zoop:33 /></p>
|
||||
|
||||
<h3 id="example-588">Example 588</h3>
|
||||
|
||||
<p>Foo <responsive-image src="foo.jpg" /></p>
|
||||
|
||||
<h3 id="example-589">Example 589</h3>
|
||||
|
||||
<p><33> <__></p>
|
||||
|
||||
<h3 id="example-590">Example 590</h3>
|
||||
|
||||
<p><a h*#ref="hi"></p>
|
||||
|
||||
<h3 id="example-591">Example 591</h3>
|
||||
|
||||
<p><a href="hi'> <a href=hi'></p>
|
||||
|
||||
<h3 id="example-592">Example 592</h3>
|
||||
|
||||
<p>< a><
|
||||
foo><bar/ ></p>
|
||||
|
||||
<h3 id="example-593">Example 593</h3>
|
||||
|
||||
<p><a href='bar'title=title></p>
|
||||
|
||||
<h3 id="example-594">Example 594</h3>
|
||||
|
||||
<p></a></foo ></p>
|
||||
|
||||
<h3 id="example-595">Example 595</h3>
|
||||
|
||||
<p></a href="foo"></p>
|
||||
|
||||
<h3 id="example-596">Example 596</h3>
|
||||
|
||||
<p>foo <!-- this is a
|
||||
comment - with hyphen --></p>
|
||||
|
||||
<h3 id="example-599">Example 599</h3>
|
||||
|
||||
<p>foo <?php echo $a; ?></p>
|
||||
|
||||
<h3 id="example-600">Example 600</h3>
|
||||
|
||||
<p>foo <!ELEMENT br EMPTY></p>
|
||||
|
||||
<h3 id="example-601">Example 601</h3>
|
||||
|
||||
<p>foo <![CDATA[>&<]]></p>
|
||||
|
||||
<h3 id="example-602">Example 602</h3>
|
||||
|
||||
<p>foo <a href="ö"></p>
|
||||
|
||||
<h3 id="example-603">Example 603</h3>
|
||||
|
||||
<p>foo <a href="\*"></p>
|
||||
78
packages/markdown/marked/test/new/cm_raw_html.md
Normal file
78
packages/markdown/marked/test/new/cm_raw_html.md
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
Raw HTML
|
||||
===================
|
||||
|
||||
### Example 584
|
||||
|
||||
<a><bab><c2c>
|
||||
|
||||
### Example 585
|
||||
|
||||
<a/><b2/>
|
||||
|
||||
### Example 586
|
||||
|
||||
<a /><b2
|
||||
data="foo" >
|
||||
|
||||
### Example 587
|
||||
|
||||
<a foo="bar" bam = 'baz <em>"</em>'
|
||||
_boolean zoop:33=zoop:33 />
|
||||
|
||||
### Example 588
|
||||
|
||||
Foo <responsive-image src="foo.jpg" />
|
||||
|
||||
### Example 589
|
||||
|
||||
<33> <__>
|
||||
|
||||
### Example 590
|
||||
|
||||
<a h*#ref="hi">
|
||||
|
||||
### Example 591
|
||||
|
||||
<a href="hi'> <a href=hi'>
|
||||
|
||||
### Example 592
|
||||
|
||||
< a><
|
||||
foo><bar/ >
|
||||
|
||||
### Example 593
|
||||
|
||||
<a href='bar'title=title>
|
||||
|
||||
### Example 594
|
||||
|
||||
</a></foo >
|
||||
|
||||
### Example 595
|
||||
|
||||
</a href="foo">
|
||||
|
||||
### Example 596
|
||||
|
||||
foo <!-- this is a
|
||||
comment - with hyphen -->
|
||||
|
||||
### Example 599
|
||||
|
||||
foo <?php echo $a; ?>
|
||||
|
||||
### Example 600
|
||||
|
||||
foo <!ELEMENT br EMPTY>
|
||||
|
||||
### Example 601
|
||||
|
||||
foo <![CDATA[>&<]]>
|
||||
|
||||
### Example 602
|
||||
|
||||
foo <a href="ö">
|
||||
|
||||
### Example 603
|
||||
|
||||
foo <a href="\*">
|
||||
7
packages/markdown/marked/test/new/cm_strong_and_em.html
Normal file
7
packages/markdown/marked/test/new/cm_strong_and_em.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<p>So <em>a</em> single <em>word</em> followed <em>b</em>y <em>a</em>nother</p>
|
||||
|
||||
<p>So <strong>a</strong> single <strong>word</strong> followed <strong>b</strong>y <strong>a</strong>nother</p>
|
||||
|
||||
<p>So <em>a</em> single <em>word</em> followed <em>b</em>y <em>a</em>nother</p>
|
||||
|
||||
<p>So <strong>a</strong> single <strong>word</strong> followed <strong>b</strong>y <strong>a</strong>nother</p>
|
||||
7
packages/markdown/marked/test/new/cm_strong_and_em.md
Normal file
7
packages/markdown/marked/test/new/cm_strong_and_em.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
So *a* single *word* followed *b*y *a*nother
|
||||
|
||||
So **a** single **word** followed **b**y **a**nother
|
||||
|
||||
So _a_ single _word_ followed _b_y _a_nother
|
||||
|
||||
So __a__ single __word__ followed __b__y __a__nother
|
||||
106
packages/markdown/marked/test/new/cm_thematic_breaks.html
Normal file
106
packages/markdown/marked/test/new/cm_thematic_breaks.html
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
<h1 id="thematic-breaks">Thematic breaks</h1>
|
||||
|
||||
<h3 id="example-13">Example 13</h3>
|
||||
|
||||
<hr>
|
||||
<hr>
|
||||
<hr>
|
||||
|
||||
<h3 id="example-14">Example 14</h3>
|
||||
|
||||
<p>+++</p>
|
||||
|
||||
<h3 id="example-15">Example 15</h3>
|
||||
|
||||
<p>===</p>
|
||||
|
||||
<h3 id="example-16">Example 16</h3>
|
||||
|
||||
<p>--
|
||||
**
|
||||
__</p>
|
||||
|
||||
<h3 id="example-17">Example 17</h3>
|
||||
|
||||
<hr>
|
||||
<hr>
|
||||
<hr>
|
||||
|
||||
<h3 id="example-18">Example 18</h3>
|
||||
|
||||
<pre><code>***
|
||||
</code></pre>
|
||||
|
||||
<h3 id="example-19">Example 19</h3>
|
||||
|
||||
<p>Foo
|
||||
***</p>
|
||||
|
||||
<h3 id="example-20">Example 20</h3>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3 id="example-21">Example 21</h3>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3 id="example-22">Example 22</h3>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3 id="example-23">Example 23</h3>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3 id="example-24">Example 24</h3>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3 id="example-25">Example 25</h3>
|
||||
|
||||
<p>_ _ _ _ a</p>
|
||||
<p>a------</p>
|
||||
<p>---a---</p>
|
||||
|
||||
|
||||
<h3 id="example-26">Example 26</h3>
|
||||
|
||||
<p> <em>-</em></p>
|
||||
|
||||
<h3 id="example-27">Example 27</h3>
|
||||
|
||||
<ul>
|
||||
<li>foo</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<ul>
|
||||
<li>bar</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="example-28">Example 28</h3>
|
||||
|
||||
<p>Foo</p>
|
||||
<hr>
|
||||
<p>bar</p>
|
||||
|
||||
<h3 id="example-29">Example 29</h3>
|
||||
|
||||
<h2 id="foo">Foo</h2>
|
||||
<p>bar</p>
|
||||
|
||||
<h3 id="example-30">Example 30</h3>
|
||||
|
||||
<ul>
|
||||
<li>Foo</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<ul>
|
||||
<li>Bar</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="example-31">Example 31</h3>
|
||||
|
||||
<ul>
|
||||
<li>Foo</li>
|
||||
<li><hr></li>
|
||||
</ul>
|
||||
98
packages/markdown/marked/test/new/cm_thematic_breaks.md
Normal file
98
packages/markdown/marked/test/new/cm_thematic_breaks.md
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
Thematic breaks
|
||||
===================
|
||||
|
||||
### Example 13
|
||||
|
||||
***
|
||||
---
|
||||
___
|
||||
|
||||
### Example 14
|
||||
|
||||
+++
|
||||
|
||||
### Example 15
|
||||
|
||||
===
|
||||
|
||||
### Example 16
|
||||
|
||||
--
|
||||
**
|
||||
__
|
||||
|
||||
### Example 17
|
||||
|
||||
***
|
||||
***
|
||||
***
|
||||
|
||||
### Example 18
|
||||
|
||||
***
|
||||
|
||||
### Example 19
|
||||
|
||||
Foo
|
||||
***
|
||||
|
||||
### Example 20
|
||||
|
||||
_____________________________________
|
||||
|
||||
### Example 21
|
||||
|
||||
- - -
|
||||
|
||||
### Example 22
|
||||
|
||||
** * ** * ** * **
|
||||
|
||||
### Example 23
|
||||
|
||||
- - - -
|
||||
|
||||
### Example 24
|
||||
|
||||
- - - -
|
||||
|
||||
### Example 25
|
||||
|
||||
_ _ _ _ a
|
||||
|
||||
a------
|
||||
|
||||
---a---
|
||||
|
||||
### Example 26
|
||||
|
||||
*-*
|
||||
|
||||
### Example 27
|
||||
|
||||
- foo
|
||||
***
|
||||
- bar
|
||||
|
||||
### Example 28
|
||||
|
||||
Foo
|
||||
***
|
||||
bar
|
||||
|
||||
### Example 29
|
||||
|
||||
Foo
|
||||
---
|
||||
bar
|
||||
|
||||
### Example 30
|
||||
|
||||
* Foo
|
||||
* * *
|
||||
* Bar
|
||||
|
||||
### Example 31
|
||||
|
||||
- Foo
|
||||
- * * *
|
||||
3
packages/markdown/marked/test/new/code_spans.html
Normal file
3
packages/markdown/marked/test/new/code_spans.html
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<p><code>someone@example.com</code></p>
|
||||
|
||||
<p>``<em>test`</em></p>
|
||||
3
packages/markdown/marked/test/new/code_spans.md
Normal file
3
packages/markdown/marked/test/new/code_spans.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
`someone@example.com`
|
||||
|
||||
``*test`*
|
||||
30
packages/markdown/marked/test/new/def_blocks.html
Normal file
30
packages/markdown/marked/test/new/def_blocks.html
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<blockquote>
|
||||
<p>hello
|
||||
[1]: hello</p>
|
||||
</blockquote>
|
||||
|
||||
<hr>
|
||||
|
||||
<blockquote>
|
||||
<p>hello
|
||||
[2]: hello</p>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>hello</li>
|
||||
<li>[3]: hello</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>hello</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<blockquote>
|
||||
<p>foo
|
||||
bar
|
||||
[5]: foo
|
||||
bar</p>
|
||||
</blockquote>
|
||||
21
packages/markdown/marked/test/new/def_blocks.md
Normal file
21
packages/markdown/marked/test/new/def_blocks.md
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
> hello
|
||||
> [1]: hello
|
||||
|
||||
* * *
|
||||
|
||||
> hello
|
||||
[2]: hello
|
||||
|
||||
|
||||
* hello
|
||||
* [3]: hello
|
||||
|
||||
|
||||
* hello
|
||||
[4]: hello
|
||||
|
||||
|
||||
> foo
|
||||
> bar
|
||||
[5]: foo
|
||||
> bar
|
||||
5
packages/markdown/marked/test/new/double_link.html
Normal file
5
packages/markdown/marked/test/new/double_link.html
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<p>Already linked: <a href="http://example.com/">http://example.com/</a>.</p>
|
||||
|
||||
<p>Already linked: <a href="http://example.com/">http://example.com/</a>.</p>
|
||||
|
||||
<p>Already linked: <a href="http://example.com/"><strong>http://example.com/</strong></a>.</p>
|
||||
5
packages/markdown/marked/test/new/double_link.md
Normal file
5
packages/markdown/marked/test/new/double_link.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<p>Already linked: <a href="http://example.com/">http://example.com/</a>.</p>
|
||||
|
||||
Already linked: [http://example.com/](http://example.com/).
|
||||
|
||||
Already linked: <a href="http://example.com/">**http://example.com/**</a>.
|
||||
25
packages/markdown/marked/test/new/em_2char.html
Normal file
25
packages/markdown/marked/test/new/em_2char.html
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<p><em>123</em></p>
|
||||
|
||||
<p><em>123</em></p>
|
||||
|
||||
<p><em>12</em></p>
|
||||
|
||||
<p><em>12</em></p>
|
||||
|
||||
<p><em>1</em></p>
|
||||
|
||||
<p><em>1</em></p>
|
||||
|
||||
<p>__</p>
|
||||
|
||||
<p>**</p>
|
||||
|
||||
<p>_123 _</p>
|
||||
|
||||
<p>*123 *</p>
|
||||
|
||||
<p>_ 123_</p>
|
||||
|
||||
<p><em>1_</em></p>
|
||||
|
||||
<p><em>1*</em></p>
|
||||
25
packages/markdown/marked/test/new/em_2char.md
Normal file
25
packages/markdown/marked/test/new/em_2char.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
_123_
|
||||
|
||||
*123*
|
||||
|
||||
_12_
|
||||
|
||||
*12*
|
||||
|
||||
_1_
|
||||
|
||||
*1*
|
||||
|
||||
__
|
||||
|
||||
**
|
||||
|
||||
_123 _
|
||||
|
||||
*123 *
|
||||
|
||||
_ 123_
|
||||
|
||||
_1__
|
||||
|
||||
*1**
|
||||
|
|
@ -0,0 +1 @@
|
|||
<p><em>test</em>. <em>test</em>: <em>test</em>! <em>test</em>? <em>test</em>-</p>
|
||||
|
|
@ -0,0 +1 @@
|
|||
_test_. _test_: _test_! _test_? _test_-
|
||||
1
packages/markdown/marked/test/new/escaped_angles.html
Normal file
1
packages/markdown/marked/test/new/escaped_angles.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
<p>></p>
|
||||
1
packages/markdown/marked/test/new/escaped_angles.md
Normal file
1
packages/markdown/marked/test/new/escaped_angles.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
\>
|
||||
83
packages/markdown/marked/test/new/gfm_autolinks.html
Normal file
83
packages/markdown/marked/test/new/gfm_autolinks.html
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
<p>link with . <a href="http://example.com/hello-world">http://example.com/hello-world</a>.</p>
|
||||
|
||||
<p>link with ! <a href="http://example.com/hello-world">http://example.com/hello-world</a>!</p>
|
||||
|
||||
<p>link with : <a href="http://example.com/hello-world">http://example.com/hello-world</a>:</p>
|
||||
|
||||
<p>link with , <a href="http://example.com/hello-world">http://example.com/hello-world</a>,</p>
|
||||
|
||||
<p>link with ; <a href="http://example.com/hello-world">http://example.com/hello-world</a>;</p>
|
||||
|
||||
<p>link with ) <a href="http://example.com/hello-world">http://example.com/hello-world</a>)</p>
|
||||
|
||||
<p>link with nothing <a href="http://example.com/hello-world">http://example.com/hello-world</a></p>
|
||||
|
||||
<h3 id="example-597">Example 597</h3>
|
||||
|
||||
<p>The scheme http will be inserted automatically:</p>
|
||||
|
||||
<p><a href="http://www.commonmark.org">www.commonmark.org</a></p>
|
||||
<h3 id="example-598">Example 598</h3>
|
||||
|
||||
<p>After a valid domain, zero or more non-space non-< characters may follow:</p>
|
||||
|
||||
<p>Visit <a href="http://www.commonmark.org/help">www.commonmark.org/help</a> for more information.</p>
|
||||
|
||||
<h3 id="example-599">Example 599</h3>
|
||||
|
||||
<p>Trailing punctuation (specifically, ?, !, ., ,, :, *, _, and ~) will not be considered part of the autolink, though they may be included in the interior of the link:</p>
|
||||
|
||||
<p>Visit <a href="http://www.commonmark.org">www.commonmark.org</a>.</p>
|
||||
|
||||
<p>Visit <a href="http://www.commonmark.org/a.b">www.commonmark.org/a.b</a>.</p>
|
||||
|
||||
<h3 id="example-600">Example 600</h3>
|
||||
|
||||
<p><a href="http://www.google.com/search?q=Markup+(business)">www.google.com/search?q=Markup+(business)</a></p>
|
||||
|
||||
<p>(<a href="http://www.google.com/search?q=Markup+(business)">www.google.com/search?q=Markup+(business)</a>)</p>
|
||||
|
||||
<h3 id="example-601">Example 601</h3>
|
||||
|
||||
<p><a href="http://www.google.com/search?q=(business))+ok">www.google.com/search?q=(business))+ok</a></p>
|
||||
|
||||
<h3 id="example-602">Example 602</h3>
|
||||
|
||||
<p><a href="http://www.google.com/search?q=commonmark&hl=en">www.google.com/search?q=commonmark&hl=en</a></p>
|
||||
|
||||
<p><a href="http://www.google.com/search?q=commonmark">www.google.com/search?q=commonmark</a>&</p>
|
||||
|
||||
<h3 id="example-603">Example 603</h3>
|
||||
|
||||
<p>< immediately ends an autolink.</p>
|
||||
|
||||
<p><a href="http://www.commonmark.org/he">www.commonmark.org/he</a><lp</p>
|
||||
|
||||
<h3 id="example-604">Example 604</h3>
|
||||
|
||||
<p><a href="http://commonmark.org">http://commonmark.org</a></p>
|
||||
|
||||
<p>(Visit <a href="https://encrypted.google.com/search?q=Markup+(business)">https://encrypted.google.com/search?q=Markup+(business)</a>)</p>
|
||||
|
||||
<p>Anonymous FTP is available at <a href="ftp://foo.bar.baz">ftp://foo.bar.baz</a>.</p>
|
||||
|
||||
<p>Extended email autolinks:</p>
|
||||
|
||||
<h3 id="example-605">Example 605</h3>
|
||||
|
||||
<p><a href="mailto:foo@bar.baz">foo@bar.baz</a></p>
|
||||
|
||||
<h3 id="example-606">Example 606</h3>
|
||||
|
||||
<p>hello@mail+xyz.example isn't valid, but <a href="mailto:hello+xyz@mail.example">hello+xyz@mail.example</a> is.</p>
|
||||
|
||||
<h3 id="example-607">Example 607</h3>
|
||||
|
||||
<p><a href="mailto:a.b-c_d@a.b">a.b-c_d@a.b</a></p>
|
||||
|
||||
<p><a href="mailto:a.b-c_d@a.b">a.b-c_d@a.b</a>.</p>
|
||||
|
||||
<p>a.b-c_d@a.b-</p>
|
||||
|
||||
<pre><code>a.b-c_d@a.b_
|
||||
</code></pre>
|
||||
83
packages/markdown/marked/test/new/gfm_autolinks.md
Normal file
83
packages/markdown/marked/test/new/gfm_autolinks.md
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
link with . http://example.com/hello-world.
|
||||
|
||||
link with ! http://example.com/hello-world!
|
||||
|
||||
link with : http://example.com/hello-world:
|
||||
|
||||
link with , http://example.com/hello-world,
|
||||
|
||||
link with ; http://example.com/hello-world;
|
||||
|
||||
link with ) http://example.com/hello-world)
|
||||
|
||||
link with nothing http://example.com/hello-world
|
||||
|
||||
### Example 597
|
||||
|
||||
The scheme http will be inserted automatically:
|
||||
|
||||
www.commonmark.org
|
||||
|
||||
### Example 598
|
||||
|
||||
After a valid domain, zero or more non-space non-< characters may follow:
|
||||
|
||||
Visit www.commonmark.org/help for more information.
|
||||
|
||||
### Example 599
|
||||
|
||||
Trailing punctuation (specifically, ?, !, ., ,, :, \*, \_, and ~) will not be considered part of the autolink, though they may be included in the interior of the link:
|
||||
|
||||
Visit www.commonmark.org.
|
||||
|
||||
Visit www.commonmark.org/a.b.
|
||||
|
||||
### Example 600
|
||||
|
||||
www.google.com/search?q=Markup+(business)
|
||||
|
||||
(www.google.com/search?q=Markup+(business))
|
||||
|
||||
### Example 601
|
||||
|
||||
www.google.com/search?q=(business))+ok
|
||||
|
||||
### Example 602
|
||||
|
||||
www.google.com/search?q=commonmark&hl=en
|
||||
|
||||
www.google.com/search?q=commonmark&
|
||||
|
||||
### Example 603
|
||||
|
||||
< immediately ends an autolink.
|
||||
|
||||
www.commonmark.org/he<lp
|
||||
|
||||
### Example 604
|
||||
|
||||
http://commonmark.org
|
||||
|
||||
(Visit https://encrypted.google.com/search?q=Markup+(business))
|
||||
|
||||
Anonymous FTP is available at ftp://foo.bar.baz.
|
||||
|
||||
Extended email autolinks:
|
||||
|
||||
### Example 605
|
||||
|
||||
foo@bar.baz
|
||||
|
||||
### Example 606
|
||||
|
||||
hello@mail+xyz.example isn't valid, but hello+xyz@mail.example is.
|
||||
|
||||
### Example 607
|
||||
|
||||
a.b-c_d@a.b
|
||||
|
||||
a.b-c_d@a.b.
|
||||
|
||||
a.b-c_d@a.b-
|
||||
|
||||
a.b-c_d@a.b_
|
||||
1
packages/markdown/marked/test/new/gfm_break.html
Normal file
1
packages/markdown/marked/test/new/gfm_break.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
<p>Look at the<br>pretty line<br>breaks.</p>
|
||||
6
packages/markdown/marked/test/new/gfm_break.md
Normal file
6
packages/markdown/marked/test/new/gfm_break.md
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
breaks: true
|
||||
---
|
||||
Look at the
|
||||
pretty line
|
||||
breaks.
|
||||
21
packages/markdown/marked/test/new/gfm_code.html
Normal file
21
packages/markdown/marked/test/new/gfm_code.html
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<pre><code class="language-js">var a = 'hello';
|
||||
console.log(a + ' world');</code></pre>
|
||||
<pre><code class="language-bash">echo "hello, ${WORLD}"</code></pre>
|
||||
<pre><code class="language-longfence">Q: What do you call a tall person who sells stolen goods?</code></pre>
|
||||
<pre><code class="language-ManyTildes">A longfence!</code></pre>
|
||||
<p>How about an empty code block?</p>
|
||||
<pre><code class="language-js"></code></pre>
|
||||
<p>How about a code block with only an empty line?</p>
|
||||
<pre><code class="language-js">
|
||||
</code></pre>
|
||||
|
||||
<p>With some trailing empty lines:</p>
|
||||
<pre><code>ciao
|
||||
|
||||
|
||||
</code></pre>
|
||||
|
||||
<p>Closing fences must lay on a new line:</p>
|
||||
<pre><code>hello()
|
||||
^```
|
||||
"this should still be in the code block!"</code></pre>
|
||||
43
packages/markdown/marked/test/new/gfm_code.md
Normal file
43
packages/markdown/marked/test/new/gfm_code.md
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
``` js
|
||||
var a = 'hello';
|
||||
console.log(a + ' world');
|
||||
```
|
||||
|
||||
~~~bash
|
||||
echo "hello, ${WORLD}"
|
||||
~~~
|
||||
|
||||
```````longfence
|
||||
Q: What do you call a tall person who sells stolen goods?
|
||||
```````
|
||||
|
||||
~~~~~~~~~~ ManyTildes
|
||||
A longfence!
|
||||
~~~~~~~~~~
|
||||
|
||||
How about an empty code block?
|
||||
|
||||
```js
|
||||
```
|
||||
|
||||
How about a code block with only an empty line?
|
||||
|
||||
```js
|
||||
|
||||
```
|
||||
|
||||
With some trailing empty lines:
|
||||
|
||||
```
|
||||
ciao
|
||||
|
||||
|
||||
```
|
||||
|
||||
Closing fences must lay on a new line:
|
||||
|
||||
```
|
||||
hello()
|
||||
^```
|
||||
"this should still be in the code block!"
|
||||
```
|
||||
52
packages/markdown/marked/test/new/gfm_code_hr_list.html
Normal file
52
packages/markdown/marked/test/new/gfm_code_hr_list.html
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
<h2 id="foo">foo</h2>
|
||||
<ol>
|
||||
<li><p>bar:</p>
|
||||
<blockquote>
|
||||
<ul>
|
||||
<li>one<ul>
|
||||
<li>two<ul>
|
||||
<li>three</li>
|
||||
<li>four</li>
|
||||
<li>five</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
</li>
|
||||
<li><p>foo:</p>
|
||||
<pre><code> line 1
|
||||
line 2</code></pre>
|
||||
</li>
|
||||
<li><p>foo:</p>
|
||||
<ol>
|
||||
<li><p>foo <code>bar</code> bar:</p>
|
||||
<pre><code class="language-erb"> some code here
|
||||
</code></pre>
|
||||
</li>
|
||||
<li><p>foo <code>bar</code> bar:</p>
|
||||
<pre><code class="language-erb"> foo
|
||||
---
|
||||
bar
|
||||
---
|
||||
foo
|
||||
bar</code></pre>
|
||||
</li>
|
||||
<li><p>foo <code>bar</code> bar:</p>
|
||||
<pre><code class="language-html"> ---
|
||||
foo
|
||||
foo
|
||||
---
|
||||
bar</code></pre>
|
||||
</li>
|
||||
<li><p>foo <code>bar</code> bar:</p>
|
||||
<pre><code> foo
|
||||
---
|
||||
bar</code></pre>
|
||||
</li>
|
||||
<li><p>foo</p>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
53
packages/markdown/marked/test/new/gfm_code_hr_list.md
Normal file
53
packages/markdown/marked/test/new/gfm_code_hr_list.md
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
## foo
|
||||
|
||||
1. bar:
|
||||
|
||||
> - one
|
||||
- two
|
||||
- three
|
||||
- four
|
||||
- five
|
||||
|
||||
1. foo:
|
||||
|
||||
```
|
||||
line 1
|
||||
line 2
|
||||
```
|
||||
|
||||
1. foo:
|
||||
|
||||
1. foo `bar` bar:
|
||||
|
||||
``` erb
|
||||
some code here
|
||||
```
|
||||
|
||||
2. foo `bar` bar:
|
||||
|
||||
``` erb
|
||||
foo
|
||||
---
|
||||
bar
|
||||
---
|
||||
foo
|
||||
bar
|
||||
```
|
||||
|
||||
3. foo `bar` bar:
|
||||
|
||||
``` html
|
||||
---
|
||||
foo
|
||||
foo
|
||||
---
|
||||
bar
|
||||
```
|
||||
|
||||
4. foo `bar` bar:
|
||||
|
||||
foo
|
||||
---
|
||||
bar
|
||||
|
||||
5. foo
|
||||
1
packages/markdown/marked/test/new/gfm_em.html
Normal file
1
packages/markdown/marked/test/new/gfm_em.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
<p>These words should_not_be_emphasized.</p>
|
||||
1
packages/markdown/marked/test/new/gfm_em.md
Normal file
1
packages/markdown/marked/test/new/gfm_em.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
These words should_not_be_emphasized.
|
||||
5
packages/markdown/marked/test/new/gfm_hashtag.html
Normal file
5
packages/markdown/marked/test/new/gfm_hashtag.html
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<p>#header</p>
|
||||
|
||||
<h1 id="header1">header1</h1>
|
||||
|
||||
<h1 id="header2">header2</h1>
|
||||
8
packages/markdown/marked/test/new/gfm_hashtag.md
Normal file
8
packages/markdown/marked/test/new/gfm_hashtag.md
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
gfm: true
|
||||
---
|
||||
#header
|
||||
|
||||
# header1
|
||||
|
||||
# header2
|
||||
1
packages/markdown/marked/test/new/gfm_links_invalid.html
Normal file
1
packages/markdown/marked/test/new/gfm_links_invalid.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
<p>This should not be linked: http://example.com/%ff</p>
|
||||
4
packages/markdown/marked/test/new/gfm_links_invalid.md
Normal file
4
packages/markdown/marked/test/new/gfm_links_invalid.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
sanitize: true
|
||||
---
|
||||
This should not be linked: http://example.com/%ff
|
||||
37
packages/markdown/marked/test/new/gfm_tables.html
Normal file
37
packages/markdown/marked/test/new/gfm_tables.html
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr><th>Heading 1</th><th>Heading 2</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Cell 1</td><td>Cell 2</td></tr>
|
||||
<tr><td>Cell 3</td><td>Cell 4</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th align="center">Header 1</th><th align="right">Header 2</th><th align="left">Header 3</th><th>Header 4</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td align="center">Cell 1</td><td align="right">Cell 2</td><td align="left">Cell 3</td><td>Cell 4</td></tr>
|
||||
<tr><td align="center">Cell 5</td><td align="right">Cell 6</td><td align="left">Cell 7</td><td>Cell 8</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<pre><code>Test code</code></pre>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Header 1</th><th>Header 2</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Cell 1</td><td>Cell 2</td></tr>
|
||||
<tr><td>Cell 3</td><td>Cell 4</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th align="left">Header 1</th><th align="center">Header 2</th><th align="right">Header 3</th><th>Header 4</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td align="left">Cell 1</td><td align="center">Cell 2</td><td align="right">Cell 3</td><td>Cell 4</td></tr>
|
||||
<tr><td align="left"><em>Cell 5</em></td><td align="center">Cell 6</td><td align="right">Cell 7</td><td>Cell 8</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
21
packages/markdown/marked/test/new/gfm_tables.md
Normal file
21
packages/markdown/marked/test/new/gfm_tables.md
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
| Heading 1 | Heading 2
|
||||
| --------- | ---------
|
||||
| Cell 1 | Cell 2
|
||||
| Cell 3 | Cell 4
|
||||
|
||||
| Header 1 | Header 2 | Header 3 | Header 4 |
|
||||
| :------: | -------: | :------- | -------- |
|
||||
| Cell 1 | Cell 2 | Cell 3 | Cell 4 |
|
||||
| Cell 5 | Cell 6 | Cell 7 | Cell 8 |
|
||||
|
||||
Test code
|
||||
|
||||
Header 1 | Header 2
|
||||
-------- | --------
|
||||
Cell 1 | Cell 2
|
||||
Cell 3 | Cell 4
|
||||
|
||||
Header 1|Header 2|Header 3|Header 4
|
||||
:-------|:------:|-------:|--------
|
||||
Cell 1 |Cell 2 |Cell 3 |Cell 4
|
||||
*Cell 5*|Cell 6 |Cell 7 |Cell 8
|
||||
13
packages/markdown/marked/test/new/headings_id.html
Normal file
13
packages/markdown/marked/test/new/headings_id.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<h3 id="heading-with-a-link">Heading with a <a href="http://github.com/">link</a></h3>
|
||||
|
||||
<h3 id="heading-with-some-italic-text">Heading with some <em>italic text</em></h3>
|
||||
|
||||
<h3 id="or-some-strong">Or some <strong>strong</strong></h3>
|
||||
|
||||
<p>(which doesn't really make any difference, here)</p>
|
||||
|
||||
<h3 id="or-even-code">Or even <code>code</code></h3>
|
||||
|
||||
<h3 id="what-about-strikethrough">What about <del>strikethrough</del></h3>
|
||||
|
||||
<h2 id="and-a-ref-link">And a ref <a href="/some/url" title="link to nowhere">link</a></h2>
|
||||
14
packages/markdown/marked/test/new/headings_id.md
Normal file
14
packages/markdown/marked/test/new/headings_id.md
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
### Heading with a [link](http://github.com/)
|
||||
|
||||
### Heading with some _italic text_
|
||||
|
||||
### Or some **strong**
|
||||
(which doesn't really make any difference, here)
|
||||
|
||||
### Or even `code`
|
||||
|
||||
### What about ~~strikethrough~~
|
||||
|
||||
## And a ref [link][destination]
|
||||
|
||||
[destination]: /some/url "link to nowhere"
|
||||
10
packages/markdown/marked/test/new/hr_list_break.html
Normal file
10
packages/markdown/marked/test/new/hr_list_break.html
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<ul>
|
||||
<li>hello
|
||||
world</li>
|
||||
<li>how
|
||||
are</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>you today?</p>
|
||||
6
packages/markdown/marked/test/new/hr_list_break.md
Normal file
6
packages/markdown/marked/test/new/hr_list_break.md
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
* hello
|
||||
world
|
||||
* how
|
||||
are
|
||||
* * *
|
||||
you today?
|
||||
57
packages/markdown/marked/test/new/html_comments.html
Normal file
57
packages/markdown/marked/test/new/html_comments.html
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<h3 id="example-1">Example 1</h3>
|
||||
|
||||
<!-- comment -->
|
||||
|
||||
<h3 id="example-2">Example 2</h3>
|
||||
|
||||
<!---->
|
||||
|
||||
<h3 id="example-3">Example 3</h3>
|
||||
|
||||
<!-- -->
|
||||
|
||||
<h3 id="example-4">Example 4</h3>
|
||||
|
||||
<!-- - -->
|
||||
|
||||
<h3 id="example-5">Example 5</h3>
|
||||
|
||||
<!-- -- -->
|
||||
|
||||
<h3 id="example-6">Example 6</h3>
|
||||
|
||||
<!-- --->
|
||||
|
||||
<h3 id="example-7">Example 7</h3>
|
||||
|
||||
<!----->
|
||||
|
||||
<h3 id="example-8">Example 8</h3>
|
||||
|
||||
<!------>
|
||||
|
||||
<h3 id="example-9">Example 9</h3>
|
||||
|
||||
<!-- My favorite operators are > and <!-->
|
||||
|
||||
<h3 id="example-10">Example 10</h3>
|
||||
|
||||
<!-- multi
|
||||
line
|
||||
comment
|
||||
-->
|
||||
|
||||
<h3 id="example-11">Example 11</h3>
|
||||
|
||||
<!-- indented comment -->
|
||||
|
||||
<pre><code><!-- too much indentation -->
|
||||
</code></pre>
|
||||
|
||||
<h3 id="example-12">Example 12</h3>
|
||||
|
||||
<p><!--> not a comment --></p>
|
||||
|
||||
<p><!---> not a comment --></p>
|
||||
|
||||
<!-- <!-- not a comment? --> -->
|
||||
56
packages/markdown/marked/test/new/html_comments.md
Normal file
56
packages/markdown/marked/test/new/html_comments.md
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
### Example 1
|
||||
|
||||
<!-- comment -->
|
||||
|
||||
### Example 2
|
||||
|
||||
<!---->
|
||||
|
||||
### Example 3
|
||||
|
||||
<!-- -->
|
||||
|
||||
### Example 4
|
||||
|
||||
<!-- - -->
|
||||
|
||||
### Example 5
|
||||
|
||||
<!-- -- -->
|
||||
|
||||
### Example 6
|
||||
|
||||
<!-- --->
|
||||
|
||||
### Example 7
|
||||
|
||||
<!----->
|
||||
|
||||
### Example 8
|
||||
|
||||
<!------>
|
||||
|
||||
### Example 9
|
||||
|
||||
<!-- My favorite operators are > and <!-->
|
||||
|
||||
### Example 10
|
||||
|
||||
<!-- multi
|
||||
line
|
||||
comment
|
||||
-->
|
||||
|
||||
### Example 11
|
||||
|
||||
<!-- indented comment -->
|
||||
|
||||
<!-- too much indentation -->
|
||||
|
||||
### Example 12
|
||||
|
||||
<!--> not a comment -->
|
||||
|
||||
<!---> not a comment -->
|
||||
|
||||
<!-- <!-- not a comment? --> -->
|
||||
1
packages/markdown/marked/test/new/html_no_new_line.html
Normal file
1
packages/markdown/marked/test/new/html_no_new_line.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
<img src='sdfg'>
|
||||
1
packages/markdown/marked/test/new/html_no_new_line.md
Normal file
1
packages/markdown/marked/test/new/html_no_new_line.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
<img src='sdfg'>
|
||||
5
packages/markdown/marked/test/new/images.html
Normal file
5
packages/markdown/marked/test/new/images.html
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<p>Image</p>
|
||||
<p>Image</p>
|
||||
<p>Image</p>
|
||||
<p>Image</p>
|
||||
<p>Image</p>
|
||||
12
packages/markdown/marked/test/new/images.md
Normal file
12
packages/markdown/marked/test/new/images.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
sanitize: true
|
||||
---
|
||||

|
||||
|
||||

|
||||
|
||||
)
|
||||
|
||||
)
|
||||
|
||||

|
||||
4
packages/markdown/marked/test/new/lazy_blockquotes.html
Normal file
4
packages/markdown/marked/test/new/lazy_blockquotes.html
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<blockquote>
|
||||
<p>hi there
|
||||
bud</p>
|
||||
</blockquote>
|
||||
2
packages/markdown/marked/test/new/lazy_blockquotes.md
Normal file
2
packages/markdown/marked/test/new/lazy_blockquotes.md
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
> hi there
|
||||
bud
|
||||
1
packages/markdown/marked/test/new/link_lt.html
Normal file
1
packages/markdown/marked/test/new/link_lt.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
<p><a href="%3Ctest">URL</a></p>
|
||||
1
packages/markdown/marked/test/new/link_lt.md
Normal file
1
packages/markdown/marked/test/new/link_lt.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
[URL](<test)
|
||||
31
packages/markdown/marked/test/new/link_tick_redos.html
Normal file
31
packages/markdown/marked/test/new/link_tick_redos.html
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<p>dash_capstyle: ['butt' | 'round' | 'projecting']
|
||||
dash_joinstyle: ['miter' | 'round' | 'bevel']
|
||||
dashes: sequence of on/off ink in points
|
||||
drawstyle: ['default' | 'steps' | 'steps-pre' | 'steps-mid' | 'steps-post']
|
||||
figure: a <code>~.Figure</code> instance
|
||||
fillstyle: ['full' | 'left' | 'right' | 'bottom' | 'top' | 'none']
|
||||
gid: an id string
|
||||
label: object
|
||||
linestyle or ls: ['solid' | 'dashed', 'dashdot', 'dotted' | (offset, on-off-dash-seq) | <code>'-'</code> | <code>'--'</code> | <code>'-.'</code> | <code>':'</code> | <code>'None'</code> | <code>' '</code> | <code>''</code>]
|
||||
linewidth or lw: float value in points
|
||||
marker: :mod:<code>A valid marker style <matplotlib.markers></code>
|
||||
markeredgecolor or mec: any matplotlib color
|
||||
markeredgewidth or mew: float value in points
|
||||
markerfacecolor or mfc: any matplotlib color
|
||||
markerfacecoloralt or mfcalt: any matplotlib color
|
||||
markersize or ms: float
|
||||
markevery: [None | int | length-2 tuple of int | slice | list/array of int | float | length-2 tuple of float]
|
||||
path_effects: <code>~.AbstractPathEffect</code>
|
||||
picker: float distance in points or callable pick function <code>fn(artist, event)</code>
|
||||
pickradius: float distance in points
|
||||
rasterized: bool or None
|
||||
sketch_params: (scale: float, length: float, randomness: float)
|
||||
snap: bool or None
|
||||
solid_capstyle: ['butt' | 'round' | 'projecting']
|
||||
solid_joinstyle: ['miter' | 'round' | 'bevel']
|
||||
transform: a :class:<code>matplotlib.transforms.Transform</code> instance
|
||||
url: a url string
|
||||
visible: bool
|
||||
xdata: 1D array
|
||||
ydata: 1D array
|
||||
zorder: float</p>
|
||||
31
packages/markdown/marked/test/new/link_tick_redos.md
Normal file
31
packages/markdown/marked/test/new/link_tick_redos.md
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
dash_capstyle: ['butt' | 'round' | 'projecting']
|
||||
dash_joinstyle: ['miter' | 'round' | 'bevel']
|
||||
dashes: sequence of on/off ink in points
|
||||
drawstyle: ['default' | 'steps' | 'steps-pre' | 'steps-mid' | 'steps-post']
|
||||
figure: a `~.Figure` instance
|
||||
fillstyle: ['full' | 'left' | 'right' | 'bottom' | 'top' | 'none']
|
||||
gid: an id string
|
||||
label: object
|
||||
linestyle or ls: ['solid' | 'dashed', 'dashdot', 'dotted' | (offset, on-off-dash-seq) | ``'-'`` | ``'--'`` | ``'-.'`` | ``':'`` | ``'None'`` | ``' '`` | ``''``]
|
||||
linewidth or lw: float value in points
|
||||
marker: :mod:`A valid marker style <matplotlib.markers>`
|
||||
markeredgecolor or mec: any matplotlib color
|
||||
markeredgewidth or mew: float value in points
|
||||
markerfacecolor or mfc: any matplotlib color
|
||||
markerfacecoloralt or mfcalt: any matplotlib color
|
||||
markersize or ms: float
|
||||
markevery: [None | int | length-2 tuple of int | slice | list/array of int | float | length-2 tuple of float]
|
||||
path_effects: `~.AbstractPathEffect`
|
||||
picker: float distance in points or callable pick function ``fn(artist, event)``
|
||||
pickradius: float distance in points
|
||||
rasterized: bool or None
|
||||
sketch_params: (scale: float, length: float, randomness: float)
|
||||
snap: bool or None
|
||||
solid_capstyle: ['butt' | 'round' | 'projecting']
|
||||
solid_joinstyle: ['miter' | 'round' | 'bevel']
|
||||
transform: a :class:`matplotlib.transforms.Transform` instance
|
||||
url: a url string
|
||||
visible: bool
|
||||
xdata: 1D array
|
||||
ydata: 1D array
|
||||
zorder: float
|
||||
3
packages/markdown/marked/test/new/links.html
Normal file
3
packages/markdown/marked/test/new/links.html
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<p>Link: <a href="https://example.org/">constructor</a>.</p>
|
||||
|
||||
<p><a href="https://example.com/1">One</a> (<a href="https://example.com/2">Two</a>) <a href="https://example.com/3">Three</a></p>
|
||||
5
packages/markdown/marked/test/new/links.md
Normal file
5
packages/markdown/marked/test/new/links.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
Link: [constructor][].
|
||||
|
||||
[One](https://example.com/1) ([Two](https://example.com/2)) [Three](https://example.com/3)
|
||||
|
||||
[constructor]: https://example.org/
|
||||
1
packages/markdown/marked/test/new/list_item_text.html
Normal file
1
packages/markdown/marked/test/new/list_item_text.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
<ul><li><p>item1</p> <ul><li>item2 </li></ul> <p>text</p> </li></ul>
|
||||
5
packages/markdown/marked/test/new/list_item_text.md
Normal file
5
packages/markdown/marked/test/new/list_item_text.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
* item1
|
||||
|
||||
* item2
|
||||
|
||||
text
|
||||
44
packages/markdown/marked/test/new/list_table.html
Normal file
44
packages/markdown/marked/test/new/list_table.html
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
<ul>
|
||||
<li>
|
||||
<p>Table in list:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>column1</th>
|
||||
<th>column2</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>value1</td>
|
||||
<td>value2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>value3</td>
|
||||
<td>value4</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</li>
|
||||
<li>
|
||||
<p>No leading pipe table in list:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>column1</th>
|
||||
<th>column2</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>value1</td>
|
||||
<td>value2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>value3</td>
|
||||
<td>value4</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
13
packages/markdown/marked/test/new/list_table.md
Normal file
13
packages/markdown/marked/test/new/list_table.md
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
* Table in list:
|
||||
|
||||
| column1 | column2 |
|
||||
|---------|---------|
|
||||
| value1 | value2 |
|
||||
| value3 | value4 |
|
||||
|
||||
* No leading pipe table in list:
|
||||
|
||||
column1 | column2
|
||||
--------|--------
|
||||
value1 | value2
|
||||
value3 | value4
|
||||
4
packages/markdown/marked/test/new/main.html
Normal file
4
packages/markdown/marked/test/new/main.html
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<h1 id="a-heading">A heading</h1> <p>Just a note, I've found that I can't test my markdown parser vs others. For example, both markdown.js and showdown code blocks in lists wrong. They're also completely <a href="http://google.com/" title="Google">inconsistent</a> with regards to paragraphs in list items.</p> <p>A link. Not anymore.</p> <aside>This will make me fail the test because
|
||||
markdown.js doesnt acknowledge arbitrary html blocks =/</aside> <ul><li><p>List Item 1</p></li><li><p>List Item 2 </p><ul><li>New List Item 1 Hi, this is a list item.</li><li>New List Item 2 Another item <pre><code>Code goes here.
|
||||
Lots of it...</code></pre></li><li>New List Item 3 The last item</li></ul></li><li><p>List Item 3 The final item.</p></li><li><p>List Item 4 The real final item.</p></li></ul> <p>Paragraph.</p> <blockquote><ul><li>bq Item 1</li><li>bq Item 2 <ul><li>New bq Item 1</li><li>New bq Item 2 Text here</li></ul></li></ul></blockquote> <hr> <blockquote><p> Another blockquote! I really need to get more creative with mockup text.. markdown.js breaks here again</p></blockquote> <h2 id="another-heading">Another Heading</h2> <p>Hello <em>world</em>. Here is a <a href="//hello">link</a>. And an image <img src="src" alt="alt">.</p> <pre><code>Code goes here.
|
||||
Lots of it...</code></pre>
|
||||
55
packages/markdown/marked/test/new/main.md
Normal file
55
packages/markdown/marked/test/new/main.md
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
[test]: http://google.com/ "Google"
|
||||
|
||||
# A heading
|
||||
|
||||
Just a note, I've found that I can't test my markdown parser vs others.
|
||||
For example, both markdown.js and showdown code blocks in lists wrong. They're
|
||||
also completely [inconsistent][test] with regards to paragraphs in list items.
|
||||
|
||||
A link. Not anymore.
|
||||
|
||||
<aside>This will make me fail the test because
|
||||
markdown.js doesnt acknowledge arbitrary html blocks =/</aside>
|
||||
|
||||
* List Item 1
|
||||
|
||||
* List Item 2
|
||||
* New List Item 1
|
||||
Hi, this is a list item.
|
||||
* New List Item 2
|
||||
Another item
|
||||
Code goes here.
|
||||
Lots of it...
|
||||
* New List Item 3
|
||||
The last item
|
||||
|
||||
* List Item 3
|
||||
The final item.
|
||||
|
||||
* List Item 4
|
||||
The real final item.
|
||||
|
||||
Paragraph.
|
||||
|
||||
> * bq Item 1
|
||||
> * bq Item 2
|
||||
> * New bq Item 1
|
||||
> * New bq Item 2
|
||||
> Text here
|
||||
|
||||
* * *
|
||||
|
||||
> Another blockquote!
|
||||
> I really need to get
|
||||
> more creative with
|
||||
> mockup text..
|
||||
> markdown.js breaks here again
|
||||
|
||||
Another Heading
|
||||
-------------
|
||||
|
||||
Hello *world*. Here is a [link](//hello).
|
||||
And an image .
|
||||
|
||||
Code goes here.
|
||||
Lots of it...
|
||||
3
packages/markdown/marked/test/new/mangle_xss.html
Normal file
3
packages/markdown/marked/test/new/mangle_xss.html
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<p><<svg/onload="alert(1)"//@x></p>
|
||||
|
||||
<p><bar"onclick="alert('XSS')"@foo></p>
|
||||
7
packages/markdown/marked/test/new/mangle_xss.md
Normal file
7
packages/markdown/marked/test/new/mangle_xss.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
sanatize: true
|
||||
mangle: false
|
||||
---
|
||||
<<svg/onload="alert(1)"//@x>
|
||||
|
||||
<bar"onclick="alert('XSS')"@foo>
|
||||
9
packages/markdown/marked/test/new/nested_code.html
Normal file
9
packages/markdown/marked/test/new/nested_code.html
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<p><code>hi ther `` ok ```</code></p>
|
||||
|
||||
<p><code>`</code></p>
|
||||
|
||||
<p><code>There is a literal backtick (`) here.</code></p>
|
||||
|
||||
<p>A backtick-delimited string in a code span: <code>`foo`</code></p>
|
||||
|
||||
<p>Please don't use any <code><blink></code> tags.</p>
|
||||
9
packages/markdown/marked/test/new/nested_code.md
Normal file
9
packages/markdown/marked/test/new/nested_code.md
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
````` hi ther `` ok ``` `````
|
||||
|
||||
`` ` ``
|
||||
|
||||
``There is a literal backtick (`) here.``
|
||||
|
||||
A backtick-delimited string in a code span: `` `foo` ``
|
||||
|
||||
Please don't use any `<blink>` tags.
|
||||
3
packages/markdown/marked/test/new/nested_em.html
Normal file
3
packages/markdown/marked/test/new/nested_em.html
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<p><em>test <strong>test</strong> test</em></p>
|
||||
|
||||
<p><em>test <strong>test</strong> test</em></p>
|
||||
3
packages/markdown/marked/test/new/nested_em.md
Normal file
3
packages/markdown/marked/test/new/nested_em.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
*test **test** test*
|
||||
|
||||
_test __test__ test_
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
<p><a href="/url">the <code>]</code> character</a></p>
|
||||
|
||||
<p><a href="/url">the ` character</a></p>
|
||||
3
packages/markdown/marked/test/new/nested_square_link.md
Normal file
3
packages/markdown/marked/test/new/nested_square_link.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[the `]` character](/url)
|
||||
|
||||
[the ` character](/url)
|
||||
5
packages/markdown/marked/test/new/nogfm_hashtag.html
Normal file
5
packages/markdown/marked/test/new/nogfm_hashtag.html
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<h1 id="header">header</h1>
|
||||
|
||||
<h1 id="header1">header1</h1>
|
||||
|
||||
<h1 id="header2">header2</h1>
|
||||
8
packages/markdown/marked/test/new/nogfm_hashtag.md
Normal file
8
packages/markdown/marked/test/new/nogfm_hashtag.md
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
gfm: false
|
||||
---
|
||||
#header
|
||||
|
||||
# header1
|
||||
|
||||
# header2
|
||||
1
packages/markdown/marked/test/new/not_a_link.html
Normal file
1
packages/markdown/marked/test/new/not_a_link.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
<p>[test](not a link)</p>
|
||||
1
packages/markdown/marked/test/new/not_a_link.md
Normal file
1
packages/markdown/marked/test/new/not_a_link.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
\[test](not a link)
|
||||
1
packages/markdown/marked/test/new/ref_paren.html
Normal file
1
packages/markdown/marked/test/new/ref_paren.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
<p><a href="/url" title="there">hi</a></p>
|
||||
3
packages/markdown/marked/test/new/ref_paren.md
Normal file
3
packages/markdown/marked/test/new/ref_paren.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[hi]
|
||||
|
||||
[hi]: /url (there)
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue