| module.exports = imageReference |
| imageReference.peek = imageReferencePeek |
| |
| var association = require('../util/association') |
| var safe = require('../util/safe') |
| |
| function imageReference(node, _, context) { |
| var type = node.referenceType |
| var exit = context.enter('imageReference') |
| var subexit = context.enter('label') |
| var alt = safe(context, node.alt, {before: '[', after: ']'}) |
| var value = '![' + alt + ']' |
| 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' || !alt || alt !== reference) { |
| value += '[' + reference + ']' |
| } else if (type !== 'shortcut') { |
| value += '[]' |
| } |
| |
| return value |
| } |
| |
| function imageReferencePeek() { |
| return '!' |
| } |