The configuration is wild, but that's what you get for maximum flexibilityconst pipeline = Pipeline.create()
.use(fscache())
.use(query())
.use(modules<Page<".html", string> | Page<".tsx", JSX.Children> | Page<".strapi", Node[]>>())
.use(
sass({
loadPaths: [
"submodules",
"submodules/iro-design/src",
"submodules/iro-sass/src",
"submodules/include-media/dist",
],
}),
)
.use(mdx())
.use(markdown())
.use(strapi())
.use(jsx())
.use(timestamps())
.use(urls({ base: "https://volpeon.ink/" }))
.use(feeds())
.use(sitemap())
.use(assets())
.use(hash())
.redirect("pages root", (page) => page.url.replace(/^\/pages\//, "/"))
.redirect("scripts+styles assets", (page) =>
page.url.replace(/^\/(scripts|styles)\//, "/assets/"),
)
.use(templates())
.use(jsx())
.use(icons())
.use(
images({
allowedOrigins: ["strapi.volpeon.ink"],
defaults: { formats: ["avif", "webp", "png"], densities: [1, 2] },
}),
)
.use(transformImages());
const site = new Site(pipeline, {});