// add image to array if src has an upload function addImage(images, token) { if (token.attrs) { for(let i=0; i 0) { let srcList = images.map(([token, srcIndex]) => token.attrs[srcIndex][1]); let lookup = state.md.options.discourse.lookupImageUrls; let longUrls = (lookup && lookup(srcList)) || {}; images.forEach(([token, srcIndex]) => { let origSrc = token.attrs[srcIndex][1]; let mapped = longUrls[origSrc]; if (mapped) { token.attrs[srcIndex][1] = mapped; } else { token.attrs[srcIndex][1] = state.md.options.discourse.getURL('/images/transparent.png'); token.attrs.push(['data-orig-src', origSrc]); } }); } } export function setup(helper) { helper.whiteList(['img[data-orig-src]']); helper.registerPlugin(md => { md.core.ruler.push('image-protocol', rule); }); }