This commit is contained in:
53
node_modules/mdast-util-gfm-table/from-markdown.js
generated
vendored
Normal file
53
node_modules/mdast-util-gfm-table/from-markdown.js
generated
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
exports.enter = {
|
||||
table: enterTable,
|
||||
tableData: enterCell,
|
||||
tableHeader: enterCell,
|
||||
tableRow: enterRow
|
||||
}
|
||||
exports.exit = {
|
||||
codeText: exitCodeText,
|
||||
table: exitTable,
|
||||
tableData: exit,
|
||||
tableHeader: exit,
|
||||
tableRow: exit
|
||||
}
|
||||
|
||||
function enterTable(token) {
|
||||
this.enter({type: 'table', align: token._align, children: []}, token)
|
||||
this.setData('inTable', true)
|
||||
}
|
||||
|
||||
function exitTable(token) {
|
||||
this.exit(token)
|
||||
this.setData('inTable')
|
||||
}
|
||||
|
||||
function enterRow(token) {
|
||||
this.enter({type: 'tableRow', children: []}, token)
|
||||
}
|
||||
|
||||
function exit(token) {
|
||||
this.exit(token)
|
||||
}
|
||||
|
||||
function enterCell(token) {
|
||||
this.enter({type: 'tableCell', children: []}, token)
|
||||
}
|
||||
|
||||
// Overwrite the default code text data handler to unescape escaped pipes when
|
||||
// they are in tables.
|
||||
function exitCodeText(token) {
|
||||
var value = this.resume()
|
||||
|
||||
if (this.getData('inTable')) {
|
||||
value = value.replace(/\\([\\|])/g, replace)
|
||||
}
|
||||
|
||||
this.stack[this.stack.length - 1].value = value
|
||||
this.exit(token)
|
||||
}
|
||||
|
||||
function replace($0, $1) {
|
||||
// Pipes work, backslashes don’t (but can’t escape pipes).
|
||||
return $1 === '|' ? $1 : $0
|
||||
}
|
||||
Reference in New Issue
Block a user