fix(v2): more consistent route config generation (#1946)

* fix(v2): more consistent route config generation

* nits

* snapshot

* address review & test upd

* reduce 2xloop -> 1x loop in docs plugin

* nits
This commit is contained in:
Endi 2019-11-08 11:55:48 +07:00 committed by GitHub
parent 384e83a737
commit fc4928f7a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 31 additions and 17 deletions

View file

@ -55,9 +55,9 @@ Array [
Object {
"component": "@theme/DocPage",
"modules": Object {
"docsMetadata": "@docusaurus-plugin-content-docs/docs-b5f.json",
"docsMetadata": "@docusaurus-plugin-content-docs/docs-route-ff2.json",
},
"path": "/docs",
"path": "/docs/:route",
"routes": Array [
Object {
"component": "@theme/DocItem",

View file

@ -9,7 +9,7 @@ import globby from 'globby';
import fs from 'fs-extra';
import path from 'path';
import {idx, normalizeUrl, docuHash} from '@docusaurus/utils';
import {LoadContext, Plugin, DocusaurusConfig} from '@docusaurus/types';
import {LoadContext, Plugin} from '@docusaurus/types';
import createOrder from './order';
import loadSidebars from './sidebars';
@ -117,6 +117,7 @@ export default function pluginContentDocs(
// Construct docsMetadata
const docsMetadata: DocsMetadata = {};
const permalinkToSidebar: PermalinkToSidebar = {};
Object.keys(docsMetadataRaw).forEach(currentID => {
let previous;
let next;
@ -139,10 +140,9 @@ export default function pluginContentDocs(
previous,
next,
};
});
const permalinkToSidebar: PermalinkToSidebar = {};
Object.values(docsMetadataRaw).forEach(({source, permalink, sidebar}) => {
// sourceToPermalink and permalinkToSidebar mapping
const {source, permalink, sidebar} = docsMetadataRaw[currentID];
sourceToPermalink[source] = permalink;
if (sidebar) {
permalinkToSidebar[permalink] = sidebar;
@ -240,8 +240,9 @@ export default function pluginContentDocs(
};
const docsBaseRoute = normalizeUrl([
(context.siteConfig as DocusaurusConfig).baseUrl,
context.baseUrl,
routeBasePath,
':route',
]);
const docsBaseMetadataPath = await createData(
`${docuHash(docsBaseRoute)}.json`,