copy table rules to nptables
This commit is contained in:
parent
11a035e698
commit
cbcda26637
26
src/rules.js
26
src/rules.js
@ -93,22 +93,38 @@ block.normal = merge({}, block);
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
block.gfm = merge({}, block.normal, {
|
block.gfm = merge({}, block.normal, {
|
||||||
nptable: /^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,
|
nptable: '^ *([^|\\n ].*\\|.*)\\n' // Header
|
||||||
|
+ ' *([-:]+ *\\|[-| :]*)' // Align
|
||||||
|
+ '(?:\\n((?:(?!\\n|hr|heading|lheading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)', // Cells
|
||||||
table: '^ *\\|(.+)\\n' // Header
|
table: '^ *\\|(.+)\\n' // Header
|
||||||
+ ' *\\|?( *[-:]+[-| :]*)' // Align
|
+ ' *\\|?( *[-:]+[-| :]*)' // Align
|
||||||
+ '(?:\\n((?:(?!^|>|\\n| |hr|heading|lheading|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells
|
+ '(?:\\n *((?:(?!\\n|hr|heading|lheading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells
|
||||||
});
|
});
|
||||||
|
|
||||||
block.gfm.table = edit(block.gfm.table)
|
block.gfm.nptable = edit(block.gfm.nptable)
|
||||||
.replace('hr', block.hr)
|
.replace('hr', block.hr)
|
||||||
.replace('heading', ' {0,3}#{1,6} ')
|
.replace('heading', ' {0,3}#{1,6} ')
|
||||||
.replace('lheading', '([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)')
|
// .replace('lheading', '([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)')
|
||||||
|
.replace('|lheading', '') // setex headings don't interrupt gfm tables
|
||||||
.replace('blockquote', ' {0,3}>')
|
.replace('blockquote', ' {0,3}>')
|
||||||
.replace('code', ' {4}[^\\n]')
|
.replace('code', ' {4}[^\\n]')
|
||||||
.replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n')
|
.replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n')
|
||||||
.replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
|
.replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
|
||||||
.replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)')
|
.replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)')
|
||||||
.replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
|
.replace('tag', block._tag) // tables can be interrupted by type (6) html blocks
|
||||||
|
.getRegex();
|
||||||
|
|
||||||
|
block.gfm.table = edit(block.gfm.table)
|
||||||
|
.replace('hr', block.hr)
|
||||||
|
.replace('heading', ' {0,3}#{1,6} ')
|
||||||
|
// .replace('lheading', '([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)')
|
||||||
|
.replace('|lheading', '') // setex headings don't interrupt gfm tables
|
||||||
|
.replace('blockquote', ' {0,3}>')
|
||||||
|
.replace('code', ' {4}[^\\n]')
|
||||||
|
.replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n')
|
||||||
|
.replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
|
||||||
|
.replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)')
|
||||||
|
.replace('tag', block._tag) // tables can be interrupted by type (6) html blocks
|
||||||
.getRegex();
|
.getRegex();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user