forked from hasura/imad-app
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
124 lines (108 loc) · 4.22 KB
/
server.js
File metadata and controls
124 lines (108 loc) · 4.22 KB
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
var express = require('express');
var morgan = require('morgan');
var path = require('path');
var app = express();
app.use(morgan('combined'));
var articles = {
'article-one' : {
title: 'Article one | Kaushik',
heading: 'Article one',
date: 'Augest 15, 2017',
content: `
<p>
This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.
</p>
<p>This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.
</p>
<p>
This is the content for my first article. This is the content for my first article. This is the content for my first article. This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.This is the content for my first article.
</p>`
},
'article-two' : {
title: 'Article Two | Kaushik',
heading: 'Article Two',
date: 'Augest 20, 2017',
content: `<p>This is the content for my second article. </p>`
},
'article-three' : {
title: 'Article Three | Kaushik',
heading: 'Article Three',
date: 'Augest 25, 2017',
content: `<p>This is the content for my third article. </p>`
},
};
function createTemplate (data){
var title = data.title;
var date = data.date;
var heading = data.heading;
var content = data.content;
var htmlTemplate = `
<html>
<head>
<link href="/ui/style.css" rel="stylesheet" />
<title>
${title}
</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<div class="container">
<div>
<a href="/">Home</a>
</div>
<hr/>
<h3>
${heading}
</h3>
<div>
${date}
</div>
<div>
${content}
</div>
</div>
</body>
</html>
`;
return htmlTemplate;
}
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname, 'ui', 'index.html'));
});
var names = [];
app.get('/submit-name', function(req, res){ //URL : /submit-name?name=xxxx
//Get the name from the request
var name = req.query.name;
names.push(name);
//JsonL Javascript Object Notation
res.send(JSON.stringify(names));
});
var counter = 0;
app.get('/counter', function (req, res){
counter = counter + 1;
res.send(counter.toString());
});
app.get('/:articleName', function(req, res){
//articleName == article-one
//articles[articleName] == {} content object for article one
var articleName = req.params.articleName;
res.send(createTemplate(articles[articleName]));
});
app.get('/ui/style.css', function (req, res) {
res.sendFile(path.join(__dirname, 'ui', 'style.css'));
});
app.get('/ui/main.js', function (req, res) {
res.sendFile(path.join(__dirname, 'ui', 'main.js'));
});
app.get('/ui/madi.png', function (req, res) {
res.sendFile(path.join(__dirname, 'ui', 'madi.png'));
});
app.get('/ui/hl.ico', function (req, res){
res.sendfile(path.join(__dirname, 'ui', 'hl.ico'));
});
// Do not change port, otherwise your app won't run on IMAD servers
// Use 8080 only for local development if you already have apache running on 80
var port = 80;
app.listen(port, function () {
console.log(`IMAD course app listening on port ${port}!`);
});