This commit is contained in:
18
node_modules/remark-stringify/lib/macro/all.js
generated
vendored
Normal file
18
node_modules/remark-stringify/lib/macro/all.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = all
|
||||
|
||||
// Visit all children of `parent`.
|
||||
function all(parent) {
|
||||
var self = this
|
||||
var children = parent.children
|
||||
var length = children.length
|
||||
var results = []
|
||||
var index = -1
|
||||
|
||||
while (++index < length) {
|
||||
results[index] = self.visit(children[index], parent)
|
||||
}
|
||||
|
||||
return results
|
||||
}
|
||||
54
node_modules/remark-stringify/lib/macro/block.js
generated
vendored
Normal file
54
node_modules/remark-stringify/lib/macro/block.js
generated
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = block
|
||||
|
||||
var lineFeed = '\n'
|
||||
|
||||
var blank = lineFeed + lineFeed
|
||||
var triple = blank + lineFeed
|
||||
var comment = blank + '<!---->' + blank
|
||||
|
||||
// Stringify a block node with block children (e.g., `root` or `blockquote`).
|
||||
// Knows about code following a list, or adjacent lists with similar bullets,
|
||||
// and places an extra line feed between them.
|
||||
function block(node) {
|
||||
var self = this
|
||||
var options = self.options
|
||||
var fences = options.fences
|
||||
var gap = options.commonmark ? comment : triple
|
||||
var values = []
|
||||
var children = node.children
|
||||
var length = children.length
|
||||
var index = -1
|
||||
var prev
|
||||
var child
|
||||
|
||||
while (++index < length) {
|
||||
prev = child
|
||||
child = children[index]
|
||||
|
||||
if (prev) {
|
||||
// A list preceding another list that are equally ordered, or a
|
||||
// list preceding an indented code block, need a gap between them,
|
||||
// so as not to see them as one list, or content of the list,
|
||||
// respectively.
|
||||
//
|
||||
// In commonmark, only something that breaks both up can do that,
|
||||
// so we opt for an empty, invisible comment. In other flavours,
|
||||
// two blank lines are fine.
|
||||
if (
|
||||
prev.type === 'list' &&
|
||||
((child.type === 'list' && prev.ordered === child.ordered) ||
|
||||
(child.type === 'code' && (!child.lang && !fences)))
|
||||
) {
|
||||
values.push(gap)
|
||||
} else {
|
||||
values.push(blank)
|
||||
}
|
||||
}
|
||||
|
||||
values.push(self.visit(child, node))
|
||||
}
|
||||
|
||||
return values.join('')
|
||||
}
|
||||
10
node_modules/remark-stringify/lib/macro/compile.js
generated
vendored
Normal file
10
node_modules/remark-stringify/lib/macro/compile.js
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
'use strict'
|
||||
|
||||
var compact = require('mdast-util-compact')
|
||||
|
||||
module.exports = compile
|
||||
|
||||
// Stringify the given tree.
|
||||
function compile() {
|
||||
return this.visit(compact(this.tree, this.options.commonmark))
|
||||
}
|
||||
20
node_modules/remark-stringify/lib/macro/one.js
generated
vendored
Normal file
20
node_modules/remark-stringify/lib/macro/one.js
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = one
|
||||
|
||||
function one(node, parent) {
|
||||
var self = this
|
||||
var visitors = self.visitors
|
||||
|
||||
// Fail on unknown nodes.
|
||||
if (typeof visitors[node.type] !== 'function') {
|
||||
self.file.fail(
|
||||
new Error(
|
||||
'Missing compiler for node of type `' + node.type + '`: `' + node + '`'
|
||||
),
|
||||
node
|
||||
)
|
||||
}
|
||||
|
||||
return visitors[node.type].call(self, node, parent)
|
||||
}
|
||||
43
node_modules/remark-stringify/lib/macro/ordered-items.js
generated
vendored
Normal file
43
node_modules/remark-stringify/lib/macro/ordered-items.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = orderedItems
|
||||
|
||||
var lineFeed = '\n'
|
||||
var dot = '.'
|
||||
|
||||
var blank = lineFeed + lineFeed
|
||||
|
||||
// Visit ordered list items.
|
||||
//
|
||||
// Starts the list with
|
||||
// `node.start` and increments each following list item
|
||||
// bullet by one:
|
||||
//
|
||||
// 2. foo
|
||||
// 3. bar
|
||||
//
|
||||
// In `incrementListMarker: false` mode, does not increment
|
||||
// each marker and stays on `node.start`:
|
||||
//
|
||||
// 1. foo
|
||||
// 1. bar
|
||||
function orderedItems(node) {
|
||||
var self = this
|
||||
var fn = self.visitors.listItem
|
||||
var increment = self.options.incrementListMarker
|
||||
var values = []
|
||||
var start = node.start
|
||||
var children = node.children
|
||||
var length = children.length
|
||||
var index = -1
|
||||
var bullet
|
||||
|
||||
start = start == null ? 1 : start
|
||||
|
||||
while (++index < length) {
|
||||
bullet = (increment ? start + index : start) + dot
|
||||
values[index] = fn.call(self, children[index], node, index, bullet)
|
||||
}
|
||||
|
||||
return values.join(node.spread ? blank : lineFeed)
|
||||
}
|
||||
24
node_modules/remark-stringify/lib/macro/unordered-items.js
generated
vendored
Normal file
24
node_modules/remark-stringify/lib/macro/unordered-items.js
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = unorderedItems
|
||||
|
||||
var lineFeed = '\n'
|
||||
|
||||
var blank = lineFeed + lineFeed
|
||||
|
||||
// Visit unordered list items. Uses `options.bullet` as each item’s bullet.
|
||||
function unorderedItems(node) {
|
||||
var self = this
|
||||
var bullet = self.options.bullet
|
||||
var fn = self.visitors.listItem
|
||||
var children = node.children
|
||||
var length = children.length
|
||||
var index = -1
|
||||
var values = []
|
||||
|
||||
while (++index < length) {
|
||||
values[index] = fn.call(self, children[index], node, index, bullet)
|
||||
}
|
||||
|
||||
return values.join(node.spread ? blank : lineFeed)
|
||||
}
|
||||
Reference in New Issue
Block a user