Use versions.json file and move versioned, translated docs into translated_docs

This commit is contained in:
Frank Li 2017-08-03 15:58:56 -07:00
parent d3e3d209a4
commit 67592dcf8a
4 changed files with 21 additions and 34 deletions

View file

@ -9,16 +9,15 @@
* of patent rights can be found in the PATENTS file in the same directory.
*/
const CWD = process.cwd();
const glob = require("glob");
const fs = require("fs-extra");
const path = require("path");
const mkdirp = require("mkdirp");
const semver = require("semver");
const readMetadata = require("./server/readMetadata.js");
const versionFallback = require("./server/versionFallback.js");
const ENABLE_TRANSLATION = fs.existsSync(CWD + "/languages.js");
const CWD = process.cwd();
const versions = require(CWD + "/versions.json");
let version;
@ -37,9 +36,9 @@ if (typeof version === "undefined") {
process.exit(1);
}
if (!(version = semver.valid(version))) {
if (versions.includes(version)) {
console.error(
"Invalid version!\nSpecify a valid version following the specifications at http://semver.org/."
"This verison already exists!\nSpecify a new version to create that does not already exist."
);
process.exit(1);
}
@ -53,10 +52,8 @@ function makeHeader(metadata) {
return header;
}
let versionFolder = CWD + "/versioned_docs/version-" + version;
if (ENABLE_TRANSLATION) {
versionFolder = CWD + "/versioned_docs/en/version-" + version;
}
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
@ -81,12 +78,9 @@ files.forEach(file => {
metadata.original_id = metadata.id;
metadata.id = "version-" + version + "-" + metadata.id;
let targetFile =
const targetFile =
CWD + "/versioned_docs/version-" + version + "/" + path.basename(file);
if (ENABLE_TRANSLATION) {
targetFile =
CWD + "/versioned_docs/en/version-" + version + "/" + path.basename(file);
}
fs.writeFileSync(targetFile, makeHeader(metadata) + rawContent, "utf8");
});
@ -117,3 +111,7 @@ if (versionFallback.diffLatestSidebar()) {
"utf8"
);
}
// update versions.json file
versions.unshift(version);
fs.writeFileSync(CWD + "/versions.json", JSON.stringify(versions, null, 2));