diff --git a/lib/core/App.js b/lib/core/App.js index c0b92a8b44..3302a86ec3 100644 --- a/lib/core/App.js +++ b/lib/core/App.js @@ -1,8 +1,9 @@ import {renderRoutes} from 'react-router-config'; import routes from '@generated/routes'; // eslint-disable-line -import docsData from '@generated/docsData'; // eslint-disable-line -import pagesData from '@generated/pagesData'; // eslint-disable-line +import docsMetadata from '@generated/docsMetadata'; // eslint-disable-line +import pagesMetadata from '@generated/pagesMetadata'; // eslint-disable-line import siteConfig from '@site/siteConfig'; //eslint-disable-line -export default () => renderRoutes(routes, {docsData, pagesData, siteConfig}); +export default () => + renderRoutes(routes, {docsMetadata, pagesMetadata, siteConfig}); diff --git a/lib/load/index.js b/lib/load/index.js index 651975008e..7c986f7c3e 100644 --- a/lib/load/index.js +++ b/lib/load/index.js @@ -20,24 +20,24 @@ module.exports = async function load(siteDir) { '..', siteConfig.customDocsPath || 'docs' ); - const docsData = await loadDocs({siteDir, docsDir, env, siteConfig}); + const docsMetadata = await loadDocs({siteDir, docsDir, env, siteConfig}); await generate( - 'docsData.js', - `export default ${JSON.stringify(docsData, null, 2)};` + 'docsMetadata.js', + `export default ${JSON.stringify(docsMetadata, null, 2)};` ); /* Create source to permalink mapping */ const sourceToLink = {}; - Object.values(docsData).forEach(({source, permalink}) => { + Object.values(docsMetadata).forEach(({source, permalink}) => { sourceToLink[source] = permalink; }); // pages const pagesDir = path.resolve(siteDir, 'pages'); - const pagesData = await loadPages(pagesDir); + const pagesMetadata = await loadPages(pagesDir); await generate( - 'pagesData.js', - `export default ${JSON.stringify(pagesData, null, 2)};` + 'pagesMetadata.js', + `export default ${JSON.stringify(pagesMetadata, null, 2)};` ); // resolve outDir @@ -54,10 +54,10 @@ module.exports = async function load(siteDir) { siteConfig, siteDir, docsDir, - docsData, + docsMetadata, env, pagesDir, - pagesData, + pagesMetadata, outDir, themePath, baseUrl, diff --git a/lib/load/pages.js b/lib/load/pages.js index 7278754164..e0e373647a 100644 --- a/lib/load/pages.js +++ b/lib/load/pages.js @@ -6,13 +6,13 @@ async function loadPages(pagesDir) { cwd: pagesDir }); - const pagesData = await Promise.all( + const pagesMetadata = await Promise.all( pagesFiles.map(async source => ({ path: encodePath(fileToPath(source)), source })) ); - return pagesData; + return pagesMetadata; } module.exports = loadPages; diff --git a/lib/load/routes.js b/lib/load/routes.js index d615960652..a3476c5327 100644 --- a/lib/load/routes.js +++ b/lib/load/routes.js @@ -1,4 +1,4 @@ -async function genRoutesConfig({docsData = {}, pagesData = []}) { +async function genRoutesConfig({docsMetadata = {}, pagesMetadata = []}) { function genDocsRoute(metadata) { const {permalink, source} = metadata; return ` @@ -38,7 +38,7 @@ async function genRoutesConfig({docsData = {}, pagesData = []}) { component: NotFound }`; - const docsRoutes = Object.values(docsData) + const docsRoutes = Object.values(docsMetadata) .map(genDocsRoute) .join(','); @@ -48,7 +48,7 @@ async function genRoutesConfig({docsData = {}, pagesData = []}) { `import Loading from '@theme/Loading';\n` + `import Docs from '@theme/Docs';\n` + `import NotFound from '@theme/NotFound';\n` + - `const routes = [${docsRoutes},${pagesData + `const routes = [${docsRoutes},${pagesMetadata .map(genPagesRoute) .join(',')}${notFoundRoute}\n];\n` + `export default routes;\n` diff --git a/lib/theme/Layout/index.js b/lib/theme/Layout/index.js index dd3fbffc78..e3e29ac8ad 100644 --- a/lib/theme/Layout/index.js +++ b/lib/theme/Layout/index.js @@ -5,11 +5,11 @@ import styles from './styles.css'; /* eslint-disable react/prefer-stateless-function */ export default class Layout extends React.Component { render() { - const {children, pagesData, docsData = {}, location} = this.props; - const docsLinks = Object.values(docsData).map(data => ({ + const {children, pagesMetadata, docsMetadata = {}, location} = this.props; + const docsLinks = Object.values(docsMetadata).map(data => ({ path: `${data.permalink}` })); - const routeLinks = [...pagesData, ...docsLinks].map( + const routeLinks = [...pagesMetadata, ...docsLinks].map( data => data.path !== location.pathname && (