107 lines
4.2 KiB
TypeScript
107 lines
4.2 KiB
TypeScript
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||
export default defineNuxtConfig({
|
||
compatibilityDate: '2025-07-15',
|
||
devtools: {enabled: true},
|
||
auth: {
|
||
// Full auth endpoint URL (origin + /api/auth). This prevents /session recursion.
|
||
// Prefer setting AUTH_ORIGIN in your environment (e.g. https://example.com)
|
||
baseURL: `${(
|
||
process.env.AUTH_ORIGIN ||
|
||
process.env.BASE_SITE_URL ||
|
||
`http://localhost:${process.env.PORT || 3000}`
|
||
).replace(/\/$/, '')}/api/auth`,
|
||
},
|
||
turnstile: {
|
||
siteKey: process.env.CLOUD_FLARE_SITE_KEY,
|
||
},
|
||
|
||
devServer: {
|
||
host: '0.0.0.0', // Tüm ağ arayüzlerinden erişime izin verir
|
||
port: 3000 // İsterseniz farklı bir port belirleyebilirsiniz
|
||
},
|
||
turnstile: {
|
||
siteKey: process.env.CLOUD_FLARE_SITE_KEY,
|
||
},
|
||
runtimeConfig: {
|
||
//private (server-side only - güvenli)
|
||
turnstile: {
|
||
// This can be overridden at runtime via the NUXT_TURNSTILE_SECRET_KEY
|
||
// environment variable.
|
||
secretKey: process.env.CLOUD_FLARE_SECRET,
|
||
},
|
||
googleToken: process.env.NUXT_GOOGLE_TOKEN,
|
||
authSecret: process.env.NUXT_AUTH_SECRET,
|
||
githubClientId: process.env.GITHUB_CLIENT_ID,
|
||
githubClientSecret: process.env.GITHUB_CLIENT_SECRET,
|
||
googleClientId: process.env.GOOGLE_CLIENT_ID,
|
||
googleClientSecret: process.env.GOOGLE_CLIENT_SECRET,
|
||
// Backend credentials for contact form
|
||
backendEmail: process.env.BACKEND_EMAIL,
|
||
backendPassword: process.env.BACKEND_PASSWORD,
|
||
public: {
|
||
//public (client-side accessible)
|
||
BASE_API_URL: process.env.BASE_API_URL,
|
||
BASE_SITE_URL: process.env.BASE_SITE_URL,
|
||
},
|
||
},
|
||
modules: [
|
||
/*'@nuxt/a11y',*/
|
||
'@nuxt/content',
|
||
'@nuxt/eslint',
|
||
'@nuxt/fonts',
|
||
'@nuxt/icon',
|
||
'@nuxt/image',
|
||
'@nuxt/scripts',
|
||
'@pinia/nuxt',
|
||
'@nuxtjs/turnstile',
|
||
"@sidebase/nuxt-auth",
|
||
],
|
||
content: {
|
||
// Production'da runtime database kullanma
|
||
experimental: {
|
||
// @ts-ignore
|
||
clientDB: false,
|
||
stripQueryParameters: false
|
||
},
|
||
// Build time'da içeriği hazırla
|
||
ignores: [],
|
||
},
|
||
app: {
|
||
head: {
|
||
meta: [
|
||
{ 'http-equiv': 'Content-Type', content: 'text/html; charset=UTF-8' },
|
||
{ 'http-equiv': 'X-UA-Compatible', content: 'IE=edge' },
|
||
{ 'http-equiv': 'X-UA-Compatible', content: 'ie=edge' },
|
||
{ name: 'viewport', content: 'width=device-width, initial-scale=1.0' },
|
||
{ name: 'keyword', content: 'resume,cv,portfolio,vcard' },
|
||
{ name: 'title', content: 'GFolio - CV/Resume/Portfolio' },
|
||
],
|
||
link: [
|
||
{ rel: 'shortcut icon', href: '/assets/images/favicon.png', type: 'image/x-icon' },
|
||
{ rel: 'stylesheet', href: '/assets/css/bootstrap.min.css' },
|
||
{ rel: 'stylesheet', href: '/assets/css/plugin.css' },
|
||
{ rel: 'stylesheet', href: '/assets/css/flaticon.css' },
|
||
{ rel: 'stylesheet', href: '/assets/css/style.css' },
|
||
{ rel: 'stylesheet', href: '/assets/css/multicolor.css' },
|
||
{ rel: 'stylesheet', href: '/assets/css/responsive.css' },
|
||
{ rel: 'stylesheet', href: '/assets/css/dark-mode.css' },
|
||
],
|
||
script: [
|
||
{ src: '/assets/js/jquery.js', defer: true },
|
||
{ src: '/assets/js/popper.min.js', defer: true },
|
||
{ src: '/assets/js/bootstrap.min.js', defer: true },
|
||
{ src: '/assets/js/plugin.js', defer: true },
|
||
{ src: '/assets/js/jQuery-plugin-progressbar.js', defer: true },
|
||
{ src: '/assets/js/typed.min.js', defer: true },
|
||
{ src: '/assets/js/jquery.buoyant.min.js', defer: true },
|
||
{ src: '/assets/js/wow.js', defer: true },
|
||
{ src: '/assets/js/main.js', defer: true }
|
||
]
|
||
}
|
||
},
|
||
vite: {
|
||
build: {
|
||
sourcemap: false,
|
||
},
|
||
},
|
||
}) |