|
- const { ipcRenderer } = require('electron')
- const sass = require('sass');
- const path = require('path');
- const fs = require('fs');
-
- const SASS_BASE_PATH = 'view/sass';
-
- // TODO: Once configs are setup, make this section more dynamic!!
- var VARS = {
- COLOR_LIGHTER: "#fffcf2",
- COLOR_LIGHT: "#ccc5b9",
- COLOR_DARK: "#403d39",
- COLOR_DARKER: "#252422",
- COLOR_HIGHLIGHT: "#eb5e28",
- UI_SCALE: 1.0
- };
-
-
- console.log(ipcRenderer.sendSync("getPath", "app"));
- function handleFileLoad(url, prev, done){
- let apppath = ipcRenderer.sendSync("getPath", "app");
- let filepath = path.join(apppath, SASS_BASE_PATH, url + ".scss");
- console.log("Attempting to load ", filepath);
- fs.readFile(filepath, 'utf-8', (err, data) => {
- if (err){
- done(err);
- } else {
- done({contents: data.toString()});
- }
- });
- }
-
- function buildSASSVars(){
- let res = "";
- Object.keys(VARS).forEach((key)=>{
- res = res + "$" + key + ": " + VARS[key] + ";\n";
- });
- return res;
- }
-
- function render(entryfile){
- return new Promise((res, rej) => {
- let entry = buildSASSVars() + "@import '" + entryfile + "';\n";
- sass.render({data: entry, importer:handleFileLoad}, (err, data) => {
- if (err){rej(err);}
- res(data);
- });
- });
- }
-
-
- module.exports = {
- render
- };
-
|