diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/__fixtures__/simple-site/docs/ipsum.md b/packages/docusaurus-plugin-content-docs/src/__tests__/__fixtures__/simple-site/docs/ipsum.md new file mode 100644 index 0000000000..706687dbc5 --- /dev/null +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/__fixtures__/simple-site/docs/ipsum.md @@ -0,0 +1,5 @@ +--- +custom_edit_url: null +--- + +Lorem ipsum. diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/__snapshots__/index.test.ts.snap b/packages/docusaurus-plugin-content-docs/src/__tests__/__snapshots__/index.test.ts.snap index 2631d08d1a..11d22b0c99 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/__snapshots__/index.test.ts.snap +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/__snapshots__/index.test.ts.snap @@ -84,6 +84,14 @@ Array [ }, "path": "/docs/hello", }, + Object { + "component": "@theme/DocItem", + "exact": true, + "modules": Object { + "content": "@site/docs/ipsum.md", + }, + "path": "/docs/ipsum", + }, Object { "component": "@theme/DocItem", "exact": true, diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/metadata.test.ts b/packages/docusaurus-plugin-content-docs/src/__tests__/metadata.test.ts index 71c0c22ec8..73bf13eb6d 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/metadata.test.ts +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/metadata.test.ts @@ -143,6 +143,34 @@ describe('simple site', () => { }); }); + test('docs with null custom_edit_url', async () => { + const source = 'ipsum.md'; + const options = { + routeBasePath, + showLastUpdateAuthor: true, + showLastUpdateTime: true, + }; + + const data = await processMetadata({ + source, + refDir: docsDir, + context, + options, + env, + }); + + expect(data).toEqual({ + id: 'ipsum', + permalink: '/docs/ipsum', + source: path.join('@site', routeBasePath, source), + title: 'ipsum', + editUrl: null, + description: 'Lorem ipsum.', + lastUpdatedAt: 1539502055, + lastUpdatedBy: 'Author', + }); + }); + test('docs with invalid id', async () => { const badSiteDir = path.join(fixtureDir, 'bad-site'); const options = { diff --git a/packages/docusaurus-plugin-content-docs/src/metadata.ts b/packages/docusaurus-plugin-content-docs/src/metadata.ts index 873c3bca09..c73353f533 100644 --- a/packages/docusaurus-plugin-content-docs/src/metadata.ts +++ b/packages/docusaurus-plugin-content-docs/src/metadata.ts @@ -134,7 +134,7 @@ export default async function processMetadata({ description, source: aliasedSitePath(filePath, siteDir), permalink, - editUrl: custom_edit_url || docsEditUrl, + editUrl: custom_edit_url !== undefined ? custom_edit_url : docsEditUrl, version, lastUpdatedBy, lastUpdatedAt,