-
Notifications
You must be signed in to change notification settings - Fork 2
/
site.config.js
150 lines (131 loc) · 3.52 KB
/
site.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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
const site_url = "https://yoursite.netlify.com";
module.exports = {
site_title: `Your site title`,
site_url,
description: "Your site description",
author: "You",
keywords: "",
medium: "blog",
language: "English",
locale: "en_US",
logo: "/uploads/logo.png",
twitterCard: "summary_large_image",
twitterCreator: "@your_twitter_username",
/**
* If you set a `facebook_id` then we will initialize facebook comments and likes
* The `facebook_id` is the App ID you would normally use in the meta tag
* ```html
* <meta property="fb:app_id" content="[[facebook_id]]"/>
* ````
*/
facebook_id: null,
googleAnalyticsId: "",
mailChimpUrl: "",
/**
* Tell us where your entry files are located relative to this repository root directory
*/
folderStructure: {
/**
* Show us where your lead js file is that imports all other scripts
* @type {String}
*/
js: 'src/js/index.js',
/**
* Lead stylus file that imports all other stylesheets
* @type {String}
*/
css: 'src/css/index.styl',
/**
* Tell us where your root vue component is
* @type {String}
*/
vue: 'src/templates/index.vue',
/**
* Tell us where your main html template is
* @type {String}
*/
html: 'src/index.html',
/**
* Tell us what folder we should search in for your larger vue components so we can globalize them
* @type {String}
*/
components: 'src',
/**
* Tells us what folder your smaller vue components are in
* @type {String}
*/
partials: 'src/partials',
/**
* Show us what folder we should copy your static assets from
* This is also the folder that we will save optimized images to
* @type {String}
*/
static: 'src/static',
/**
* Name of the folder where you will keep fullsized images to be optimized by `npm run optimize`
* @type {String}
*/
images: 'unoptimized-images',
/**
* Show us what folder you want us to save your generated files in
* @type {String}
*/
output: 'dist',
/**
* Tells us where your markdown files are
* @type {String}
*/
markdown: 'markdown'
},
/**
* For each route, list the url and the template that should be used to render that route
*
* Write the name of the .vue file found in your templates folder as the component string
*
* The path will attempt to match the natural folder structure of the markdown folder unless you specifically override the path in the url metadata of the markdown file
*/
routes: [
{
path: "/",
component: "home"
},
{
path: "/404",
component: "missing"
},
{
path: "/:page?",
component: "page"
},
{
path: "/articles/:article?",
component: "post"
},
{ path: "*", redirect: "/404" }
],
/**
* Data that will be available across all your templates
*/
store: {
file: {},
files: [],
social_url: site_url,
commentsEnabled: false
},
/**
* Based on `markdown-it-gallery`
*/
markdown_gallery: {
galleryClass: 'gallery',
galleryTag: 'div',
imgClass: 'gallery-image',
wrapImagesInLinks: true,
linkClass: 'gallery-link',
linkTarget: '_blank',
imgTokenType: 'image',
linkTokenType: 'link',
imageFilterFn: token => /galleries\//.test(token.attrGet('src')),
// imageSrcFn: token => token.attrGet('src').replace(/(\.\w+$)/, '$1'),
// linkHrefFn: token => token.attrGet('src').replace(/(\.\w+$)/, '$1'),
}
};