I'm using the following GatsbyJS starter: https://www.gatsbyjs.com/starters/jannikbuschke/gatsby-antd-docs/
I'm trying to render an image in a markdown file like so:
![US Energy Infrastructure Visualization](/src/images/us-viz.png)
The markdown file is located at contents/docs/templates/use-cases/us-energy-infrastructure.md
The image is located at src/images/us-viz.png
The console and network tabs show a 404 error for the requested image file:
This is the contents of my gatsby-config.js
file:
module.exports = {
siteMetadata: {
title: 'Energy Infrastructure API Documentation',
},
plugins: [
`gatsby-plugin-typescript`,
`gatsby-plugin-react-helmet`,
{
resolve: `gatsby-source-filesystem`,
options: {
name: `images`,
path: `${__dirname}/src/images`,
},
},
`gatsby-transformer-json`,
{
resolve: `gatsby-source-filesystem`,
options: {
name: `menuItems`,
path: `${__dirname}/src/menuItems`,
},
},
{
resolve: `gatsby-source-filesystem`,
options: {
name: `sidebar`,
path: `${__dirname}/src/sidebar`,
},
},
{
resolve: `gatsby-source-filesystem`,
options: {
name: `contents`,
path: `${__dirname}/contents`,
},
},
`gatsby-plugin-image`,
`gatsby-transformer-sharp`,
`gatsby-plugin-sharp`,
{
resolve: `gatsby-plugin-manifest`,
options: {
name: 'gatsby-starter-markdown',
short_name: 'starter',
start_url: '/',
background_color: '#663399',
theme_color: '#663399',
display: 'minimal-ui',
icon: 'src/images/gatsby-icon.png', // This path is relative to the root of the site.
},
},
{
resolve: `gatsby-transformer-remark`,
options: {
plugins: [`gatsby-remark-images`],
},
},
{
resolve: `gatsby-plugin-mdx`,
options: {
defaultLayouts: {
default: require.resolve('./src/Layout.tsx'),
},
extensions: ['.mdx', '.md'],
// workaround: https://github.com/gatsbyjs/gatsby/issues/16422#issuecomment-518985316
plugins: [`gatsby-remark-autolink-headers`],
gatsbyRemarkPlugins: [
`gatsby-remark-katex`,
{
resolve: `gatsby-remark-images`,
options: {
maxWidth: 1035,
},
},
`gatsby-remark-autolink-headers`,
{
resolve: `gatsby-remark-prismjs`,
options: {
classPrefix: 'language-',
inlineCodeMarker: null,
showLineNumbers: true,
noInlineHighlight: false,
},
},
],
},
},
`gatsby-plugin-remove-trailing-slashes`,
// this (optional) plugin enables Progressive Web App + Offline functionality
// To learn more, visit: https://gatsby.app/offline
// 'gatsby-plugin-offline',
],
/// this must match the path your webpage is displayed from (the second part of the ternary will be the path prefix for production)
pathPrefix: process.env.NODE_ENV === 'development' ? '' : '',
}
It appears to meet the necessary requirements for using the Transformer Remark plugin as specified in the Gatsby docs
As far as I can tell the method I'm using for inserting the image into my markdown file should work, I'm not sure what's going on here. Any advice is greatly appreciated!
From gatsby-remark-images plugin documentation:
You can reference an image in markdown using the relative path, where that path is relative to the location of the Markdown file you’re typing in.
gatsby-remark-images documentation
So if your markdown path is:
contents/docs/template/use-cases/us-energy-infrastructure.md
And your image location is:
src/images/us-viz.png
You should reference your image file from markdown like so:
![Alt text here](../../../../src/images/us-viz.png)