Теги <img/>
можно найти в свойстве htmlAst
узла.
Вот запрос graphql для получения htmlAst
:
{
allMarkdownRemark() {
edges {
node {
htmlAst
}
}
}
}
Эта функция спустится в html-дерево и найдет теги img
:
const imagesFromAst = htmlAst => {
const findImageTags = node => {
if (node.children) {
const myTags = node.children.filter(propEq("tagName", "img"))
const childrensTags = node.children.map(findImageTags)
return [...myTags, ...flatten(childrensTags)]
} else {
return []
}
}
return findImageTags(htmlAst)
}