-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgatsby-node.js
34 lines (33 loc) · 958 Bytes
/
gatsby-node.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
const fs = require("fs")
const folder = "./data/"
exports.createPages = async ({ actions: { createPage } }) => {
fs.readdir(folder, (err, files) => {
let oldestDate, newestDate
files.forEach(filename => {
const date = filename.match(/column_(\d*)\.json/)[1]
if (!oldestDate || Number(date) < Number(oldestDate)) oldestDate = date
if (!newestDate || Number(date) > Number(newestDate)) newestDate = date
})
files.forEach(filename => {
const date = filename.match(/column_(\d*)\.json/)[1]
createPage({
path: `/column/${date}/`,
component: require.resolve("./src/templates/column.tsx"),
context: {
date,
newestDate,
oldestDate,
},
})
})
createPage({
path: `/`,
component: require.resolve("./src/templates/column.tsx"),
context: {
date: newestDate,
newestDate,
oldestDate,
},
})
})
}