Adds some basic CSS utilities for layouts. Uses any css defined by `src/css/styles.css`, and utilizes the `postcss-import` plugin to resolve imports into their contents. The combined final output contains the base style as defined by the configuration options, as well as some basic utilities.
43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
/*
|
|
* Implementation sourced from eleventyone starter kit
|
|
* https://github.com/philhawksworth/eleventyone
|
|
* ---
|
|
* https://github.com/philhawksworth/eleventyone/blob/master/src/site/css/styles.11ty.js
|
|
*/
|
|
import fs from "node:fs";
|
|
import postcss from "postcss";
|
|
import postcssImport from "postcss-import";
|
|
import cssnano from "cssnano";
|
|
|
|
import colors from "./src/colors.js";
|
|
import fontFamily from "./src/font-family.js";
|
|
import fontVariables from "./src/font-variables.js";
|
|
import spacing from "./src/spacing.js";
|
|
|
|
async function generateCSS() {
|
|
const css = `${fontFamily}${fontVariables}${colors}${spacing}`;
|
|
|
|
const utilitiesCssFile = fs.readFileSync("./src/css/styles.css");
|
|
const utilitiesCss = await postcss([postcssImport])
|
|
.process(utilitiesCssFile, { from: "src/css/styles.css" })
|
|
.then((result) => result.css);
|
|
|
|
await postcss([cssnano])
|
|
.process(`${css}${utilitiesCss}`, {
|
|
from: undefined,
|
|
to: "dist/lilypad.css",
|
|
})
|
|
.then((result) => {
|
|
if (!fs.existsSync("dist")) {
|
|
fs.mkdirSync("dist");
|
|
}
|
|
|
|
fs.writeFileSync("dist/lilypad.css", result.css);
|
|
|
|
if (result.map) {
|
|
fs.writeFile("dist/lilypad.css.map", result.map.toString(), () => true);
|
|
}
|
|
});
|
|
}
|
|
|
|
generateCSS();
|