This commit is contained in:
38
node_modules/mdast-util-to-markdown/lib/handle/link-reference.js
generated
vendored
Normal file
38
node_modules/mdast-util-to-markdown/lib/handle/link-reference.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
module.exports = linkReference
|
||||
linkReference.peek = linkReferencePeek
|
||||
|
||||
var association = require('../util/association')
|
||||
var phrasing = require('../util/container-phrasing')
|
||||
var safe = require('../util/safe')
|
||||
|
||||
function linkReference(node, _, context) {
|
||||
var type = node.referenceType
|
||||
var exit = context.enter('linkReference')
|
||||
var subexit = context.enter('label')
|
||||
var text = phrasing(node, context, {before: '[', after: ']'})
|
||||
var value = '[' + text + ']'
|
||||
var reference
|
||||
var stack
|
||||
|
||||
subexit()
|
||||
// Hide the fact that we’re in phrasing, because escapes don’t work.
|
||||
stack = context.stack
|
||||
context.stack = []
|
||||
subexit = context.enter('reference')
|
||||
reference = safe(context, association(node), {before: '[', after: ']'})
|
||||
subexit()
|
||||
context.stack = stack
|
||||
exit()
|
||||
|
||||
if (type === 'full' || !text || text !== reference) {
|
||||
value += '[' + reference + ']'
|
||||
} else if (type !== 'shortcut') {
|
||||
value += '[]'
|
||||
}
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
function linkReferencePeek() {
|
||||
return '['
|
||||
}
|
||||
Reference in New Issue
Block a user