


Put the gatsby-remark-images plugin within the plugins option field of gatsby-transformer-remark. Here is a similar example using the gatsby-transformer-remark plugin instead of gatsby-plugin-mdx. Check out the section on configuring for different directories for additional help. Note: This example configuration assumes your images and Markdown pages are sourced from the same directory. Gatsby-source-filesystem needs to be pointed at wherever you have your images on disk. gatsby-plugin-sharp can be included on its own. Gatsby-remark-images needs to be both a sub-plugin of gatsby-plugin-mdx, included in the options field, and a string entry in the plugins array. The below example uses the gatsby-plugin-mdx plugin. As with the previous example, either Remark or MDX can be used. Start out by installing gatsby-remark-images and gatsby-plugin-sharp.Īlso make sure that gatsby-source-filesystem is installed and points at the directory where your images are located.Ĭonfigure the plugins in your gatsby-config file. The plugin gatsby-remark-images comes in handy for this. You may also include images in the Markdown body itself. Tada! Inline images with gatsby-remark-images Your featured image should now appear on the generated page right below the main header. In this example, a Fluid query is used to make a responsive image.Īlso in the Markdown post template, import the gatsby-image package and pass the results of the GraphQL query into an component. This can be added to the GraphQL query in a Markdown template file. If a filepath points to an actual image, it will be transformed into a File node in GraphQL and then you can get the image data out of it by using the childImageSharp field. Now that you’ve sourced Markdown and image data, you can query for featured images in GraphQL. Then, in a Markdown file, the path to a featuredImage would be relative to the page file (in this case, in an /images directory up a level): Querying for images from Frontmatter You can set this up by specifying two distinct sources, one for the pages and the other for images: There are also occasions when you may want to source images from a different directory than where your Markdown posts or pages are located, such as in an external /images folder. Configuring for images and posts in different directories The next step will be to incorporate the data into a template with a GraphQL query, which can be found later in this guide. Then, in an example Markdown file, add a field called featuredImage: For example, if your Markdown pages and images are located together in a /pages directory, both content types will be automatically picked up by GraphQL as part of Gatsby’s data layer. If your images are in the same directory as the Markdown files, sourcing and resolving the images can be done in one configuration. Configuring for images and posts in the same directory Then, configure the various plugins in the gatsby-config file.

You will also want to have gatsby-source-filesystem installed.
#MARKDOWN IMAGE DOWNLOAD#
To start out, download the plugins for Gatsby-image as mentioned in Using gatsby-image. Instead of the markdownRemark nodes in GraphQL, Mdx can be swapped in and should work.

Note: This can be done similarly using MDX as well. This will build upon the tutorial and as such, gatsby-transformer-remark will be used for this example. If not, take a read through up to Part 7 of the Gatsby Tutorial. This solution assumes you already have programmatically generated pages from Markdown with renderers like gatsby-transformer-remark or gatsby-plugin-mdx. One way to do this is to grab the image filename from a frontmatter field and then transform it with gatsby-plugin-sharp in a GraphQL query. In sites like a blog, you may want to include a featured image that appears at the top of a page. Featured images with Frontmatter metadata When building Gatsby sites composed primarily of Markdown pages or posts, insertion of images can enhance the content.
