summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/markdown.ts21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/utils/markdown.ts b/src/utils/markdown.ts
index 946d8d8..eaac6e7 100644
--- a/src/utils/markdown.ts
+++ b/src/utils/markdown.ts
@@ -1,11 +1,16 @@
-import { marked } from "marked";
-
-marked.setOptions({
- breaks: true,
- gfm: true,
-});
+import rehypeStringify from "rehype-stringify";
+import remarkParse from "remark-parse";
+import remarkRehype from "remark-rehype";
+import { unified } from "unified";
+import { rehypeImageCaptions } from "@/plugins/rehype-image-captions";
export function markdownToHtml(markdown: string): string {
- const html = marked.parse(markdown);
- return typeof html === "string" ? html : "";
+ const result = unified()
+ .use(remarkParse)
+ .use(remarkRehype, { allowDangerousHtml: true })
+ .use(rehypeImageCaptions)
+ .use(rehypeStringify, { allowDangerousHtml: true })
+ .processSync(markdown);
+
+ return String(result);
}