chore: naming consistency

This commit is contained in:
endiliey 2018-09-15 15:15:30 +08:00
parent 5eab627340
commit c132c7445f
11 changed files with 62 additions and 56 deletions

View file

@ -7,10 +7,10 @@ const {getSubFolder, idx} = require('../utils');
async function loadDocs({siteDir, docsDir, env, siteConfig}) {
// @tested - load all sidebars including versioned sidebars
const allSidebars = loadSidebars({siteDir, env});
const docsSidebars = loadSidebars({siteDir, env});
// @tested - build the docs ordering such as next, previous, category and sidebar
const order = createOrder(allSidebars);
const order = createOrder(docsSidebars);
/* Settle versions & translations from environment */
const translationEnabled = idx(env, ['translation', 'enabled']);
@ -24,7 +24,7 @@ async function loadDocs({siteDir, docsDir, env, siteConfig}) {
(versioningEnabled && idx(env, ['versioning', 'versions'])) || [];
/* Prepare metadata container */
const metadatas = {};
const docsMetadatas = {};
/* metadata for default docs files */
const docsFiles = await globby(['**/*.md'], {
@ -49,7 +49,7 @@ async function loadDocs({siteDir, docsDir, env, siteConfig}) {
order,
siteConfig
);
metadatas[metadata.id] = metadata;
docsMetadatas[metadata.id] = metadata;
})
);
@ -80,7 +80,7 @@ async function loadDocs({siteDir, docsDir, env, siteConfig}) {
order,
siteConfig
);
metadatas[metadata.id] = metadata;
docsMetadatas[metadata.id] = metadata;
})
);
@ -98,27 +98,30 @@ async function loadDocs({siteDir, docsDir, env, siteConfig}) {
order,
siteConfig
);
metadatas[metadata.id] = metadata;
docsMetadatas[metadata.id] = metadata;
})
);
/*
Get the titles of the previous and next ids so that we can use them
*/
Object.keys(metadatas).forEach(currentID => {
const previousID = idx(metadatas, [currentID, 'previous']);
Object.keys(docsMetadatas).forEach(currentID => {
const previousID = idx(docsMetadatas, [currentID, 'previous']);
if (previousID) {
const previousTitle = idx(metadatas, [previousID, 'title']);
metadatas[currentID].previous_title = previousTitle || 'Previous';
const previousTitle = idx(docsMetadatas, [previousID, 'title']);
docsMetadatas[currentID].previous_title = previousTitle || 'Previous';
}
const nextID = idx(metadatas, [currentID, 'next']);
const nextID = idx(docsMetadatas, [currentID, 'next']);
if (nextID) {
const nextTitle = idx(metadatas, [nextID, 'title']);
metadatas[currentID].next_title = nextTitle || 'Next';
const nextTitle = idx(docsMetadatas, [nextID, 'title']);
docsMetadatas[currentID].next_title = nextTitle || 'Next';
}
});
return metadatas;
return {
docsSidebars,
docsMetadatas
};
}
module.exports = loadDocs;

View file

@ -20,15 +20,15 @@ module.exports = async function load(siteDir) {
// docs
const docsDir = path.resolve(siteDir, '..', siteConfig.customDocsPath);
const docsMetadata = await loadDocs({siteDir, docsDir, env, siteConfig});
const {docsMetadatas, docsSidebars} = await loadDocs({siteDir, docsDir, env, siteConfig});
await generate(
'docsMetadata.js',
`export default ${JSON.stringify(docsMetadata, null, 2)};`
'docsMetadatas.js',
`export default ${JSON.stringify(docsMetadatas, null, 2)};`
);
/* Create source to metadata mapping */
const sourceToMetadata = {};
Object.values(docsMetadata).forEach(
Object.values(docsMetadatas).forEach(
({source, version, permalink, language}) => {
sourceToMetadata[source] = {
version,
@ -40,10 +40,10 @@ module.exports = async function load(siteDir) {
// pages
const pagesDir = path.resolve(siteDir, 'pages');
const pagesMetadata = await loadPages(pagesDir);
const pagesMetadatas = await loadPages(pagesDir);
await generate(
'pagesMetadata.js',
`export default ${JSON.stringify(pagesMetadata, null, 2)};`
'pagesMetadatas.js',
`export default ${JSON.stringify(pagesMetadatas, null, 2)};`
);
// resolve outDir
@ -60,10 +60,11 @@ module.exports = async function load(siteDir) {
siteConfig,
siteDir,
docsDir,
docsMetadata,
docsMetadatas,
docsSidebars,
env,
pagesDir,
pagesMetadata,
pagesMetadatas,
outDir,
themePath,
baseUrl,

View file

@ -6,13 +6,13 @@ async function loadPages(pagesDir) {
cwd: pagesDir
});
const pagesMetadata = await Promise.all(
const pagesMetadatas = await Promise.all(
pagesFiles.map(async source => ({
path: encodePath(fileToPath(source)),
source
}))
);
return pagesMetadata;
return pagesMetadatas;
}
module.exports = loadPages;

View file

@ -1,4 +1,4 @@
async function genRoutesConfig({docsMetadata = {}, pagesMetadata = []}) {
async function genRoutesConfig({docsMetadatas = {}, pagesMetadatas = []}) {
function genDocsRoute(metadata) {
const {permalink, source} = metadata;
return `
@ -38,7 +38,7 @@ async function genRoutesConfig({docsMetadata = {}, pagesMetadata = []}) {
component: NotFound
}`;
const docsRoutes = Object.values(docsMetadata)
const docsRoutes = Object.values(docsMetadatas)
.map(genDocsRoute)
.join(',');
@ -48,7 +48,7 @@ async function genRoutesConfig({docsMetadata = {}, pagesMetadata = []}) {
`import Loading from '@theme/Loading';\n` +
`import Docs from '@theme/Docs';\n` +
`import NotFound from '@theme/NotFound';\n` +
`const routes = [${docsRoutes},${pagesMetadata
`const routes = [${docsRoutes},${pagesMetadatas
.map(genPagesRoute)
.join(',')}${notFoundRoute}\n];\n` +
`export default routes;\n`