This commit is contained in:
53
node_modules/mdast-util-to-hast/lib/handlers/table.js
generated
vendored
Normal file
53
node_modules/mdast-util-to-hast/lib/handlers/table.js
generated
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = table
|
||||
|
||||
var position = require('unist-util-position')
|
||||
var wrap = require('../wrap')
|
||||
var all = require('../all')
|
||||
|
||||
function table(h, node) {
|
||||
var rows = node.children
|
||||
var index = rows.length
|
||||
var align = node.align
|
||||
var alignLength = align.length
|
||||
var result = []
|
||||
var pos
|
||||
var row
|
||||
var out
|
||||
var name
|
||||
var cell
|
||||
|
||||
while (index--) {
|
||||
row = rows[index].children
|
||||
name = index === 0 ? 'th' : 'td'
|
||||
pos = alignLength
|
||||
out = []
|
||||
|
||||
while (pos--) {
|
||||
cell = row[pos]
|
||||
out[pos] = h(cell, name, {align: align[pos]}, cell ? all(h, cell) : [])
|
||||
}
|
||||
|
||||
result[index] = h(rows[index], 'tr', wrap(out, true))
|
||||
}
|
||||
|
||||
return h(
|
||||
node,
|
||||
'table',
|
||||
wrap(
|
||||
[
|
||||
h(result[0].position, 'thead', wrap([result[0]], true)),
|
||||
h(
|
||||
{
|
||||
start: position.start(result[1]),
|
||||
end: position.end(result[result.length - 1])
|
||||
},
|
||||
'tbody',
|
||||
wrap(result.slice(1), true)
|
||||
)
|
||||
],
|
||||
true
|
||||
)
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user