Files
jinshen-website/app/utils/markdown.ts
R2m1liA 359aaec8a9 style: 格式化项目代码
- 根据prettier配置格式化整个项目的代码
2025-09-17 15:50:29 +08:00

35 lines
817 B
TypeScript

import MarkdownIt from 'markdown-it';
const md = new MarkdownIt({
html: true,
linkify: true,
typographer: true,
breaks: true,
});
export function renderMarkdown(content: string): string {
const dirtyHtml = md.render(content);
if (typeof window !== 'undefined') {
import('dompurify').then((DOMPurify) => {
return DOMPurify.default.sanitize(dirtyHtml);
});
}
return dirtyHtml;
}
export function convertMedia(content: string): string {
// 通过正则表达式替换Markdown中的图片链接
// ![alt text](image-url) -> ![alt text](strapiMedia(image-url))
if (!content) return '';
const contentWithAbsoluteUrls = content.replace(
/!\[([^\]]*)\]\((\/uploads\/[^)]+)\)/g,
(_, alt, url) => `![${alt}](${useStrapiMedia(url)})`
);
return contentWithAbsoluteUrls;
}