fumadocs-typescript
Version:
Typescript Integration for Fumadocs
87 lines (84 loc) • 2.56 kB
JavaScript
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && __getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(source)) {
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
target[prop] = source[prop];
}
return target;
};
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
// src/markdown.ts
import { remark } from "remark";
import {
rehypeCode,
remarkGfm
} from "fumadocs-core/mdx-plugins";
import remarkRehype from "remark-rehype";
var processor = remark().use(remarkGfm).use(remarkRehype).use(rehypeCode, {
lazy: true,
themes: {
light: "github-light",
dark: "github-dark"
}
}).use(() => {
return (tree, file) => {
file.data.tree = tree;
return "";
};
});
function renderMarkdownToHast(md) {
return __async(this, null, function* () {
md = md.replace(new RegExp("{@link (?<link>[^}]*)}", "g"), "$1");
const out = yield processor.process(md);
return out.data.tree;
});
}
export {
__spreadValues,
__spreadProps,
__objRest,
__async,
renderMarkdownToHast
};