import lume from "lume/mod.ts"; import jsx from "lume/plugins/jsx.ts"; import nav from "lume/plugins/nav.ts"; import sass from "lume/plugins/sass.ts"; import feed from "lume/plugins/feed.ts"; import code_highlight from "lume/plugins/code_highlight.ts"; import toc from "https://deno.land/x/lume_markdown_plugins@v0.6.0/toc.ts"; import lang_typescript from "npm:highlight.js/lib/languages/typescript"; import lang_javascript from "npm:highlight.js/lib/languages/javascript"; import lang_bash from "npm:highlight.js/lib/languages/bash"; const site = lume({ location: new URL("https://www.fosterhangdaan.com/"), server: { port: 8080, }, }); site.ignore("README.md", "README.org", "LICENSE.txt", "LICENSE.md"); site.copy("static", "."); site.copy([".png", ".jpg", ".jpeg"]); site.use(jsx()); site.use(nav()); site.use(sass()); site.use(feed({ query: "type=post", output: [ "/blog/feed.rss", "/blog/feed.json", ], info: { title: "Foster Hangdaan's Blog", description: "My thoughts and ideas.", date: new Date(), lang: "en", }, items: { title: "=title", description: "=description", } })); site.use(code_highlight({ languages: { typescript: lang_typescript, javascript: lang_javascript, bash: lang_bash, } })); site.use(toc({ slugify: { separator: "-", lowercase: true, }, })); export default site;