const { mkdirSync } = require('fs')
const cagovBuildSystem = require('@cagov/11ty-build-system')
const svgContents = require('eleventy-plugin-svg-contents')
const faviconPlugin = require('eleventy-favicon')
const syntaxHighlight = require('@11ty/eleventy-plugin-syntaxhighlight')
module.exports = (eleventyConfig) => {
eleventyConfig.setUseGitIgnore(false)
eleventyConfig.addPlugin(cagovBuildSystem, {
processors: {
rollup: {
file: 'rollup.config.js',
watch: ['src/js/**/*.js']
},
postcss: {
file: 'postcss.config.js',
watch: ['src/**/*']
}
beforeBuild: () => {
mkdirSync('dist/css', { recursive: true })
})
eleventyConfig.addPlugin(svgContents)
eleventyConfig.addPlugin(faviconPlugin, {
destination: './dist'
eleventyConfig.addPlugin(syntaxHighlight)
eleventyConfig.addPlugin(require('./plugins/manifest-icons'))
eleventyConfig.addPassthroughCopy('./src/fonts/')
eleventyConfig.addCollection('notes', function (collectionApi) {
return collectionApi.getFilteredByGlob('src/notes/**/*.md')
return {
dir: {
input: 'src',
output: 'dist',
layouts: 'layouts',
includes: 'includes',
data: 'data'