This repository has been archived by the owner on Sep 8, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathgridsome.config.js
116 lines (112 loc) · 2.82 KB
/
gridsome.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
113
114
115
116
// This is where project configuration and plugin options are located.
// Learn more: https://gridsome.org/docs/config
// Changes here require a server restart.
// To restart press CTRL + C in terminal and run `gridsome develop`
module.exports = {
siteName: 'Gridsome',
siteDescription: "An open-source framework to generate awesome pages",
plugins: [
{
use: 'gridsome-plugin-tailwindcss',
options: {
tailwindConfig: './tailwind.config.js',
purgeConfig: {
whitelist: ['svg-inline--fa', 'table', 'table-striped', 'table-bordered', 'table-hover', 'table-sm'],
whitelistPatterns: [/fa-$/, /blockquote$/, /code$/, /pre$/, /table$/, /table-$/, /vueperslide$/, /vueperslide-$/]
},
presetEnvConfig: {},
shouldPurge: false,
shouldImport: true,
shouldTimeTravel: true,
shouldPurgeUnusedKeyframes: true,
}
},
{
use: 'gridsome-source-static-meta',
options: {
path: 'content/site/*.json'
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Author',
path: './content/author/*.md'
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Blog',
path: './content/blog/**/*.md',
refs: {
author: 'Author',
tags: {
typeName: 'Tag',
create: true
},
category: {
typeName: 'Category',
create: true
}
}
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'CustomPage',
path: './content/pages/*.md'
}
},
{
use: 'gridsome-plugin-flexsearch',
options: {
searchFields: ['title', 'content'],
collections: [{
typeName: 'Blog',
indexName: 'Blog',
fields: ['title', 'category', 'excerpt', 'content']
}]
}
}
],
transformers: {
remark: {
plugins: [
'remark-autolink-headings',
'remark-attr',
['gridsome-plugin-remark-prismjs-all', {
noInlineHighlight: false,
showLineNumbers: false,
}],
require('./packages/gridsome-plugin-remark-figure')
],
processImages: false
}
},
templates: {
Blog: [{
path: '/posts/:title'
}],
CustomPage: [{
path: '/:title',
component: '~/templates/CustomPage.vue'
}],
Category: [{
path: '/category/:title',
component: '~/templates/Category.vue'
}],
Author: [{
path: '/author/:name',
component: '~/templates/Author.vue'
}],
Tag: [{
path: '/tags/:title',
component: '~/templates/Tag.vue'
}]
},
chainWebpack: config => {
config.resolve.alias.set('@pageImage', '@/assets/images');
}
}