-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathnext.config.js
84 lines (75 loc) · 1.86 KB
/
next.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
const webpack = require('webpack')
const withCSS = require('@zeit/next-css')
const _ = require('lodash')
module.exports = withCSS({
exportPathMap: function () {
const ids = [
'publications',
'people',
'courses',
'news',
'seminar',
'facility',
'location',
]
let pages = {}
for (let id of ids) {
let href = id
pages[href] = {
page: '/page',
query: { id: id }
}
}
const summary = require('./content/output/summary.json')
const publications = Object.keys(summary.fileMap)
.filter((fileName) => {
return fileName.includes('publications')
})
for (let publication of publications) {
let id = publication.split('/')[3].replace('.json', '')
let href = `/publications/${id}`
pages[href] = {
page: '/publication',
query: { id: id }
}
}
const people = Object.keys(summary.fileMap)
.filter((fileName) => {
return fileName.includes('people')
})
for (let person of people) {
let id = person.split('/')[3].replace('.json', '')
let href = `/people/${id}`
pages[href] = {
page: '/person',
query: { id: id }
}
}
/*
const speakers = require('./content/output/seminar.json')
for (let speaker of speakers) {
let nameId = _.lowerCase(speaker.name).replace(/ /g, '-')
let id = `${speaker.date}-${speaker.nameId}`
let href = `/seminar/${id}`
pages[href] = {
page: '/speaker',
query: { id: id }
}
}
*/
// console.log(pages)
return Object.assign({}, pages, {
'/': { page: '/' }
})
},
webpack: (config, options) => {
config.plugins.push(
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
})
)
return config
}
})