it-tools/nuxt.config.js

114 lines
2.9 KiB
JavaScript
Raw Normal View History

2020-12-21 22:06:13 +01:00
import colors from 'vuetify/es5/util/colors'
export default {
2021-02-06 11:14:28 +01:00
// Enable server-side rendering (https://go.nuxtjs.dev/ssr-mode)
ssr: true,
2020-12-21 22:06:13 +01:00
// Target (https://go.nuxtjs.dev/config-target)
target: 'static',
// Global page headers (https://go.nuxtjs.dev/config-head)
head: {
2021-02-13 19:55:45 +01:00
titleTemplate: '%s - IT-Tools',
title: 'IT-Tools',
2020-12-21 22:06:13 +01:00
meta: [
2021-02-13 19:55:45 +01:00
{charset: 'utf-8'},
{name: 'viewport', content: 'width=device-width, initial-scale=1'},
2021-03-15 17:38:50 +01:00
{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']}
2020-12-21 22:06:13 +01:00
],
2021-02-13 19:55:45 +01:00
link: [{rel: 'icon', type: 'image/x-icon', href: '/favicon.ico'}]
2020-12-21 22:06:13 +01:00
},
// Global CSS (https://go.nuxtjs.dev/config-css)
css: [],
// Plugins to run before rendering page (https://go.nuxtjs.dev/config-plugins)
2021-02-13 19:55:45 +01:00
plugins: [
'~/plugins/vuetify-toast'
],
2020-12-21 22:06:13 +01:00
// 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
2020-12-21 22:49:27 +01:00
'@nuxtjs/vuetify'
2020-12-21 22:06:13 +01:00
],
// Modules (https://go.nuxtjs.dev/config-modules)
modules: [
// https://go.nuxtjs.dev/axios
'@nuxtjs/axios',
// https://go.nuxtjs.dev/pwa
2021-02-13 19:55:45 +01:00
'@nuxtjs/pwa',
2021-03-14 23:37:57 +01:00
'@nuxtjs/svg',
2021-05-21 22:51:09 +02:00
'nuxt-i18n',
'@nuxtjs/markdownit'
2020-12-21 22:06:13 +01:00
],
// Axios module configuration (https://go.nuxtjs.dev/config-axios)
axios: {},
// Vuetify module configuration (https://go.nuxtjs.dev/config-vuetify)
vuetify: {
2021-05-21 22:51:09 +02:00
icons: {
iconfont: 'mdi'
},
2020-12-21 22:06:13 +01:00
customVariables: ['~/assets/variables.scss'],
2021-02-13 19:55:45 +01:00
treeShake: {
components: [
'VSnackbar',
'VBtn',
'VIcon'
]
},
2020-12-21 22:06:13 +01:00
theme: {
dark: true,
2021-02-13 19:55:45 +01:00
options: {customProperties: true},
2020-12-21 22:06:13 +01:00
themes: {
dark: {
2021-02-06 11:14:28 +01:00
primary: '#05e677',
2020-12-21 22:06:13 +01:00
accent: colors.grey.darken3,
secondary: colors.amber.darken3,
info: colors.teal.lighten1,
warning: colors.amber.base,
error: colors.deepOrange.accent4,
2021-02-06 11:14:28 +01:00
success: colors.green.accent3,
background: '#324148',
foreground: '#28353b',
toolbar: '#243137'
2020-12-21 22:49:27 +01:00
}
}
}
2020-12-21 22:06:13 +01:00
},
2021-03-14 23:37:57 +01:00
i18n: {
vueI18nLoader: true,
locales: ['en'],
defaultLocale: 'en',
strategy: 'prefix_and_default'
2021-03-14 23:37:57 +01:00
},
2020-12-21 22:06:13 +01:00
// Build Configuration (https://go.nuxtjs.dev/config-build)
2021-02-13 19:55:45 +01:00
build: {},
router: {
extendRoutes(routes) {
routes.forEach((route) => {
if (route.path.match(/^\/tools\/.*/)) {
const sections = route.path.split('/')
route.path = `/${sections[sections.length - 1]}`
route.meta = {
isTool: true,
section: sections[sections.length - 2]
}
}
})
}
}
2020-12-21 22:06:13 +01:00
}