Update color configurations

This commit is contained in:
Frank Li 2017-08-10 16:03:43 -07:00
parent 8a9dc08a88
commit 4646fc98c5
3 changed files with 72 additions and 75 deletions

View file

@ -17,6 +17,7 @@ function execute() {
const React = require("react");
const mkdirp = require("mkdirp");
const glob = require("glob");
const chalk = require("chalk");
const Site = require("../core/Site.js");
const siteConfig = require(CWD + "/siteConfig.js");
const translate = require("./translate.js");
@ -151,7 +152,7 @@ function execute() {
link = link.replace("/en/", "/" + language + "/");
link = link.replace(
"/VERSION/",
metadata.version && (metadata.version !== latestVersion)
metadata.version && metadata.version !== latestVersion
? "/" + metadata.version + "/"
: "/"
);
@ -275,21 +276,24 @@ function execute() {
"/" +
file.split("/static/")[1];
if (file.match(/\.css$/)) {
let cssContent = fs.readFileSync(file);
cssContent = cssContent
.toString()
.replace(
new RegExp("{primaryColor}", "g"),
siteConfig.colors.primaryColor
let cssContent = fs.readFileSync(file, "utf8");
if (
!siteConfig.colors.primaryColor ||
!siteConfig.colors.secondaryColor ||
!siteConfig.colors.prismColor
) {
console.error(
`${chalk.yellow(
"Missing color configuration."
)} Make sure siteConfig.colors includes primaryColor, secondaryColor, and prismColor fields.`
);
cssContent = cssContent.replace(
new RegExp("{secondaryColor}", "g"),
siteConfig.colors.secondaryColor
);
cssContent = cssContent.replace(
new RegExp("{prismColor}", "g"),
siteConfig.colors.prismColor
);
}
Object.keys(siteConfig.colors).forEach(key => {
const color = siteConfig.colors[key];
cssContent = cssContent.replace(new RegExp("\\$" + key, "g"), color);
});
mkdirp.sync(targetFile.replace(new RegExp("/[^/]*$"), ""));
fs.writeFileSync(targetFile, cssContent);
@ -305,23 +309,13 @@ function execute() {
if (file.match(/\.css$/) && !isSeparateCss(file)) {
const mainCss =
CWD + "/build/" + siteConfig.projectName + "/css/main.css";
let cssContent = fs.readFileSync(file);
cssContent = fs.readFileSync(mainCss) + "\n" + cssContent;
let cssContent = fs.readFileSync(file, "utf8");
cssContent = fs.readFileSync(mainCss, "utf8") + "\n" + cssContent;
cssContent = cssContent
.toString()
.replace(
new RegExp("{primaryColor}", "g"),
siteConfig.colors.primaryColor
);
cssContent = cssContent.replace(
new RegExp("{secondaryColor}", "g"),
siteConfig.colors.secondaryColor
);
cssContent = cssContent.replace(
new RegExp("{prismColor}", "g"),
siteConfig.colors.prismColor
);
Object.keys(siteConfig.colors).forEach(key => {
const color = siteConfig.colors[key];
cssContent = cssContent.replace(new RegExp("\\$" + key, "g"), color);
});
fs.writeFileSync(mainCss, cssContent);
} else if (!fs.lstatSync(file).isDirectory()) {