tools/image-copy.js (31 lines of code) (raw):
/**
* Image copy tool script
* @module image-copy
*/
const path = require("path");
const { copySync } = require("fs-extra");
const {
VERSION,
PROJECT_SITE_IMG_DIR,
PROJECT_SITE_ZH_IMG_DIR,
SOURCE_PATH,
replaceImagesPath,
} = require("./common");
/** @type {string} Versioned docs directory */
const versionedDir = path.join(SOURCE_PATH, "versioned_docs");
/** @type {string} Versioned Chinese docs directory */
const versionedZHDir = path.join(
SOURCE_PATH,
"i18n/zh-CN/docusaurus-plugin-content-docs"
);
/**
* Parse versioned image directory
* @param {string} version - Version number
* @returns {string} Versioned image directory path
*/
const resolveVersionedImageDir = (version) =>
path.join(versionedDir, `version-${version}`);
/**
* Parse versioned Chinese image directory
* @param {string} version - Version number
* @returns {string} Versioned Chinese image directory path
*/
const resolveVersionedZHImageDir = (version) =>
path.join(versionedZHDir, `version-${version}`);
/** @type {string} Image directory name */
const IMAGEDIR = "images";
/**
* Copy and replace image paths
*/
function copyAndReplaceImagesPath() {
const newVersion = VERSION[0];
const newVersionedDir = resolveVersionedImageDir(newVersion);
const newVersionedZHDir = resolveVersionedZHImageDir(newVersion);
// copy static images to versioned directory
copySync(PROJECT_SITE_IMG_DIR, path.resolve(newVersionedDir, IMAGEDIR), {});
copySync(
PROJECT_SITE_ZH_IMG_DIR,
path.resolve(newVersionedZHDir, IMAGEDIR),
{}
);
// replace images path in versioned docs
// replaceImagesPath(newVersionedDir, `${IMAGEDIR}`, "/image_en");
// replaceImagesPath(newVersionedZHDir, `${IMAGEDIR}`, "/image_zh");
}
copyAndReplaceImagesPath();