-
{{ token.value }}
diff --git a/app/components/Games/Banner.vue b/app/components/Games/Banner.vue
index 2455ca1..6a24123 100644
--- a/app/components/Games/Banner.vue
+++ b/app/components/Games/Banner.vue
@@ -12,7 +12,7 @@ const open = ref(false)
diff --git a/app/components/Games/WowCard.vue b/app/components/Games/WowCard.vue
index ad76cb2..eabae23 100644
--- a/app/components/Games/WowCard.vue
+++ b/app/components/Games/WowCard.vue
@@ -53,7 +53,7 @@ const classBackground = computed(() =>
-
+
@@ -62,7 +62,7 @@ const classBackground = computed(() =>
-
+
diff --git a/app/components/OgImage/Default.satori.vue b/app/components/OgImage/Default.satori.vue
index f30bbb6..40a6087 100644
--- a/app/components/OgImage/Default.satori.vue
+++ b/app/components/OgImage/Default.satori.vue
@@ -17,7 +17,7 @@ withDefaults(defineProps<{
{{ badge }}
-
+
{{ title }}
diff --git a/app/pages/gateway.vue b/app/pages/gateway.vue
index 8f03eb2..8c8d1c9 100644
--- a/app/pages/gateway.vue
+++ b/app/pages/gateway.vue
@@ -12,12 +12,6 @@ useHead({
content: 'This hostname is resolving to a gateway endpoint with no configured service.',
}],
})
-
-defineOgImage('Default', {
- title: 'No Service Configured',
- description: 'This hostname resolves to a gateway endpoint with no service behind it.',
- badge: 'Gateway',
-})
diff --git a/nuxt.config.ts b/nuxt.config.ts
index 3489a21..700d601 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -3,7 +3,6 @@ import app from './app/config/app'
export default defineNuxtConfig({
devtools: { enabled: true },
- future: { compatibilityVersion: 4 },
app,
modules: [
@@ -27,8 +26,7 @@ export default defineNuxtConfig({
// Allow optimising remote avatars/banners through .
image: {
- // Passthrough provider: the Discord/Spotify images are already sized by
- // their CDNs, and this avoids bundling `sharp` (which can't run on CF Workers).
+ // Passthrough provider: the remote images are already sized by their CDNs.
provider: 'none',
domains: [
'cdn.discordapp.com',
@@ -56,8 +54,8 @@ export default defineNuxtConfig({
},
},
- // Pre-render OG images at build (zeroRuntime) instead of rendering them on the
- // edge — the runtime renderer (satori + native resvg) can't run on CF Workers.
+ // Every page with an OG image is prerendered, so render them at build and keep
+ // satori/resvg out of the server bundle.
ogImage: {
zeroRuntime: true,
},
@@ -70,18 +68,14 @@ export default defineNuxtConfig({
resend: { apiKey: '' },
contactTo: 'noc@ok8.sh',
contactFrom: 'Portfolio ',
+ // Turnstile keys are added by @nuxtjs/turnstile; set them at runtime with
+ // NUXT_PUBLIC_TURNSTILE_SITE_KEY and NUXT_TURNSTILE_SECRET_KEY.
public: {
userId: '201077739589992448',
github: 'kashalls'
}
},
- // Cloudflare Turnstile. In dev this auto-uses the always-pass test keys; for
- // production set turnstile.siteKey here and NUXT_TURNSTILE_SECRET_KEY in env.
- turnstile: {
- siteKey: process.env.NUXT_TURNSTILE_SITE_KEY,
- },
-
content: {
experimental: {
// Node's built-in node:sqlite (Node >= 22.5), so the distroless
@@ -92,6 +86,15 @@ export default defineNuxtConfig({
css: ['~/assets/css/main.css'],
+ sourcemap: { server: false },
+
+ routeRules: {
+ // Renders the requesting hostname, so it must be rendered per request.
+ '/gateway': { prerender: false },
+ // Local fonts aren't content-hashed, so cache them without `immutable`.
+ '/fonts/**': { headers: { 'cache-control': 'public, max-age=2592000' } },
+ },
+
colorMode: {
preference: 'dark',
},
@@ -100,7 +103,7 @@ export default defineNuxtConfig({
// Prerender the static routes so their OG images are generated at build
// (required by ogImage.zeroRuntime). Dynamic client data still hydrates.
prerender: {
- routes: ['/', '/gateway', '/blog'],
+ routes: ['/', '/blog'],
// Follow links from /blog so every post (and its OG image) prerenders.
crawlLinks: true,
},
@@ -108,12 +111,6 @@ export default defineNuxtConfig({
devStorage: {
cache: { driver: 'fs', base: './.cache' },
},
- // For durable caching across serverless cold starts in production, point the
- // `cache` mount at a persistent store. On Cloudflare Pages, bind a KV
- // namespace named CACHE and uncomment:
- // storage: {
- // cache: { driver: 'cloudflareKVBinding', binding: 'CACHE' },
- // },
},
fonts: {
diff --git a/public/_fonts/PPNeueMachinaInktrap-Light.otf b/public/_fonts/PPNeueMachinaInktrap-Light.otf
deleted file mode 100644
index a7faec1..0000000
Binary files a/public/_fonts/PPNeueMachinaInktrap-Light.otf and /dev/null differ
diff --git a/public/_fonts/PPNeueMachinaInktrap-LightItalic.otf b/public/_fonts/PPNeueMachinaInktrap-LightItalic.otf
deleted file mode 100644
index f88d95c..0000000
Binary files a/public/_fonts/PPNeueMachinaInktrap-LightItalic.otf and /dev/null differ
diff --git a/public/_fonts/PPNeueMachinaInktrap-Regular.otf b/public/_fonts/PPNeueMachinaInktrap-Regular.otf
deleted file mode 100644
index d45a16e..0000000
Binary files a/public/_fonts/PPNeueMachinaInktrap-Regular.otf and /dev/null differ
diff --git a/public/_fonts/PPNeueMachinaInktrap-RegularItalic.otf b/public/_fonts/PPNeueMachinaInktrap-RegularItalic.otf
deleted file mode 100644
index 7545459..0000000
Binary files a/public/_fonts/PPNeueMachinaInktrap-RegularItalic.otf and /dev/null differ
diff --git a/public/_fonts/PPNeueMachinaInktrap-Ultrabold.otf b/public/_fonts/PPNeueMachinaInktrap-Ultrabold.otf
deleted file mode 100644
index 9aa49f6..0000000
Binary files a/public/_fonts/PPNeueMachinaInktrap-Ultrabold.otf and /dev/null differ
diff --git a/public/_fonts/PPNeueMachinaInktrap-UltraboldItalic.otf b/public/_fonts/PPNeueMachinaInktrap-UltraboldItalic.otf
deleted file mode 100644
index e9fd992..0000000
Binary files a/public/_fonts/PPNeueMachinaInktrap-UltraboldItalic.otf and /dev/null differ
diff --git a/public/_fonts/PPNeueMachinaPlain-Light.otf b/public/_fonts/PPNeueMachinaPlain-Light.otf
deleted file mode 100644
index e2d6711..0000000
Binary files a/public/_fonts/PPNeueMachinaPlain-Light.otf and /dev/null differ
diff --git a/public/_fonts/PPNeueMachinaPlain-LightItalic.otf b/public/_fonts/PPNeueMachinaPlain-LightItalic.otf
deleted file mode 100644
index 9a45f4f..0000000
Binary files a/public/_fonts/PPNeueMachinaPlain-LightItalic.otf and /dev/null differ
diff --git a/public/_fonts/PPNeueMachinaPlain-Regular.otf b/public/_fonts/PPNeueMachinaPlain-Regular.otf
deleted file mode 100644
index 9090dd5..0000000
Binary files a/public/_fonts/PPNeueMachinaPlain-Regular.otf and /dev/null differ
diff --git a/public/_fonts/PPNeueMachinaPlain-RegularItalic.otf b/public/_fonts/PPNeueMachinaPlain-RegularItalic.otf
deleted file mode 100644
index da6d169..0000000
Binary files a/public/_fonts/PPNeueMachinaPlain-RegularItalic.otf and /dev/null differ
diff --git a/public/_fonts/PPNeueMachinaPlain-Ultrabold.otf b/public/_fonts/PPNeueMachinaPlain-Ultrabold.otf
deleted file mode 100644
index ca18308..0000000
Binary files a/public/_fonts/PPNeueMachinaPlain-Ultrabold.otf and /dev/null differ
diff --git a/public/_fonts/PPNeueMachinaPlain-UltraboldItalic.otf b/public/_fonts/PPNeueMachinaPlain-UltraboldItalic.otf
deleted file mode 100644
index 2b5e7ff..0000000
Binary files a/public/_fonts/PPNeueMachinaPlain-UltraboldItalic.otf and /dev/null differ
diff --git a/public/fonts/PPNeueMachinaInktrap-Light.woff2 b/public/fonts/PPNeueMachinaInktrap-Light.woff2
new file mode 100644
index 0000000..d213647
Binary files /dev/null and b/public/fonts/PPNeueMachinaInktrap-Light.woff2 differ
diff --git a/public/fonts/PPNeueMachinaInktrap-LightItalic.woff2 b/public/fonts/PPNeueMachinaInktrap-LightItalic.woff2
new file mode 100644
index 0000000..977fc54
Binary files /dev/null and b/public/fonts/PPNeueMachinaInktrap-LightItalic.woff2 differ
diff --git a/public/fonts/PPNeueMachinaInktrap-Regular.woff2 b/public/fonts/PPNeueMachinaInktrap-Regular.woff2
new file mode 100644
index 0000000..4237d4a
Binary files /dev/null and b/public/fonts/PPNeueMachinaInktrap-Regular.woff2 differ
diff --git a/public/fonts/PPNeueMachinaInktrap-RegularItalic.woff2 b/public/fonts/PPNeueMachinaInktrap-RegularItalic.woff2
new file mode 100644
index 0000000..1f80659
Binary files /dev/null and b/public/fonts/PPNeueMachinaInktrap-RegularItalic.woff2 differ
diff --git a/public/fonts/PPNeueMachinaInktrap-Ultrabold.woff2 b/public/fonts/PPNeueMachinaInktrap-Ultrabold.woff2
new file mode 100644
index 0000000..283c181
Binary files /dev/null and b/public/fonts/PPNeueMachinaInktrap-Ultrabold.woff2 differ
diff --git a/public/fonts/PPNeueMachinaInktrap-UltraboldItalic.woff2 b/public/fonts/PPNeueMachinaInktrap-UltraboldItalic.woff2
new file mode 100644
index 0000000..978c0a5
Binary files /dev/null and b/public/fonts/PPNeueMachinaInktrap-UltraboldItalic.woff2 differ
diff --git a/public/fonts/PPNeueMachinaPlain-Light.woff2 b/public/fonts/PPNeueMachinaPlain-Light.woff2
new file mode 100644
index 0000000..6bc0927
Binary files /dev/null and b/public/fonts/PPNeueMachinaPlain-Light.woff2 differ
diff --git a/public/fonts/PPNeueMachinaPlain-LightItalic.woff2 b/public/fonts/PPNeueMachinaPlain-LightItalic.woff2
new file mode 100644
index 0000000..c2bc9ee
Binary files /dev/null and b/public/fonts/PPNeueMachinaPlain-LightItalic.woff2 differ
diff --git a/public/fonts/PPNeueMachinaPlain-Regular.woff2 b/public/fonts/PPNeueMachinaPlain-Regular.woff2
new file mode 100644
index 0000000..ab5af7a
Binary files /dev/null and b/public/fonts/PPNeueMachinaPlain-Regular.woff2 differ
diff --git a/public/fonts/PPNeueMachinaPlain-RegularItalic.woff2 b/public/fonts/PPNeueMachinaPlain-RegularItalic.woff2
new file mode 100644
index 0000000..81b58f2
Binary files /dev/null and b/public/fonts/PPNeueMachinaPlain-RegularItalic.woff2 differ
diff --git a/public/fonts/PPNeueMachinaPlain-Ultrabold.woff2 b/public/fonts/PPNeueMachinaPlain-Ultrabold.woff2
new file mode 100644
index 0000000..c85287a
Binary files /dev/null and b/public/fonts/PPNeueMachinaPlain-Ultrabold.woff2 differ
diff --git a/public/fonts/PPNeueMachinaPlain-UltraboldItalic.woff2 b/public/fonts/PPNeueMachinaPlain-UltraboldItalic.woff2
new file mode 100644
index 0000000..6af62e4
Binary files /dev/null and b/public/fonts/PPNeueMachinaPlain-UltraboldItalic.woff2 differ