This repository has been archived on 2025-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
coryd.dev-eleventy/config/plugins/css-config.js

33 lines
No EOL
995 B
JavaScript

import fs from 'node:fs/promises'
import path from 'node:path'
import postcss from 'postcss'
import postcssImport from 'postcss-import'
import postcssImportExtGlob from 'postcss-import-ext-glob'
import autoprefixer from 'autoprefixer'
import cssnano from 'cssnano'
export const cssConfig = (eleventyConfig) => {
eleventyConfig.addTemplateFormats('css')
eleventyConfig.addExtension('css', {
outputFileExtension: 'css',
compile: async (inputContent, inputPath) => {
const outputPath = '_site/assets/css/index.css'
if (inputPath.endsWith('index.css')) {
return async () => {
let result = await postcss([
postcssImportExtGlob,
postcssImport,
autoprefixer,
cssnano,
]).process(inputContent, { from: inputPath })
await fs.mkdir(path.dirname(outputPath), { recursive: true })
await fs.writeFile(outputPath, result.css)
return result.css
}
}
},
})
}