UNPKG

webforai

Version:

A library that provides a web interface for AI

23 lines (22 loc) 781 B
// src/mdast-to-markdown.ts import { gfmToMarkdown } from "mdast-util-gfm"; import { mathToMarkdown } from "mdast-util-math"; import { toMarkdown } from "mdast-util-to-markdown"; import { linkReplacer } from "./link-replacer.js"; import { warpRoot } from "./utils/mdast-utils.js"; var DEFAULT_MDAST_TO_MARKDOWN_OPTIONS = { extensions: [gfmToMarkdown(), mathToMarkdown()], bullet: "-" }; var mdastToMarkdown = (mdast, options) => { const { baseUrl, ...toMarkdownOptions } = { ...DEFAULT_MDAST_TO_MARKDOWN_OPTIONS, ...options }; let markdown = toMarkdown(warpRoot(mdast), toMarkdownOptions).replace(/\*\*\*\*/g, ""); if (baseUrl) { markdown = linkReplacer(markdown, baseUrl); } return markdown; }; export { DEFAULT_MDAST_TO_MARKDOWN_OPTIONS, mdastToMarkdown };