markdown-it
Advanced tools
Comparing version 3.0.6 to 3.0.7
@@ -14,3 +14,3 @@ #!/usr/bin/env node | ||
var cli = new argparse.ArgumentParser({ | ||
prog: 'markdown-it.js', | ||
prog: 'markdown-it', | ||
version: require('../package.json').version, | ||
@@ -20,2 +20,22 @@ addHelp: true | ||
cli.addArgument([ '--no-html' ], { | ||
help: 'Disable embedded HTML', | ||
action: 'storeTrue' | ||
}); | ||
cli.addArgument([ '-l', '--linkify' ], { | ||
help: 'Autolink text', | ||
action: 'storeTrue' | ||
}); | ||
cli.addArgument([ '-t', '--typographer' ], { | ||
help: 'Enable smartquotes and other typographic replacements', | ||
action: 'storeTrue' | ||
}); | ||
cli.addArgument([ '--trace' ], { | ||
help: 'Show stack trace on error', | ||
action: 'storeTrue' | ||
}); | ||
cli.addArgument([ 'file' ], { | ||
@@ -33,8 +53,5 @@ help: 'File to read', | ||
// read from stdin | ||
var chunks = []; | ||
process.stdin.on('data', function(chunk) { | ||
chunks.push(chunk); | ||
}); | ||
process.stdin.on('data', function(chunk) { chunks.push(chunk); }); | ||
@@ -61,3 +78,6 @@ process.stdin.on('end', function() { | ||
console.error(err.stack || err.message || String(err)); | ||
console.error( | ||
options.trace && err.stack || | ||
err.message || | ||
String(err)); | ||
@@ -68,6 +88,6 @@ process.exit(1); | ||
md = require('..')({ | ||
html: true, | ||
xhtmlOut: true, | ||
typographer: true, | ||
linkify: true | ||
html: !options['no-html'], | ||
xhtmlOut: false, | ||
typographer: options.typographer, | ||
linkify: options.linkify | ||
}); | ||
@@ -79,3 +99,6 @@ | ||
} catch (e) { | ||
console.error(e.stack || e.message || String(e)); | ||
console.error( | ||
options.trace && e.stack || | ||
e.message || | ||
String(e)); | ||
@@ -82,0 +105,0 @@ process.exit(1); |
@@ -0,1 +1,10 @@ | ||
3.0.7 / 2015-02-22 | ||
------------------ | ||
- Match table columns count by header. | ||
- Added basic CLI support. | ||
- Added \v \f to valid whitespaces. | ||
- Use external package for unicode data (punctuation). | ||
3.0.6 / 2015-02-12 | ||
@@ -2,0 +11,0 @@ ------------------ |
@@ -1,5 +0,14 @@ | ||
If you commit changes: | ||
### If you commit changes: | ||
1. Make sure all tests pass. | ||
2. Run benchmark, make sure that performance not degraded. | ||
3. DON'T include auto-generated browser & demo files to commit. | ||
2. Run `./benchmark/benchmark.js`, make sure that performance not degraded. | ||
3. DON'T include auto-generated browser files to commit. | ||
### Other things: | ||
1. Prefer [gitter](https://gitter.im/markdown-it/markdown-it) for short "questions". | ||
Keep issues for bug reports, suggestions and so on. | ||
2. Make sure to read [dev info](https://github.com/markdown-it/markdown-it/tree/master/docs) | ||
prior to ask about plugins development. | ||
3. Issues of "question" type are closed after several days of inactivity, | ||
if not qualified as bug report, enhancement etc (see 1). |
@@ -5,56 +5,23 @@ // Regexps to match html elements | ||
var attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*'; | ||
function replace(regex, options) { | ||
regex = regex.source; | ||
options = options || ''; | ||
var unquoted = '[^"\'=<>`\\x00-\\x20]+'; | ||
var single_quoted = "'[^']*'"; | ||
var double_quoted = '"[^"]*"'; | ||
return function self(name, val) { | ||
if (!name) { | ||
return new RegExp(regex, options); | ||
} | ||
val = val.source; | ||
regex = regex.replace(name, val); | ||
return self; | ||
}; | ||
} | ||
var attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')'; | ||
var attribute = '(?:\\s+' + attr_name + '(?:\\s*=\\s*' + attr_value + ')?)'; | ||
var attr_name = /[a-zA-Z_:][a-zA-Z0-9:._-]*/; | ||
var open_tag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>'; | ||
var unquoted = /[^"'=<>`\x00-\x20]+/; | ||
var single_quoted = /'[^']*'/; | ||
var double_quoted = /"[^"]*"/; | ||
var close_tag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>'; | ||
var comment = '<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->'; | ||
var processing = '<[?].*?[?]>'; | ||
var declaration = '<![A-Z]+\\s+[^>]*>'; | ||
var cdata = '<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'; | ||
/*eslint no-spaced-func:0*/ | ||
var attr_value = replace(/(?:unquoted|single_quoted|double_quoted)/) | ||
('unquoted', unquoted) | ||
('single_quoted', single_quoted) | ||
('double_quoted', double_quoted) | ||
(); | ||
var HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment + | ||
'|' + processing + '|' + declaration + '|' + cdata + ')'); | ||
var attribute = replace(/(?:\s+attr_name(?:\s*=\s*attr_value)?)/) | ||
('attr_name', attr_name) | ||
('attr_value', attr_value) | ||
(); | ||
var open_tag = replace(/<[A-Za-z][A-Za-z0-9\-]*attribute*\s*\/?>/) | ||
('attribute', attribute) | ||
(); | ||
var close_tag = /<\/[A-Za-z][A-Za-z0-9\-]*\s*>/; | ||
var comment = /<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/; | ||
var processing = /<[?].*?[?]>/; | ||
var declaration = /<![A-Z]+\s+[^>]*>/; | ||
var cdata = /<!\[CDATA\[[\s\S]*?\]\]>/; | ||
var HTML_TAG_RE = replace(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/) | ||
('open_tag', open_tag) | ||
('close_tag', close_tag) | ||
('comment', comment) | ||
('processing', processing) | ||
('declaration', declaration) | ||
('cdata', cdata) | ||
(); | ||
module.exports.HTML_TAG_RE = HTML_TAG_RE; |
@@ -204,10 +204,11 @@ // Utilities | ||
// Zs (unicode class) || 09, 0A, 0D, 0C | ||
// Zs (unicode class) || [\t\f\v\r\n] | ||
function isWhiteSpace(code) { | ||
if (code >= 0x2000 && code <= 0x200A) { return true; } | ||
switch (code) { | ||
case 0x09: | ||
case 0x0A: | ||
case 0x0D: | ||
case 0x0C: | ||
case 0x09: // \t | ||
case 0x0A: // \n | ||
case 0x0B: // \v | ||
case 0x0C: // \f | ||
case 0x0D: // \r | ||
case 0x20: | ||
@@ -227,7 +228,7 @@ case 0xA0: | ||
/*eslint-disable max-len*/ | ||
var BMP_PUNCT_RE = /[\x21-\x23\x25-\x2A\x2C-\x2F\x3A\x3B\x3F\x40\x5B-\x5D\x5F\x7B\x7D\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/; | ||
var UNICODE_PUNCT_RE = require('uc.micro/categories/P/regex'); | ||
// Currently without astral characters support. | ||
function isPunctChar(char) { | ||
return BMP_PUNCT_RE.test(char); | ||
return UNICODE_PUNCT_RE.test(char); | ||
} | ||
@@ -234,0 +235,0 @@ |
@@ -13,5 +13,7 @@ /** internal | ||
var _rules = [ | ||
// First 2 params - rule name & source. Secondary array - list of rules, | ||
// which can be terminated by this one. | ||
[ 'code', require('./rules_block/code') ], | ||
[ 'fence', require('./rules_block/fence'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ], | ||
[ 'blockquote', require('./rules_block/blockquote'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ], | ||
[ 'blockquote', require('./rules_block/blockquote'), [ 'paragraph', 'reference', 'list' ] ], | ||
[ 'hr', require('./rules_block/hr'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ], | ||
@@ -18,0 +20,0 @@ [ 'list', require('./rules_block/list'), [ 'paragraph', 'reference', 'blockquote' ] ], |
@@ -92,2 +92,3 @@ /** internal | ||
/*istanbul ignore else*/ | ||
if (state.level < maxNesting) { | ||
@@ -94,0 +95,0 @@ for (i = 0; i < len; i++) { |
@@ -143,2 +143,5 @@ // GFM table, non-standard | ||
// set number of columns to number of columns in header row | ||
rows.length = aligns.length; | ||
state.tokens.push({ type: 'tr_open', level: state.level++ }); | ||
@@ -149,3 +152,3 @@ for (i = 0; i < rows.length; i++) { | ||
type: 'inline', | ||
content: rows[i].trim(), | ||
content: rows[i] ? rows[i].trim() : '', | ||
level: state.level, | ||
@@ -152,0 +155,0 @@ children: [] |
{ | ||
"name": "markdown-it", | ||
"version": "3.0.6", | ||
"version": "3.0.7", | ||
"description": "Markdown-it - modern pluggable markdown parser.", | ||
@@ -22,2 +22,3 @@ "keywords": [ | ||
"main": "index.js", | ||
"bin": { "markdown-it": "bin/markdown-it.js" }, | ||
"scripts": { | ||
@@ -27,4 +28,5 @@ "test": "make test" | ||
"dependencies": { | ||
"argparse": "~ 0.1.16", | ||
"autolinker": "~ 0.15.2" | ||
"argparse": "~ 1.0.0", | ||
"autolinker": "~ 0.15.2", | ||
"uc.micro": "~ 0.1.0" | ||
}, | ||
@@ -31,0 +33,0 @@ "devDependencies": { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
551173
3
14776
+ Addeduc.micro@~ 0.1.0
+ Addedargparse@1.0.10(transitive)
+ Addedsprintf-js@1.0.3(transitive)
+ Addeduc.micro@0.1.0(transitive)
- Removedargparse@0.1.16(transitive)
- Removedunderscore@1.7.0(transitive)
- Removedunderscore.string@2.4.0(transitive)
Updatedargparse@~ 1.0.0