2024-01-27 18:17:30 +02:00
|
|
|
import config from './config'
|
2023-11-25 18:52:25 +02:00
|
|
|
|
2023-11-06 19:32:15 +02:00
|
|
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
|
|
export default defineNuxtConfig({
|
2023-11-10 17:42:55 +02:00
|
|
|
app: {
|
|
|
|
head: {
|
|
|
|
htmlAttrs: {
|
2024-01-27 18:17:30 +02:00
|
|
|
lang: config.locale,
|
2023-11-10 17:42:55 +02:00
|
|
|
},
|
2023-11-13 22:37:35 +02:00
|
|
|
link: [
|
|
|
|
{
|
|
|
|
rel: 'icon',
|
|
|
|
type: 'image/x-icon',
|
|
|
|
href: '/favicon.ico',
|
|
|
|
},
|
|
|
|
],
|
2023-11-10 17:42:55 +02:00
|
|
|
meta: [
|
|
|
|
{
|
|
|
|
charset: 'utf-8',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'viewport',
|
|
|
|
content: 'width=device-width, initial-scale=1',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'http-equiv': 'X-UA-Compatible',
|
|
|
|
content: 'ie=edge',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2023-11-13 22:37:35 +02:00
|
|
|
pageTransition: { name: 'page', mode: 'out-in' },
|
|
|
|
rootId: 'ender-app',
|
2023-11-10 17:42:55 +02:00
|
|
|
},
|
2024-01-27 18:17:30 +02:00
|
|
|
features: {
|
|
|
|
inlineStyles: false,
|
|
|
|
},
|
2023-11-10 17:42:55 +02:00
|
|
|
components: {
|
|
|
|
dirs: [
|
|
|
|
{
|
|
|
|
path: '~/components',
|
|
|
|
pathPrefix: false,
|
|
|
|
extensions: ['.vue'],
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2023-11-25 18:52:25 +02:00
|
|
|
css: ['~/assets/styles/main.scss'],
|
2023-11-10 17:42:55 +02:00
|
|
|
plugins: [],
|
2023-11-13 22:37:35 +02:00
|
|
|
modules: [
|
2023-11-25 18:52:25 +02:00
|
|
|
['@nuxtjs/eslint-module', { failOnError: false, lintOnStart: false }],
|
2023-11-23 17:14:23 +02:00
|
|
|
['@nuxtjs/stylelint-module', { failOnError: true, lintOnStart: false }],
|
2024-01-27 18:17:30 +02:00
|
|
|
'@pinia/nuxt',
|
|
|
|
'@nuxtjs/strapi',
|
|
|
|
'@nuxt/content',
|
|
|
|
'vuetify-nuxt-module',
|
2023-11-25 18:52:25 +02:00
|
|
|
'@nuxtjs/google-fonts',
|
2024-01-27 18:17:30 +02:00
|
|
|
'nuxt-icon',
|
|
|
|
'nuxt-site-config',
|
2023-11-25 18:52:25 +02:00
|
|
|
'nuxt-simple-sitemap',
|
|
|
|
'nuxt-simple-robots',
|
|
|
|
'nuxt-og-image',
|
2024-01-27 18:17:30 +02:00
|
|
|
'nuxt-link-checker',
|
2023-11-13 22:37:35 +02:00
|
|
|
],
|
2023-11-25 18:52:25 +02:00
|
|
|
nitro: {
|
|
|
|
prerender: {
|
|
|
|
crawlLinks: true,
|
|
|
|
autoSubfolderIndex: true,
|
|
|
|
failOnError: true,
|
|
|
|
routes: ['/robots.txt', '/sitemap.xml'],
|
|
|
|
},
|
|
|
|
},
|
2024-01-27 18:17:30 +02:00
|
|
|
vuetify: {
|
|
|
|
moduleOptions: {
|
|
|
|
importComposables: true,
|
|
|
|
prefixComposables: true,
|
|
|
|
styles: 'none',
|
|
|
|
includeTransformAssetsUrls: true,
|
|
|
|
ssrClientHints: {
|
|
|
|
reloadOnFirstRequest: false,
|
|
|
|
viewportSize: true,
|
|
|
|
prefersColorScheme: true,
|
|
|
|
// prefersColorSchemeOptions: {
|
|
|
|
// cookieName: 'color-scheme',
|
|
|
|
// lightThemeName: 'light',
|
|
|
|
// darkThemeName: 'dark',
|
|
|
|
// useBrowserThemeOnly: false,
|
|
|
|
// },
|
|
|
|
prefersReducedMotion: false,
|
2024-01-23 22:53:21 +02:00
|
|
|
},
|
|
|
|
},
|
2024-01-27 18:17:30 +02:00
|
|
|
vuetifyOptions: {
|
|
|
|
ssr: {
|
|
|
|
clientWidth: 0,
|
|
|
|
clientHeight: 0,
|
|
|
|
},
|
|
|
|
components: false,
|
|
|
|
labComponents: true,
|
|
|
|
directives: false,
|
|
|
|
icons: false,
|
2024-01-23 22:53:21 +02:00
|
|
|
},
|
2023-11-18 19:28:27 +02:00
|
|
|
},
|
2023-11-25 18:52:25 +02:00
|
|
|
googleFonts: {
|
|
|
|
download: true,
|
|
|
|
families: {
|
|
|
|
Lato: true,
|
|
|
|
Alexandria: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
site: {
|
2024-01-27 18:17:30 +02:00
|
|
|
env: process.env.NODE_ENV,
|
|
|
|
url: config.url,
|
|
|
|
name: config.name,
|
|
|
|
indexable: true,
|
|
|
|
trailingSlash: false,
|
|
|
|
},
|
|
|
|
linkChecker: {
|
|
|
|
failOnError: true,
|
|
|
|
report: {
|
|
|
|
html: true,
|
|
|
|
markdown: true,
|
|
|
|
},
|
2023-11-25 18:52:25 +02:00
|
|
|
},
|
|
|
|
routeRules: {
|
|
|
|
'/': {
|
|
|
|
sitemap: {
|
|
|
|
changefreq: 'yearly',
|
|
|
|
priority: 1,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
'/about': {
|
|
|
|
sitemap: {
|
|
|
|
changefreq: 'yearly',
|
|
|
|
priority: 0.8,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
'/projects': {
|
|
|
|
sitemap: {
|
|
|
|
changefreq: 'monthly',
|
|
|
|
priority: 0.8,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
'/social': {
|
|
|
|
sitemap: {
|
|
|
|
changefreq: 'yearly',
|
|
|
|
priority: 0.8,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
sitemap: {
|
|
|
|
cacheMaxAgeSeconds: 360,
|
|
|
|
exclude: [],
|
|
|
|
credits: false,
|
|
|
|
xslColumns: [
|
|
|
|
{ label: 'URL', width: '50%' },
|
|
|
|
{ label: 'Last Modified', select: 'sitemap:lastmod', width: '25%' },
|
|
|
|
{ label: 'Priority', select: 'sitemap:priority', width: '12.5%' },
|
|
|
|
{
|
|
|
|
label: 'Change Frequency',
|
|
|
|
select: 'sitemap:changefreq',
|
|
|
|
width: '12.5%',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
// defaults: { ← Defaults override route rules...
|
|
|
|
// changefreq: 'monthly',
|
|
|
|
// priority: 0.7,
|
|
|
|
// lastmod: buildDate,
|
|
|
|
// },
|
|
|
|
},
|
|
|
|
robots: {
|
2024-01-27 18:17:30 +02:00
|
|
|
enabled: true,
|
|
|
|
metaTag: true,
|
2023-11-25 18:52:25 +02:00
|
|
|
blockNonSeoBots: true,
|
|
|
|
credits: false,
|
|
|
|
},
|
2023-11-10 17:42:55 +02:00
|
|
|
typescript: {
|
|
|
|
typeCheck: true,
|
|
|
|
},
|
2023-11-06 19:32:15 +02:00
|
|
|
})
|