28 lines
722 B
TypeScript
28 lines
722 B
TypeScript
import MarkdownIt from "markdown-it";
|
|
const parser = new MarkdownIt();
|
|
|
|
export default function markdownToText(markdown: string): string {
|
|
if(!markdown) return ''
|
|
return parser
|
|
.render(markdown)
|
|
.split("\n")
|
|
.map((str) => str.trim())
|
|
.map((str) => {
|
|
return str.replace(/<\/?[^>]+(>|$)/g, "").split("\n");
|
|
})
|
|
.flat()
|
|
.filter((str) =>
|
|
!str.startsWith("import") &&
|
|
!str.startsWith("export") &&
|
|
!str.startsWith("#") &&
|
|
!str.startsWith("const") &&
|
|
!str.startsWith("function") &&
|
|
!str.startsWith("export") &&
|
|
!str.startsWith("import") &&
|
|
!str.startsWith("<") &&
|
|
!str.startsWith("let") &&
|
|
str.length > 0
|
|
)
|
|
.join(" ");
|
|
}
|