Markdown blog on Flask with Vite-built assets and WeasyPrint PDF export, rewritten from the Wagtail build that preceded it.
blogdockerflaskmarkdownpythonself-hostedvite
1import { resolve } from "path";
2import { defineConfig } from "vite";
3
4export default defineConfig({
5 root: "static_src",
6 base: "/static/",
7 build: {
8 outDir: resolve(__dirname, "static"),
9 emptyOutDir: true,
10 manifest: true,
11 rollupOptions: {
12 input: resolve(__dirname, "static_src/index.js"),
13 output: {
14 entryFileNames: "base-[hash].js",
15 assetFileNames: (assetInfo) => {
16 if (/\.(woff2?|eot|ttf|otf)$/.test(assetInfo.name)) {
17 return "fonts/[name][extname]";
18 }
19 if (/\.css$/.test(assetInfo.name)) {
20 return "base-[hash].css";
21 }
22 return "assets/[name]-[hash][extname]";
23 },
24 },
25 },
26 },
27 css: {
28 preprocessorOptions: {
29 scss: {
30 quietDeps: true,
31 },
32 },
33 },
34});