it-tools/nuxt.config.js
2021-07-23 23:02:39 +02:00

138 lines
3.3 KiB
JavaScript

import colors from 'vuetify/es5/util/colors'
export default {
// Enable server-side rendering (https://go.nuxtjs.dev/ssr-mode)
ssr: true,
// Target (https://go.nuxtjs.dev/config-target)
target: 'static',
// Global page headers (https://go.nuxtjs.dev/config-head)
head: {
titleTemplate: '%s - IT-Tools',
title: 'IT-Tools',
meta: [
{charset: 'utf-8'},
{name: 'viewport', content: 'width=device-width, initial-scale=1'},
{
hid: 'description',
name: 'description',
content: 'Aggregated set of useful tools that every developer may need once in a while.'
},
{hid: 'keywords', name: 'keywords', content: ['tools', 'tool', 'it', 'developer', 'web', 'computing']}
],
link: [{rel: 'icon', type: 'image/x-icon', href: '/favicon.ico'}]
},
// Global CSS (https://go.nuxtjs.dev/config-css)
css: [],
// Plugins to run before rendering page (https://go.nuxtjs.dev/config-plugins)
plugins: [
{src: '~/plugins/pwa-update.plugin.ts', mode: 'client'},
'~/plugins/vuetify-toast'
],
// Auto import components (https://go.nuxtjs.dev/config-components)
components: true,
// Modules for dev and build (recommended) (https://go.nuxtjs.dev/config-modules)
buildModules: [
// https://go.nuxtjs.dev/typescript
'@nuxt/typescript-build',
// https://go.nuxtjs.dev/vuetify
'@nuxtjs/vuetify',
// '@nuxtjs/router-extras'
'~/buildModules/tool-config',
'@nuxtjs/google-fonts'
],
// Modules (https://go.nuxtjs.dev/config-modules)
modules: [
// https://go.nuxtjs.dev/axios
'@nuxtjs/axios',
// https://go.nuxtjs.dev/pwa
'@nuxtjs/pwa',
'@nuxtjs/svg',
'nuxt-i18n',
'@nuxtjs/markdownit',
'vue-plausible',
'@nuxtjs/sitemap' // Must stay last
],
plausible: {
domain: process.env.NUXT_ENV_PLAUSIBLE_DOMAIN,
apiHost: process.env.NUXT_ENV_PLAUSIBLE_API_HOST,
trackLocalhost: false
},
// Axios module configuration (https://go.nuxtjs.dev/config-axios)
axios: {},
// Vuetify module configuration (https://go.nuxtjs.dev/config-vuetify)
vuetify: {
defaultAssets: {
icons: 'mdi'
},
icons: {
iconfont: 'mdi'
},
customVariables: ['~/assets/variables.scss'],
treeShake: {
components: [
'VSnackbar',
'VBtn',
'VIcon'
]
},
theme: {
dark: true,
options: {customProperties: true},
themes: {
dark: {
primary: '#05e677',
accent: colors.grey.darken3,
secondary: colors.amber.darken3,
info: colors.teal.lighten1,
warning: colors.amber.base,
error: colors.deepOrange.accent4,
success: colors.green.accent3,
background: '#324148',
foreground: '#28353b',
toolbar: '#243137'
}
}
}
},
i18n: {
vueI18nLoader: true,
locales: ['en'],
defaultLocale: 'en',
strategy: 'no_prefix'
},
// Build Configuration (https://go.nuxtjs.dev/config-build)
build: {
extractCSS: true
},
router: {},
googleFonts: {
display: 'swap',
prefetch: true,
preconnect: true,
preload: true,
families: {
Roboto: {
wght: [300, 400, 500, 700, 900]
}
}
},
sitemap: {
hostname: 'https://it-tools.tech',
gzip: true
}
}