将相邻图像与降价关联

时间:2018-12-31 12:20:35

标签: gatsby

我具有以下文件夹结构:

  • 帖子
    • 2018
    • 文件夹
      • index.md
      • 索引。(png | jpg | webp)

因此每个帖子都有一个英雄形象。在我的gatsby节点中,我在每个图像上创建一个字段postSlug,如下所示:

if (node.internal.type === 'ImageSharp') {
        const relativeFilePath = createFilePath({
            node,
            getNode,
            basePath: 'pages',
        })

        const isPostImage = isFilePost(relativeFilePath)

        if (isPostImage) {
            createNodeField({
                node,
                name: 'postSlug',
                value: relativeFilePath,
            })
        }
    }

对于每个页面,在createPages动作中,我将此this传递到上下文中,在模板中,我根据上下文中的该this查询图像:

export const query = graphql`
    query PostTemplateQuery($slug: String!) {
        imageSharp(fields: { postSlug: { eq: $slug } }) {
            fluid(maxWidth: 1024) {
                ...GatsbyImageSharpFluid_noBase64
            }
        }
    }
`

这一切都可行,但是有没有更简单的方法将相邻图像与Markdown关联起来?

0 个答案:

没有答案