Skip to content

Instantly share code, notes, and snippets.

@dimon-durak
Forked from liamfiddler/style.11ty.js
Created September 16, 2021 05:24
Show Gist options
  • Select an option

  • Save dimon-durak/32658bdf2adcfe053e8d6a285de13a10 to your computer and use it in GitHub Desktop.

Select an option

Save dimon-durak/32658bdf2adcfe053e8d6a285de13a10 to your computer and use it in GitHub Desktop.
SCSS + PostCSS pipeline for 11ty
// sass dependencies: `npm i -D sass`
const util = require('util');
const sass = require('sass');
const renderSass = util.promisify(sass.render);
// postcss dependencies: `npm i -D autoprefixer postcss precss`
const autoprefixer = require('autoprefixer');
const postcss = require('postcss');
const precss = require('precss');
const postcssProcessor = postcss([precss, autoprefixer]);
// file paths
const inputFile = '_includes/main.scss';
const outputFile = 'style.css';
module.exports = class {
data() {
return {
permalink: outputFile,
eleventyExcludeFromCollections: true,
};
}
async render() {
const { css } = await renderSass({
file: inputFile,
});
return await postcssProcessor.process(css, {
from: inputFile,
to: outputFile,
});
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment