diff --git a/packages/docusaurus-1.x/lib/server/__tests__/utils.test.js b/packages/docusaurus-1.x/lib/server/__tests__/utils.test.js index 09f67d62ac..5a8de6bfb9 100644 --- a/packages/docusaurus-1.x/lib/server/__tests__/utils.test.js +++ b/packages/docusaurus-1.x/lib/server/__tests__/utils.test.js @@ -91,4 +91,20 @@ describe('server utils', () => { expect(utils.getSubDir(docE, docsDir)).toBeNull(); expect(utils.getSubDir(docE, translatedDir)).toEqual('lol/lah'); }); + + describe('replaceAssetsLink', () => { + test('verifies asset link is replaced after code block', () => { + const content = '```Some block```\n![alt](assets/my.png) more text'; + const link = utils.replaceAssetsLink(content, 'thelocation'); + expect(link).toBe( + '```Some block```\n![alt](thelocation/assets/my.png) more text', + ); + }); + + test('verifies asset link is not replaced inside a fenced code block', () => { + const content = '```\n![alt](assets/my.png)\n```'; + const link = utils.replaceAssetsLink(content, 'thelocation'); + expect(link).toBe('```\n![alt](assets/my.png)\n```'); + }); + }); }); diff --git a/packages/docusaurus-1.x/lib/server/utils.js b/packages/docusaurus-1.x/lib/server/utils.js index e48c08b0ec..f31eeb261a 100644 --- a/packages/docusaurus-1.x/lib/server/utils.js +++ b/packages/docusaurus-1.x/lib/server/utils.js @@ -69,7 +69,7 @@ function autoPrefixCss(cssContent) { function replaceAssetsLink(oldContent, location) { let fencedBlock = false; const lines = oldContent.split('\n').map((line) => { - if (line.trim().startsWith('```')) { + if (line.trim().startsWith('```') && line.match(/`/g).length === 3) { fencedBlock = !fencedBlock; } return fencedBlock