mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-24 14:36:59 +02:00
Enable sub-directories in docs/ (#705)
This commit is contained in:
parent
49c27b733b
commit
d04b3ca87b
10 changed files with 135 additions and 36 deletions
|
@ -13,6 +13,7 @@ const path = require('path');
|
|||
const mkdirp = require('mkdirp');
|
||||
const chalk = require('chalk');
|
||||
const readMetadata = require('./server/readMetadata.js');
|
||||
const utils = require('./server/utils.js');
|
||||
const versionFallback = require('./server/versionFallback.js');
|
||||
const env = require('./server/env.js');
|
||||
|
||||
|
@ -66,12 +67,18 @@ function makeHeader(metadata) {
|
|||
return header;
|
||||
}
|
||||
|
||||
function writeFileAndCreateFolder(file, content, encoding) {
|
||||
mkdirp.sync(path.dirname(file));
|
||||
|
||||
fs.writeFileSync(file, content, encoding);
|
||||
}
|
||||
|
||||
const versionFolder = CWD + '/versioned_docs/version-' + version;
|
||||
|
||||
mkdirp.sync(versionFolder);
|
||||
|
||||
// copy necessary files to new version, changing some of its metadata to reflect the versioning
|
||||
let files = glob.sync(CWD + '/../' + readMetadata.getDocsPath() + '/*');
|
||||
let files = glob.sync(CWD + '/../' + readMetadata.getDocsPath() + '/**');
|
||||
files.forEach(file => {
|
||||
const ext = path.extname(file);
|
||||
if (ext !== '.md' && ext !== '.markdown') {
|
||||
|
@ -102,9 +109,17 @@ files.forEach(file => {
|
|||
metadata.original_id = metadata.id;
|
||||
metadata.id = 'version-' + version + '-' + metadata.id;
|
||||
|
||||
const targetFile = versionFolder + '/' + path.basename(file);
|
||||
const docsDir = path.join(CWD, '../', readMetadata.getDocsPath());
|
||||
const subDir = utils.getSubDir(file, docsDir);
|
||||
const targetFile = subDir
|
||||
? `${versionFolder}/${subDir}/${path.basename(file)}`
|
||||
: `${versionFolder}/${path.basename(file)}`;
|
||||
|
||||
fs.writeFileSync(targetFile, makeHeader(metadata) + rawContent, 'utf8');
|
||||
writeFileAndCreateFolder(
|
||||
targetFile,
|
||||
makeHeader(metadata) + rawContent,
|
||||
'utf8'
|
||||
);
|
||||
});
|
||||
|
||||
// copy sidebar if necessary
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue