-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
111 lines (92 loc) · 2.64 KB
/
server.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
const express = require('express');
const app = express();
const path = require('path')
const pug = require('pug')
app.set('view engine', 'pug')
const mods = require('./config/mods.js')
const libraries = require('./config/libraries.js')
const icons = require('./config/icons.js')
const devs = require('./config/devs.js')
const socials = require('./config/socials.js')
const defaultOptions = {
viewPath: path.resolve(__dirname, 'views', 'pages'),
basedir: path.resolve(__dirname, 'views', 'partials'),
mods: mods,
libraries: libraries,
icons: icons,
socials: socials
}
app.get('/', function (req, res) {
res.render('pages/index', {...defaultOptions, ...{
title: 'Kiln Graphics',
page: "home"
}})
})
app.get('/about', function (req, res) {
res.render('pages/about', {...defaultOptions, ...{
title: 'Kiln Graphics | About Us',
page: "about",
devs: devs
}})
})
Object.keys(libraries).forEach((library, i) => {
app.get('/' + library, function (req, res) {
res.redirect("/library/" + library)
});
app.get('/library/' + library, function (req, res) {
res.render('pages/project', {...defaultOptions, ...{
title: 'Kiln Graphics | ' + libraries[library].title,
page: "libraries",
project: libraries[library]
}})
})
});
Object.keys(mods).forEach((mod, i) => {
app.get('/' + mod, function (req, res) {
res.redirect("/mod/" + mod)
});
app.get('/mod/' + mod, function (req, res) {
res.render('pages/project', {...defaultOptions, ...{
title: 'Kiln Graphics | ' + mods[mod].title,
page: "mods",
project: mods[mod]
}})
})
});
// for (let i in mods) {
// let mod = mods[i];
// let data = require('./config/mod/' + mod.id + '.js')
//
// app.get('/' + mod.id, function (req, res) {
// res.redirect("/mod/" + mod.id)
// });
//
// app.get('/mod/' + mod.id, function (req, res) {
// res.render('pages/project', {...defaultOptions, ...{
// title: 'Kiln Graphics | ' + mod.name,
// page: "mods",
// project: data
// }})
// })
// }
app.use(express.static(__dirname + "/public"))
app.get("*", async function (req, res, next) {
try {
throw {err: 404}
} catch (err) {
return next(err)
}
})
app.use(function (err, req, res, next) {
console.log(err)
res.status(err.err || 500).render('pages/error', {...defaultOptions, ...{
title: 'Kiln Graphics | ' + (err.err || 500),
error: err.err || 500,
page: "error"
}})
})
var server = app.listen(3000, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})