-
Notifications
You must be signed in to change notification settings - Fork 0
/
nuxt.config.js
112 lines (98 loc) · 3 KB
/
nuxt.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
export default {
target: 'static',
// Global page headers: https://go.nuxtjs.dev/config-head
head: {
htmlAttrs: {
lang: 'id-ID',
prefix: 'og:http://ogp.me/ns#'
},
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ name: 'robots', content: 'follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large' },
{ 'http-equiv':'content-language', content:'id-ID' },
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
{ rel: 'canonical', href: 'https://adityarahmanda.github.io/macaksara' },
{ rel: 'stylesheet', href: 'https://fonts.googleapis.com/css2?family=Mulish:wght@300;400;700;900&family=Noto+Sans+Javanese:wght@400;700&display=swap' },
{ rel: 'stylesheet', href: 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/fontawesome.min.css' },
{ rel: 'stylesheet', href: 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/solid.min.css' },
],
script: [
{ src: 'https://www.googletagmanager.com/gtag/js?id=G-7CCPBZFMXT', async: true },
{
type:'text/javascript',
innerHTML: `window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-7CCPBZFMXT');`
}
]
},
router: {
base: '/macaksara/'
},
// Global CSS: https://go.nuxtjs.dev/config-css
css: [ '~assets/scss/app.scss' ],
sitemap: {
hostname: 'https://adityarahmanda.github.io/',
gzip: true,
exclude: [
'/kuis/**'
],
routes: [
'/',
'/konverter',
]
},
loading: {
color: '#47311C'
},
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
plugins: [
'~/plugins/vue-bootstrap',
'~/plugins/macaksara-latintojava',
'~/plugins/macaksara-javatolatin',
'~/plugins/macaksara-utility'
],
// Auto import components: https://go.nuxtjs.dev/config-components
components: true,
build: {
extend(config, ctx) {
config.module.rules.push({
test: /\.(ogg|mp3|wav|mpe?g)$/i,
loader: 'file-loader',
options: {
name: '[path][name].[ext]',
esModule: false,
}
})
},
},
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
buildModules: [
'@nuxtjs/style-resources'
],
// Modules: https://go.nuxtjs.dev/config-modules
modules: [
'@nuxtjs/axios',
'@nuxtjs/sitemap',
'@nuxt/content'
],
generate: {
async routes () {
const { $content } = require('@nuxt/content')
const quizzesSlug = await $content('quizzes').only(['slug']).fetch()
const quizzesRoutes = Object.keys(quizzesSlug).map((key) => {
return { route: `/kuis/${quizzesSlug[key].slug}` }
})
return [
{ route: '/', },
{ route: '/konverter', },
...quizzesRoutes
]
},
fallback: '404.html',
},
}