import { compileSass, copy, generateFavicons, imageToWebP, optimiseSvg, renderMarkdownWithTemplate, } from "./processors.js" export const tasks = [ { 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: "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: "favicons", inputFiles: [{ pattern: "images/favicon/*" }], stripPaths: ["images/favicon/"], outputDir: "static/meta/", processor: generateFavicons, }, { name: "pages", inputFiles: [{ pattern: "markdown/*.md" }], stripPaths: ["markdown/"], outputFileExtension: ".html", processor: renderMarkdownWithTemplate, }, { name: "static files", inputFiles: [{ pattern: "static/*" }], stripPaths: ["static/"], processor: copy, }, ] export const opts = { outDir: "dist/", runDir: process.cwd(), cacheDir: ".cache", logLevel: "debug", defaultTemplate: "default", include: { styles: [{ pattern: "~/.rhedyn/styles/*.scss" }], }, templateDirs: ["templates/", "~/.rhedyn/templates/"], clean: 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