mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-25 23:17:06 +02:00
chore: rename data -> metadata for consistency
This commit is contained in:
parent
760b9172b0
commit
e9f2fabde1
8 changed files with 38 additions and 37 deletions
|
@ -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});
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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`
|
||||
|
|
|
@ -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 && (
|
||||
<li key={data.path}>
|
||||
|
|
|
@ -14,13 +14,13 @@ module.exports = function createServerConfig(props) {
|
|||
// Workaround for Webpack 4 Bug (https://github.com/webpack/webpack/issues/6522)
|
||||
config.output.globalObject('this');
|
||||
|
||||
const {siteConfig, docsData, pagesData} = props;
|
||||
const {siteConfig, docsMetadata, pagesMetadata} = props;
|
||||
|
||||
// static site generator webpack plugin
|
||||
const docsLinks = Object.values(docsData).map(data => ({
|
||||
const docsLinks = Object.values(docsMetadata).map(data => ({
|
||||
path: `${data.permalink}`
|
||||
}));
|
||||
const paths = [...docsLinks, ...pagesData].map(data => data.path);
|
||||
const paths = [...docsLinks, ...pagesMetadata].map(data => data.path);
|
||||
config.plugin('siteGenerator').use(staticSiteGenerator, [
|
||||
{
|
||||
entry: 'main',
|
||||
|
|
|
@ -5,28 +5,28 @@ describe('loadDocs', () => {
|
|||
test('simple website', async () => {
|
||||
const props = await loadSetup('simple');
|
||||
const {siteDir, docsDir, env, siteConfig} = props;
|
||||
const docsData = await loadDocs({siteDir, docsDir, env, siteConfig});
|
||||
expect(docsData).toMatchSnapshot();
|
||||
const docsMetadata = await loadDocs({siteDir, docsDir, env, siteConfig});
|
||||
expect(docsMetadata).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('versioned website', async () => {
|
||||
const props = await loadSetup('versioned');
|
||||
const {siteDir, docsDir, env, siteConfig} = props;
|
||||
const docsData = await loadDocs({siteDir, docsDir, env, siteConfig});
|
||||
expect(docsData).toMatchSnapshot();
|
||||
const docsMetadata = await loadDocs({siteDir, docsDir, env, siteConfig});
|
||||
expect(docsMetadata).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('versioned & translated website', async () => {
|
||||
const props = await loadSetup('transversioned');
|
||||
const {siteDir, docsDir, env, siteConfig} = props;
|
||||
const docsData = await loadDocs({siteDir, docsDir, env, siteConfig});
|
||||
expect(docsData).toMatchSnapshot();
|
||||
const docsMetadata = await loadDocs({siteDir, docsDir, env, siteConfig});
|
||||
expect(docsMetadata).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('translated website', async () => {
|
||||
const props = await loadSetup('translated');
|
||||
const {siteDir, docsDir, env, siteConfig} = props;
|
||||
const docsData = await loadDocs({siteDir, docsDir, env, siteConfig});
|
||||
expect(docsData).toMatchSnapshot();
|
||||
const docsMetadata = await loadDocs({siteDir, docsDir, env, siteConfig});
|
||||
expect(docsMetadata).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
|
|
|
@ -4,9 +4,9 @@ import path from 'path';
|
|||
describe('loadPages', () => {
|
||||
test('valid pages', async () => {
|
||||
const pagesDir = path.join(__dirname, '__fixtures__', 'simple-pages');
|
||||
const pagesData = await loadPages(pagesDir);
|
||||
pagesData.sort((a, b) => a.path > b.path); // because it was unordered
|
||||
expect(pagesData).toEqual([
|
||||
const pagesMetadata = await loadPages(pagesDir);
|
||||
pagesMetadata.sort((a, b) => a.path > b.path); // because it was unordered
|
||||
expect(pagesMetadata).toEqual([
|
||||
{
|
||||
path: '/',
|
||||
source: 'index.js'
|
||||
|
@ -24,12 +24,12 @@ describe('loadPages', () => {
|
|||
source: 'foo/index.js'
|
||||
}
|
||||
]);
|
||||
expect(pagesData).not.toBeNull();
|
||||
expect(pagesMetadata).not.toBeNull();
|
||||
});
|
||||
|
||||
test('invalid pages', async () => {
|
||||
const nonExistingDir = path.join(__dirname, '__fixtures__', 'nonExisting');
|
||||
const pagesData = await loadPages(nonExistingDir);
|
||||
expect(pagesData).toEqual([]);
|
||||
const pagesMetadata = await loadPages(nonExistingDir);
|
||||
expect(pagesMetadata).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue