65 lines
1.7 KiB
TypeScript
65 lines
1.7 KiB
TypeScript
import { NuxtConfig } from '@nuxt/types'
|
|
|
|
import { getTheme } from './server/theme'
|
|
|
|
const config = async (): Promise<NuxtConfig> => {
|
|
const theme = getTheme()
|
|
|
|
return {
|
|
// Global page headers (https://go.nuxtjs.dev/config-head)
|
|
head: {
|
|
title: theme.title,
|
|
meta: [
|
|
{ charset: 'utf-8' },
|
|
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
|
{
|
|
hid: 'description',
|
|
name: 'description',
|
|
content: theme.description || '',
|
|
},
|
|
],
|
|
link: [
|
|
{ rel: 'icon', type: 'image/x-icon', href: '/media/favicon.ico' },
|
|
{
|
|
rel: 'stylesheet',
|
|
href: theme.awsm
|
|
? `https://unpkg.com/awsm.css/dist/awsm_theme_${theme.awsm}.min.css`
|
|
: 'https://unpkg.com/awsm.css/dist/awsm.min.css',
|
|
},
|
|
],
|
|
},
|
|
|
|
// Global CSS (https://go.nuxtjs.dev/config-css)
|
|
css: [],
|
|
|
|
// Plugins to run before rendering page (https://go.nuxtjs.dev/config-plugins)
|
|
plugins: [],
|
|
|
|
// 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',
|
|
],
|
|
|
|
// Modules (https://go.nuxtjs.dev/config-modules)
|
|
modules: [
|
|
// https://go.nuxtjs.dev/axios
|
|
'@nuxtjs/axios',
|
|
],
|
|
|
|
// Axios module configuration (https://go.nuxtjs.dev/config-axios)
|
|
axios: {},
|
|
|
|
// Build Configuration (https://go.nuxtjs.dev/config-build)
|
|
build: {},
|
|
env: {
|
|
THEME: JSON.stringify(theme),
|
|
},
|
|
}
|
|
}
|
|
|
|
export default config
|