webforai
Version:
A library that provides a web interface for AI
23 lines (22 loc) • 781 B
JavaScript
// 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
};