import { compileSass, copy, generateFavicons, imageToWebP, optimiseSvg, renderTemplate, renderMarkdownToHtml, } from "./processors.js" export const tasks = [ { name: "images", inputFiles: [{ pattern: "images/content/*.jpg" }], stripPaths: ["images/content/"], outputDir: "images/", outputFileExtension: ".webp", imageSizes: [ "640w", "768w", "1024w", "1366w", "1600w", "1920w", "2560w", ], quality: 80, processor: imageToWebP, }, [ { name: "styles", inputFiles: [{ pattern: "styles/**/*.scss", ignore: "**/_*.scss" }], stripPaths: ["styles/"], outputDir: "static/styles/", outputFileExtension: ".css", processor: compileSass, }, { name: "icons", inputFiles: [{ pattern: "images/icons/*.svg" }], stripPaths: ["images/"], outputDir: "static/", outputFileExtension: ".svg", processor: optimiseSvg, }, { name: "static files", inputFiles: [{ pattern: "static/*" }], stripPaths: ["static/"], processor: copy, }, { name: "favicons", inputFiles: [{ pattern: "images/favicon/*" }], stripPaths: ["images/favicon/"], outputDir: "static/meta/", processor: generateFavicons, }, { name: "markdown", inputFiles: [{ pattern: "markdown/*.md" }], stripPaths: ["markdown/"], outputFileExtension: ".html", processor: renderMarkdownToHtml, }, ], { name: "includes", inputFiles: [{ pattern: "includes/*.hbs" }], stripPaths: ["includes/"], outputFileExtension: ".html", processor: renderTemplate, }, { name: "stateSelectorTest", stateSelectors: ["resources.markdown"], skipCache: true, logLevel: "debug", processor: renderTemplate, writeOut: true, templateDirs: ["templates/", "~/.rhedyn/templates/"], }, ] export const opts = { outDir: "dist/", runDir: process.cwd(), cacheDir: ".cache", include: { styles: [{ pattern: "~/.rhedyn/styles/*.scss" }], }, clean: true, ignoreExisting: false, logLevel: "info", includeStateValues: true, site: { name: "Website generated by Rhedyn", shortName: "Rhedyn test site", description: "A website generated from files using Rhedyn", author: "Craig Fletcher", url: "https://www.leakypixel.net", language: "en-GB", backgroundColor: "#22242c", themeColor: "#f00", }, } const defaults = { opts, tasks, } export default defaults