Sha256: dcb394ed90e11e4717be11f2ae3dc27e3836eb23e5706e4678b0b1774a751d29
Contents?: true
Size: 1.4 KB
Versions: 1
Compression:
Stored size: 1.4 KB
Contents
module.exports = code var repeat = require('repeat-string') var streak = require('longest-streak') var formatCodeAsIndented = require('../util/format-code-as-indented') var checkFence = require('../util/check-fence') var indentLines = require('../util/indent-lines') var safe = require('../util/safe') function code(node, _, context) { var marker = checkFence(context) var raw = node.value || '' var suffix = marker === '`' ? 'GraveAccent' : 'Tilde' var value var sequence var exit var subexit if (formatCodeAsIndented(node, context)) { exit = context.enter('codeIndented') value = indentLines(raw, map) } else { sequence = repeat(marker, Math.max(streak(raw, marker) + 1, 3)) exit = context.enter('codeFenced') value = sequence if (node.lang) { subexit = context.enter('codeFencedLang' + suffix) value += safe(context, node.lang, { before: '`', after: ' ', encode: ['`'] }) subexit() } if (node.lang && node.meta) { subexit = context.enter('codeFencedMeta' + suffix) value += ' ' + safe(context, node.meta, { before: ' ', after: '\n', encode: ['`'] }) subexit() } value += '\n' if (raw) { value += raw + '\n' } value += sequence } exit() return value } function map(line, _, blank) { return (blank ? '' : ' ') + line }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
trusty-cms-6.3.1 | node_modules/mdast-util-to-markdown/lib/handle/code.js |