lotus/_config.ts

75 lines
2.1 KiB
TypeScript

import lume from "lume/mod.ts";
import jsx from "lume/plugins/jsx.ts";
import attributes from "lume/plugins/attributes.ts";
import code_highlight from "lume/plugins/code_highlight.ts";
// import favicon from "lume/plugins/favicon.ts";
// import liquid from "lume/plugins/liquid.ts";
import pug from "lume/plugins/pug.ts";
import feed from "lume/plugins/feed.ts";
import filter_pages from "lume/plugins/filter_pages.ts";
import mdx from "lume/plugins/mdx.ts";
import metas from "lume/plugins/metas.ts";
import nav from "lume/plugins/nav.ts";
// import pagefind from "lume/plugins/pagefind.ts";
import reading_info from "lume/plugins/reading_info.ts";
import source_maps from "lume/plugins/source_maps.ts";
import tailwindcss from "lume/plugins/tailwindcss.ts";
import postcss from "lume/plugins/postcss.ts";
import terser from "lume/plugins/terser.ts";
// Components
// import Link from "./_src/_components/Link.vento";
const site = lume({
src: "_src",
});
site.data("greeting", () => {
const hellos = ["Ahoy!", "Ahoy there!", "Hey there!", "Howdy howdy!", "Howdy, friend!", "Howdy!", "Hey!", "Hey there!", "Hi!", "Hello!", "Hello there!", "Hi there!"];
return hellos[Math.floor(Math.random() * hellos.length)];
})
site.data("getYear", () => {
return new Date().getFullYear();
});
site.use(pug());
site.use(jsx());
site.use(attributes());
site.use(code_highlight());
// site.use(favicon());
site.use(feed());
site.use(filter_pages({ fn: (page) => page.data.ignored !== true }));
site.use(mdx());
site.use(metas({
extensions: [".md", ".mdx"],
}));
site.use(nav());
// site.use(pagefind());
site.use(reading_info());
site.use(source_maps());
site.use(tailwindcss({
options: {
attributes: {
darkMode: 'class'
}
}
}));
site.use(postcss());
site.use(terser());
site.ignore('wk')
site.copy("files");
// Manually define the included WK Files to prevent it from copying the .git folder
site.copy("wk/fursona", ".well-known/fursona");
// site.script("cleanup",
// // "echo pwd"
// ["sudo rm -rf .well-known/.git"]
// )
export default site;