UNPKG

ts-markdown

Version:

An extensible TypeScript markdown generator that takes JSON and creates a markdown document.

42 lines (41 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.h1 = exports.h1Renderer = void 0; const rendering_1 = require("../rendering"); const header_1 = require("./header"); /** * The renderer for h1 entries. * * @param entry The h1 entry. * @param options Document-level render options. * @returns Block-level h1 markdown content. */ const h1Renderer = (entry, options) => { if ('h1' in entry) { let useUnderlining = entry.underline ?? options.useH1Underlining; let header1IndicatorPrefix = useUnderlining ? '' : '# '; let headerText = `${header1IndicatorPrefix}${(0, rendering_1.getMarkdownString)(entry.h1, options)}${(0, header_1.getOptionalHeaderIdText)(entry.id, ' ')}`; if (useUnderlining) { headerText += '\n' + ''.padEnd(headerText.length, '='); } return { markdown: headerText, blockLevel: true, }; } throw new Error('Entry is not an h1 entry. Unable to render.'); }; exports.h1Renderer = h1Renderer; /** * Helper which creates a first-level header entry. * * @param options Entry-level options for this element. * @returns a first-level header entry */ function h1(content, options) { return { h1: content, ...options, }; } exports.h1 = h1;