1import { parseMarkdownDocument, type MarkdownNode } from "./markdownDocument";
2
3export function markdownImageSources(markdown: string): string[] {
4 if (!markdown.includes("![") && !/<img[\s>]/i.test(markdown)) return [];
5 const sources = new Set<string>();
6 const visit = (node: MarkdownNode) => {
7 if (node.type === "image") sources.add(node.url);
8 if ("children" in node) node.children.forEach(visit);
9 };
10 visit(parseMarkdownDocument(markdown));
11 return [...sources];
12}