Files
developer-roadmap/scripts/lib/markdown.ts
T
Arik Chakma 274082fd77 feat: clean roadmap content and sync scripts (#10181)
* refactor: clean to roadmap content

* refactor: move shared helpers into scripts/lib
2026-07-28 05:45:17 +06:00

36 lines
828 B
TypeScript

// @ts-ignore
import MarkdownIt from 'markdown-it';
// replaces @variableName@ with the value of the variable
export function replaceVariables(
markdown: string,
variables: Record<string, string> = {},
): string {
const allVariables: Record<string, string> = {
...variables,
currentYear: new Date().getFullYear().toString(),
};
return markdown?.replace(/@([^@]+)@/g, (match, p1) => {
return allVariables[p1] || match;
});
}
const md = new MarkdownIt({
html: true,
linkify: true,
});
export function markdownToHtml(markdown: string, isInline = true): string {
try {
const replacedMarkdown = replaceVariables(markdown);
if (isInline) {
return md.renderInline(replacedMarkdown);
} else {
return md.render(replacedMarkdown);
}
} catch (e) {
return markdown;
}
}