Files
apophenia.news/vite.config.js
T
multipleof4andClaude Opus 5.5 24a26072f9 Feat: Host the NSA article's header image next to the article
Relative header_image paths (./img.webp) now resolve to /<slug>/img.webp, and article
assets also ship unhashed so og:image and JSON-LD URLs resolve.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:46:43 +00:00

26 lines
718 B
JavaScript

import { defineConfig } from "vite";
import fs from "node:fs";
import fg from "fast-glob";
// Vite hashes images it finds in HTML into /assets/, but og:image and JSON-LD point at /<slug>/<file>, so ship those too
const articleAssets = {
name: "article-assets",
generateBundle() {
for (const fileName of fg.sync("*/*", { cwd: "src", ignore: ["**/*.html"] }))
this.emitFile({ type: "asset", fileName, source: fs.readFileSync(`src/${fileName}`) });
}
};
export default defineConfig({
root: "src",
publicDir: "../public",
plugins: [articleAssets],
build: {
outDir: "../dist",
emptyOutDir: true,
rollupOptions: {
input: fg.sync("src/**/*.html", { absolute: true })
}
}
});