refactor: only process translated & versioned if it is enabled

This commit is contained in:
endiliey 2018-09-16 12:55:19 +08:00
parent 15a810fee5
commit 141d6558af

View file

@ -54,53 +54,57 @@ async function loadDocs({siteDir, docsDir, env, siteConfig}) {
); );
/* metadata for non-default-language docs */ /* metadata for non-default-language docs */
const translatedDir = path.join(siteDir, 'translated_docs'); if (translationEnabled) {
const translatedFiles = await globby(['**/*.md'], { const translatedDir = path.join(siteDir, 'translated_docs');
cwd: translatedDir const translatedFiles = await globby(['**/*.md'], {
}); cwd: translatedDir
await Promise.all( });
translatedFiles.map(async source => { await Promise.all(
/* translatedFiles.map(async source => {
Do not process disabled & default languages folder in `translated_docs` /*
e.g: 'translated_docs/ja/**' should not be processed if lang 'ja' is disabled Do not process disabled & default languages folder in `translated_docs`
*/ e.g: 'translated_docs/ja/**' should not be processed if lang 'ja' is disabled
const translatedFilePath = path.resolve(translatedDir, source); */
const detectedLangTag = getSubFolder(translatedFilePath, translatedDir); const translatedFilePath = path.resolve(translatedDir, source);
if ( const detectedLangTag = getSubFolder(translatedFilePath, translatedDir);
detectedLangTag === defaultLangTag || if (
!enabledLangTags.includes(detectedLangTag) detectedLangTag === defaultLangTag ||
) { !enabledLangTags.includes(detectedLangTag)
return; ) {
} return;
}
const metadata = await processMetadata( const metadata = await processMetadata(
source, source,
translatedDir, translatedDir,
env, env,
order, order,
siteConfig siteConfig
); );
docsMetadatas[metadata.id] = metadata; docsMetadatas[metadata.id] = metadata;
}) })
); );
}
/* metadata for versioned docs */ /* metadata for versioned docs */
const versionedDir = path.join(siteDir, 'versioned_docs'); if (versioningEnabled) {
const versionedFiles = await globby(['**/*.md'], { const versionedDir = path.join(siteDir, 'versioned_docs');
cwd: versionedDir const versionedFiles = await globby(['**/*.md'], {
}); cwd: versionedDir
await Promise.all( });
versionedFiles.map(async source => { await Promise.all(
const metadata = await processMetadata( versionedFiles.map(async source => {
source, const metadata = await processMetadata(
versionedDir, source,
env, versionedDir,
order, env,
siteConfig order,
); siteConfig
docsMetadatas[metadata.id] = metadata; );
}) docsMetadatas[metadata.id] = metadata;
); })
);
}
/* Get the titles of the previous and next ids so that we can use them */ /* Get the titles of the previous and next ids so that we can use them */
Object.keys(docsMetadatas).forEach(currentID => { Object.keys(docsMetadatas).forEach(currentID => {