el-beeswarm
Version:
<div style="display: flex; padding: 1rem; flex-direction: column; align-items: center; justify-content: center; height: 100vh; text-align: center; display: flex;
47 lines (38 loc) • 1.16 kB
JavaScript
module.exports = definition
var association = require('../util/association')
var checkQuote = require('../util/check-quote')
var safe = require('../util/safe')
function definition(node, _, context) {
var marker = checkQuote(context)
var suffix = marker === '"' ? 'Quote' : 'Apostrophe'
var exit = context.enter('definition')
var subexit = context.enter('label')
var value =
'[' + safe(context, association(node), {before: '[', after: ']'}) + ']: '
subexit()
if (
// If there’s no url, or…
!node.url ||
// If there’s whitespace, enclosed is prettier.
/[ \t\r\n]/.test(node.url)
) {
subexit = context.enter('destinationLiteral')
value += '<' + safe(context, node.url, {before: '<', after: '>'}) + '>'
} else {
// No whitespace, raw is prettier.
subexit = context.enter('destinationRaw')
value += safe(context, node.url, {before: ' ', after: ' '})
}
subexit()
if (node.title) {
subexit = context.enter('title' + suffix)
value +=
' ' +
marker +
safe(context, node.title, {before: marker, after: marker}) +
marker
subexit()
}
exit()
return value
}