ts-markdown
Version:
An extensible TypeScript markdown generator that takes JSON and creates a markdown document.
35 lines (34 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sub = exports.subRenderer = void 0;
const rendering_1 = require("../rendering");
/**
* The renderer for subscript entries.
*
* @param entry The subscript entry.
* @param options Document-level render options.
* @returns Subscript markdown content.
*/
const subRenderer = (entry, options) => {
if ('sub' in entry) {
let useSubscriptHtml = entry.html ?? options.useSubscriptHtml ?? false;
let subscriptOpen = useSubscriptHtml ? '<sub>' : '~';
let subscriptClose = useSubscriptHtml ? '</sub>' : '~';
return `${subscriptOpen}${(0, rendering_1.getMarkdownString)(entry.sub, options)}${subscriptClose}`;
}
throw new Error('Entry is not a sub entry. Unable to render.');
};
exports.subRenderer = subRenderer;
/**
* Helper which creates a subscript text entry.
*
* @param options Entry-level options for this element.
* @returns a subscript text entry
*/
function sub(content, options) {
return {
sub: content,
...options,
};
}
exports.sub = sub;