UNPKG

@mintlify/scraping

Version:

Scrape documentation frameworks to Mintlify docs

29 lines (23 loc) 710 B
import type { Root as HastRoot } from 'hast'; import { EXIT, visit } from 'unist-util-visit'; import { downloadImage } from '../utils/images.js'; export async function downloadFavicon(hast: HastRoot): Promise<string> { let src: string = ''; visit(hast, 'element', function (node) { if ( node.tagName === 'link' && Array.isArray(node.properties.rel) && node.properties.rel.includes('icon') ) { src = node.properties.href as string; return EXIT; } }); if (!src) { return '/favicon.svg'; } const res = await downloadImage(src, process.cwd()); if (!res.success) return '/favicon.svg'; if (!res.data) return '/favicon.svg'; return res.data[1]; }