25 lines
752 B
TypeScript
25 lines
752 B
TypeScript
import { createMarkdownParser } from "@nuxtjs/mdc/runtime/parser/index";
|
|
import RemarkBreaks from "remark-breaks";
|
|
import RemarkOfm from "remark-ofm";
|
|
|
|
export default function useMarkdown(): Awaited<ReturnType<typeof createMarkdownParser>>
|
|
{
|
|
let parser: Awaited<ReturnType<typeof createMarkdownParser>>
|
|
|
|
const parse = async (markdown: string) => {
|
|
if (!parser)
|
|
{
|
|
parser = await createMarkdownParser({
|
|
remark: {
|
|
plugins: {
|
|
'remark-breaks': { instance: RemarkBreaks },
|
|
'remark-ofm': { instance: RemarkOfm }
|
|
}
|
|
},
|
|
});
|
|
}
|
|
return parser(markdown);
|
|
}
|
|
|
|
return parse;
|
|
} |