diff --git a/packages/cli/src/transforms/transform.md.js b/packages/cli/src/transforms/transform.md.js index 5c8f8003f..06a7a2e51 100644 --- a/packages/cli/src/transforms/transform.md.js +++ b/packages/cli/src/transforms/transform.md.js @@ -26,7 +26,7 @@ class MDTransform extends TransformInterface { ? `${workspace}/pages${url}index` : `${workspace}/pages${url.replace('.html', '')}`; - return fs.existsSync(`${barePath}.md`) || fs.existsSync(`${barePath.replace('/index', '.md')}`); + return fs.existsSync(`${barePath}.md`) || fs.existsSync(`${barePath.substring(0, barePath.lastIndexOf('/index'))}.md`); } async applyTransform() { @@ -43,11 +43,10 @@ class MDTransform extends TransformInterface { : `${workspace}/pages${url.replace('.html', '')}`; // TODO all this lookup could probably be handled a bit more gracefully perhaps? - // console.debug('this route exists as markdown'); const markdownPath = fs.existsSync(`${barePath}.md`) ? `${barePath}.md` - : fs.existsSync(`${barePath.replace('/index', '.md')}`) - ? `${barePath.replace('/index', '.md')}` + : fs.existsSync(`${barePath.substring(0, barePath.lastIndexOf('/index'))}.md`) + ? `${barePath.substring(0, barePath.lastIndexOf('/index'))}.md` : `${workspace}/pages${url.replace('/index.html', '.md')}`; const markdownContents = await fsp.readFile(markdownPath, 'utf-8'); const rehypePlugins = []; diff --git a/packages/cli/test/cases/build.default.workspace-user-directory-mapping/build.default.workspace-user-directory-mapping.spec.js b/packages/cli/test/cases/build.default.workspace-user-directory-mapping/build.default.workspace-user-directory-mapping.spec.js index 54ff76042..2a6f04386 100644 --- a/packages/cli/test/cases/build.default.workspace-user-directory-mapping/build.default.workspace-user-directory-mapping.spec.js +++ b/packages/cli/test/cases/build.default.workspace-user-directory-mapping/build.default.workspace-user-directory-mapping.spec.js @@ -18,12 +18,15 @@ * header/ * header.js * pages/ - * about.md + * plugins/ + * index-hooks.md + * index.md * index.md + * pages.md * services/ - * components.js * pages/ * pages.js + * components.js * templates/ * page.html */ @@ -158,8 +161,7 @@ describe('Build Greenwood With: ', function() { expect(p.textContent).to.be.equal('Lorum Ipsum'); }); - // TODO - https://github.com/ProjectEvergreen/greenwood/issues/456 - xit('should have the expected content in the of the plugins hook index.html with index in the route name', function() { + it('should have the expected content in the of the plugins hook index.html with index in the route name', function() { const h2 = pluginHooksIndexPageDom.window.document.querySelector('body h2'); const p = pluginHooksIndexPageDom.window.document.querySelector('body p');