this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at e3370fa3826c2fcd90ead9dd2d72da1bcd8f86b8 90 lines 2.1 kB view raw
1import { load } from "https://deno.land/std@0.224.0/dotenv/mod.ts"; 2 3import lume from "lume/mod.ts"; 4import jsx_preact from "lume/plugins/jsx_preact.ts"; 5 6import attributes from "lume/plugins/attributes.ts"; 7import base_path from "lume/plugins/base_path.ts"; 8import date from "lume/plugins/date.ts"; 9import favicon from "lume/plugins/favicon.ts"; 10import katex from "lume/plugins/katex.ts"; 11import mdx from "lume/plugins/mdx.ts"; 12import metas from "lume/plugins/metas.ts"; 13import nunjucks from "lume/plugins/nunjucks.ts"; 14import reading_info from "lume/plugins/reading_info.ts"; 15import sass from "lume/plugins/sass.ts"; 16import sitemap from "lume/plugins/sitemap.ts"; 17import slugify_urls from "lume/plugins/slugify_urls.ts"; 18import terser from "lume/plugins/terser.ts"; 19import toml from "lume/plugins/toml.ts"; 20 21// mdx plugins 22import rehypeKatex from "npm:rehype-katex"; 23import remarkMath from "npm:remark-math"; 24 25// custom plugins 26import robots from "./src/robots.ts"; 27 28// components 29import Header from "./src/_components/Header.tsx"; 30 31await load({ 32 export: true, 33}); 34 35let location = Deno.env.get("site"); 36if (location == undefined) { 37 location = "http://localhost/"; 38} else { 39 location = `https://${location}/`; 40} 41 42const site = lume({ 43 src: "./src", 44 location: new URL(location), 45}); 46 47site.use(robots({ 48 env_var: "DARKVISITORS_API_KEY", 49 agent_types: [ 50 "AI Data Scraper", "AI Assistant", "AI Search Crawler", "Undocumented AI Agent" 51 ], 52})); 53 54site.use(jsx_preact()); 55 56site.use(attributes()); 57site.use(base_path()); 58site.use(date()); 59site.use(favicon()); 60site.use(katex()); 61site.use( 62 mdx({ 63 remarkPlugins: [remarkMath], 64 rehypePlugins: [rehypeKatex], 65 components: { 66 Header: Header, 67 }, 68 }), 69); 70site.use(metas()); 71site.use(nunjucks()); 72site.use(reading_info()); 73site.use(sass()); 74site.use(sitemap(/* Options */)); 75site.use( 76 slugify_urls({ 77 extensions: [".html"], 78 lowercase: true, 79 alphanumeric: true, 80 separator: "-", 81 }), 82); 83site.use(terser(/* Options */)); 84site.use(toml()); 85 86site.copy("assets"); 87site.copy("404.html") 88site.copy("well-known", ".well-known") 89 90export default site;