-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
gridsome.config.js
117 lines (115 loc) · 2.74 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
117
module.exports = {
siteName: "Input Device Hub",
siteDescription: "A list of all opensource/proprietary inputs available",
siteUrl: "https://inputs.fabioluciano.dev",
chainWebpack: (config) => {
config.resolve.alias.set("@images", "@/assets/images");
},
templates: {
Keyboard: "/keyboards/:title",
Switch: "/switches/:brand-:title",
SwitchType: "/switch-types/:title",
Pointer: "/pointer/:title",
},
plugins: [
{
use: "@gridsome/source-filesystem",
options: {
typeName: "Keyboard",
path: "content/keyboards/*.md",
refs: {
switch_socket: {
typeName: "SwitchSocket",
create: true,
},
},
},
},
{
use: "@gridsome/source-filesystem",
options: {
typeName: "SwitchType",
path: "content/switch-types/*.md",
},
},
{
use: "@gridsome/source-filesystem",
options: {
typeName: "Pointer",
path: "content/pointers/*.md",
},
},
{
use: "@gridsome/source-filesystem",
options: {
typeName: "Switch",
path: "content/switches/*.md",
refs: {
profile: {
typeName: "SwitchProfile",
create: true,
},
socket: {
typeName: "SwitchSocket",
},
type: {
typeName: "SwitchType",
create: true,
},
brand: {
typeName: "SwitchBrand",
create: true,
},
},
},
},
{
use: "@gridsome/plugin-google-analytics",
options: {
id: "UA-194127940-1",
},
},
{
use: "@gridsome/plugin-sitemap",
options: {
include: ["/keyboards", "/keyboards/**", "/switches", "/switches/**"],
},
},
{
use: "@microflash/gridsome-plugin-feed",
options: {
contentTypes: ["Keyboard", "Switch"],
feedOptions: {
title: "My blog",
description: "My Personal blog on books, cookies and kittens",
},
rss: {
enabled: true,
output: "/feed.xml",
},
htmlFields: ["content"],
enforceTrailingSlashes: false,
filterNodes: (node) => true,
nodeToFeedItem: (node) => ({
title: node.title,
content: node.content,
}),
},
},
{
use: `gridsome-plugin-netlify-cms`,
options: {
publicPath: `/admin`,
modulePath: `src/admin/index.js`,
},
},
],
transformers: {
remark: {
externalLinksTarget: "_blank",
externalLinksRel: ["nofollow", "noopener", "noreferrer"],
anchorClassName: "icon icon-link",
plugins: ["@gridsome/remark-prismjs"],
},
},
};