Files
docs.nestjs.com/tools/transforms/content-package/services/renderNestJSMarkdown.ts
2024-10-18 09:22:15 +02:00

30 lines
885 B
TypeScript

import * as marked from 'marked';
import {
applyTableRenderer,
applyCodeRenderer,
applyBlockQuoteRenderer,
applyHeadingRenderer,
applyLinkRenderer,
} from './renderer';
import { wrapRendererWithEscapeAts } from './renderer/wrap-renderer-with-escape-ats';
export type RenderNestJSMarkdown = (content: string) => string;
export function renderNestJSMarkdown() {
const renderer = new marked.Renderer();
wrapRendererWithEscapeAts(renderer, 'paragraph');
wrapRendererWithEscapeAts(renderer, 'strong');
wrapRendererWithEscapeAts(renderer, 'em');
wrapRendererWithEscapeAts(renderer, 'html');
wrapRendererWithEscapeAts(renderer, 'link');
applyTableRenderer(renderer);
applyCodeRenderer(renderer);
applyLinkRenderer(renderer);
applyHeadingRenderer(renderer);
applyBlockQuoteRenderer(renderer);
return (content: string) => marked(content, { renderer });
}