diff --git a/bitmapper/packages/modern/src/config.ts b/bitmapper/packages/modern/src/config.ts new file mode 100644 index 00000000..8a47eb7d --- /dev/null +++ b/bitmapper/packages/modern/src/config.ts @@ -0,0 +1,40 @@ +import { Colors } from "bibata-core/src/types"; + +interface Config { + themeName: string; + color: Colors; +} + +const black = "#000000"; +const white = "#FFFFFF"; +const amber = "#FF8300"; +const richBlack = "#001524"; + +const config: Config[] = [ + { + themeName: "Bibata-Modern-Amber", + color: { + base: amber, + outline: white, + watch: { + background: richBlack, + }, + }, + }, + { + themeName: "Bibata-Modern-Classic", + color: { + base: black, + outline: white, + }, + }, + { + themeName: "Bibata-Modern-Ice", + color: { + base: white, + outline: black, + }, + }, +]; + +export { config }; diff --git a/bitmapper/packages/modern/src/index.ts b/bitmapper/packages/modern/src/index.ts index 4ad91827..58d7facc 100644 --- a/bitmapper/packages/modern/src/index.ts +++ b/bitmapper/packages/modern/src/index.ts @@ -1,39 +1,33 @@ import path from "path"; import { BitmapsGenerator, SVGHandler } from "bibata-core"; -import { Colors } from "bibata-core/src/types"; +import { config } from "./config"; const root = path.resolve(__dirname, "../../../../"); const svgDir = path.resolve(root, "svg", "modern"); -const themeName = "Bibata-Modern"; -const bitmapsDir = path.resolve(root, "bitmaps", themeName); - -const color: Colors = { - base: "#000000", - outline: "#FFFFFF", - watch: { - background: "#FFFFFF", - }, -}; - const main = async () => { - const SVG = new SVGHandler.SvgDirectoryParser(svgDir); + for (const { themeName, color } of config) { + console.log("Preparing bitmaps of", themeName, "..."); - const png = new BitmapsGenerator(bitmapsDir); - const browser = await png.getBrowser(); + const bitmapsDir = path.resolve(root, "bitmaps", themeName); + const svg = new SVGHandler.SvgDirectoryParser(svgDir); - for (let { key, content } of SVG.getStatic()) { - content = SVGHandler.colorSvg(content, color); - await png.generateStatic(browser, content, key); + const png = new BitmapsGenerator(bitmapsDir); + const browser = await png.getBrowser(); + + for (let { key, content } of svg.getStatic()) { + content = SVGHandler.colorSvg(content, color); + await png.generateStatic(browser, content, key); + } + + for (let { key, content } of svg.getAnimated()) { + content = SVGHandler.colorSvg(content, color); + await png.generateAnimated(browser, content, key); + } + + await browser.close(); } - - for (let { key, content } of SVG.getAnimated()) { - content = SVGHandler.colorSvg(content, color); - await png.generateAnimated(browser, content, key); - } - - await browser.close(); }; main();