mirror of
https://github.com/facebook/docusaurus.git
synced 2025-04-30 18:58:36 +02:00
58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
const fs = require('fs-extra');
|
|
const path = require('path');
|
|
const loadConfig = require('./config');
|
|
const loadBlog = require('./blog');
|
|
const loadDocs = require('./docs');
|
|
const {generate} = require('../helpers');
|
|
|
|
module.exports = async function load(siteDir) {
|
|
// load siteConfig
|
|
const siteConfig = loadConfig(siteDir);
|
|
|
|
// docs
|
|
const docsRelativeDir = siteConfig.customDocsPath || 'docs';
|
|
const docsMetadata = await loadDocs(
|
|
path.resolve(siteDir, '..', docsRelativeDir)
|
|
);
|
|
await generate(
|
|
'docsMetadata.js',
|
|
`${'/**\n * @generated\n */\n' + 'module.exports = '}${JSON.stringify(
|
|
docsMetadata,
|
|
null,
|
|
2
|
|
)};\n`
|
|
);
|
|
|
|
// blog
|
|
const blogMetadata = await loadBlog(path.resolve(siteDir, 'blog'));
|
|
await generate(
|
|
'blogMetadata.js',
|
|
`${'/**\n * @generated\n */\n' + 'module.exports = '}${JSON.stringify(
|
|
blogMetadata,
|
|
null,
|
|
2
|
|
)};\n`
|
|
);
|
|
|
|
// resolve outDir
|
|
const outDir = siteConfig.dest
|
|
? path.resolve(siteConfig.dest)
|
|
: path.resolve(siteDir, '.munseo/dist');
|
|
|
|
// resolve the path of our app user interface layout
|
|
const uiPath =
|
|
!siteConfig.uiPath ||
|
|
!fs.existsSync(path.resolve(siteDir, siteConfig.uiPath))
|
|
? path.resolve(__dirname, '../ui')
|
|
: siteConfig.uiPath;
|
|
|
|
const baseUrl = siteConfig.baseUrl || '/';
|
|
|
|
return {
|
|
siteConfig,
|
|
siteDir,
|
|
outDir,
|
|
uiPath,
|
|
baseUrl
|
|
};
|
|
};
|