diff --git a/packages/gatsby-transformer-remark/src/__tests__/__snapshots__/extend-node.js.snap b/packages/gatsby-transformer-remark/src/__tests__/__snapshots__/extend-node.js.snap index ea0037d98fb71..4372b594b1f07 100644 --- a/packages/gatsby-transformer-remark/src/__tests__/__snapshots__/extend-node.js.snap +++ b/packages/gatsby-transformer-remark/src/__tests__/__snapshots__/extend-node.js.snap @@ -55,6 +55,13 @@ Object { } `; +exports[`Links are correctly prefixed correctly prefixes links 1`] = ` +Object { + "html": "

This is a link.

+

This is a reference

", +} +`; + exports[`Table of contents is generated correctly from schema correctly generates table of contents 1`] = ` Object { "frontmatter": Object { diff --git a/packages/gatsby-transformer-remark/src/__tests__/extend-node.js b/packages/gatsby-transformer-remark/src/__tests__/extend-node.js index b338fe24fce7b..51fcb01df9803 100644 --- a/packages/gatsby-transformer-remark/src/__tests__/extend-node.js +++ b/packages/gatsby-transformer-remark/src/__tests__/extend-node.js @@ -11,7 +11,7 @@ const { const extendNodeType = require(`../extend-node-type`) // given a set of nodes and a query, return the result of the query -async function queryResult(nodes, fragment, { types = [] } = {}) { +async function queryResult(nodes, fragment, { types = [] } = {}, additionalParameters) { const inferredFields = inferObjectStructureFromNodes({ nodes, types: [...types], @@ -24,6 +24,7 @@ async function queryResult(nodes, fragment, { types = [] } = {}) { set: () => null, }, getNodes: () => [], + ...additionalParameters, }, { plugins: [], @@ -89,7 +90,8 @@ const bootstrapTest = (label, content, query, test, additionalParameters = {}) = query, { types: [{ name: `MarkdownRemark` }], - } + }, + additionalParameters ).then(result => { try { test(result.data.listNode[0]) @@ -348,7 +350,27 @@ final text frontmatter { title }`, + (node) => { + expect(node).toMatchSnapshot() + }) +}) + +describe(`Links are correctly prefixed`, () => { + bootstrapTest( + `correctly prefixes links`, + ` +This is [a link](/path/to/page1). + +This is [a reference] + +[a reference]: /path/to/page2 +`, + `html`, (node) => { expect(node).toMatchSnapshot() - }) - }) + expect(node.html).toMatch(``) + expect(node.html).toMatch(``) + }, + { pathPrefix: `/prefix` } + ) +}) diff --git a/packages/gatsby-transformer-remark/src/extend-node-type.js b/packages/gatsby-transformer-remark/src/extend-node-type.js index e2b1eb0fea9eb..fe95b3fd7bc48 100644 --- a/packages/gatsby-transformer-remark/src/extend-node-type.js +++ b/packages/gatsby-transformer-remark/src/extend-node-type.js @@ -138,7 +138,7 @@ module.exports = ( if (pathPrefix) { // Ensure relative links include `pathPrefix` - visit(markdownAST, `link`, node => { + visit(markdownAST, [`link`, `definition`], node => { if ( node.url && node.url.startsWith(`/`) &&