1import { defineNuxtConfig } from "nuxt/config";
2import blogConfig from "./blog.config";
3
4// https://nuxt.com/docs/api/configuration/nuxt-config
5export default defineNuxtConfig({
6 //@ts-ignore
7 site: { url: blogConfig.site, name: blogConfig.title },
8
9 telemetry: false,
10 devtools: { enabled: true },
11 modules: [
12 "@nuxt/content",
13 "@nuxtjs/tailwindcss",
14 "@tailwindcss/typography",
15 "@nuxt/icon",
16 "nuxt-og-image"
17 ],
18
19 future: {
20 compatibilityVersion: 4
21 },
22
23 app: {
24 head: {
25 htmlAttrs: {
26 lang: "en"
27 },
28 script: [
29 {
30 defer: true,
31 src: "https://assets.onedollarstats.com/stonks.js"
32 }
33 ]
34 }
35 },
36
37 runtimeConfig: {
38 public: blogConfig
39 },
40
41 content: {
42 experimental: { sqliteConnector: "native" }
43 },
44
45 ogImage: {
46 fonts: [
47 {
48 name: "Recoleta",
49 weight: 700,
50 path: "/fonts/recoleta-bold.ttf"
51 },
52 {
53 name: "Orkney Regular",
54 weight: 700,
55 path: "/fonts/orkney-regular.ttf"
56 }
57 ]
58 },
59
60 icon: {
61 clientBundle: {
62 icons: [
63 "ant-design:github-filled",
64 "ri:mastodon-fill",
65 "ri:bluesky-fill",
66 "ri:sun-fill",
67 "ri:moon-fill"
68 ],
69 scan: true
70 }
71 },
72
73 typescript: {
74 typeCheck: true,
75 tsConfig: {
76 compilerOptions: {
77 strict: true
78 }
79 }
80 },
81
82 routeRules: {
83 "/": { prerender: true },
84 "/about": { prerender: true },
85 "/posts/**": { prerender: true }
86 },
87
88 nitro: {
89 prerender: {
90 routes: ["/", "/about"],
91 crawlLinks: true
92 }
93 },
94
95 compatibilityDate: "2025-11-05"
96});