function resolveHtmlImage (tokens, idx) {
let content = tokens[idx].content || ''
content = content.replace(/]*?)src\s*=\s*(["'])([^\2>]+?)\2([^>]*)>/gm, (m, g1, g2, g3, g4) => {
if (/^(http|\/\/|data:)/.test(g3)) {
return m
}
return ``
})
return content
}
function resolveImage (tokens, idx) {
const src = tokens[idx].attrs[0][1]
const alt = tokens[idx].content
const resAttrs = tokens[idx].attrs.slice(2).reduce((pre, cur) => `${pre} ${cur[0]}=${cur[1]}`, '')
if (/^(http|\/\/|data:)/.test(src)) {
return ``
}
return ``
}
export default function localImage (md) {
md.renderer.rules.image = resolveImage
md.renderer.rules.html_block = resolveHtmlImage
md.renderer.rules.html_inline = resolveHtmlImage
}