M2: content collections — case studies, blog, RSS, tags, sitemap

Projects + blog as schema-validated content collections; structured case
studies (problem/design/outcome), blog with tag pages, reading time, RSS
feed (drafts excluded), sitemap, and Shiki dual-theme code highlighting.
This commit is contained in:
2026-06-17 16:56:46 +10:00
parent 720d579386
commit 22f482d89a
26 changed files with 1139 additions and 105 deletions
+15
View File
@@ -1,11 +1,26 @@
// @ts-check
import { defineConfig } from "astro/config";
import sitemap from "@astrojs/sitemap";
import tailwindcss from "@tailwindcss/vite";
// https://astro.build/config
export default defineConfig({
site: "https://www.bztmon.com",
integrations: [sitemap()],
build: {
// Keep CSS in external files (no inlined <style> blocks) — friendlier to a strict CSP.
inlineStylesheets: "never",
},
markdown: {
shikiConfig: {
// Dual theme via CSS variables → colours switch with our data-theme, no
// hard-coded per-token colours baked to one theme.
themes: { light: "github-light", dark: "github-dark" },
defaultColor: false,
wrap: true,
},
},
vite: {
plugins: [tailwindcss()],
},