blob: 942457b96648ae3f457f38b915ffc5ce74eb766a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import { memoize } from 'lodash';
export default ({ renderMarkdown }) => ({
resolveUrl: memoize(async (canonicalSrc) => {
const html = await renderMarkdown(`[link](${canonicalSrc})`);
if (!html) return canonicalSrc;
const parser = new DOMParser();
const { body } = parser.parseFromString(html, 'text/html');
return body.querySelector('a').getAttribute('href');
}),
});
|