26 lines
690 B
TypeScript
26 lines
690 B
TypeScript
import MarkdownIt from 'markdown-it';
|
|
const parser = new MarkdownIt();
|
|
|
|
export default function markdownToText(markdown: string): string {
|
|
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(' ');
|
|
}
|