| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- '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
- )
- )
- }
|