forked from vol4ok/techtalk-node-blog-part-1
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
71 lines (61 loc) · 2.12 KB
/
Copy pathserver.js
File metadata and controls
71 lines (61 loc) · 2.12 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
var express = require("express");
var app = express();
var ejs = require("ejs");
app
.engine("ejs", ejs.renderFile)
.set("views", "views")
.set("view engine", "ejs");
app
.use(express.bodyParser())
.use(express.methodOverride())
.use(express.logger("tiny"))
.use(app.router)
.use(express.static("public"))
.listen(8080);
var posts = [
{
title: "Hello!",
date: "2013-09-10",
content: "Nullam quis risus eget urna mollis ornare vel eu leo. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Maecenas faucibus mollis interdum."
},
{
title: "My second post!",
date: "2013-09-10",
content: "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec id elit non mi porta gravida at eget metus. Integer posuere erat a ante venenatis dapibus posuere velit aliquet."
}
];
app.get("/", function(req, res){
posts = posts.sort(function(a,b){ return a.date < b.date; });
res.render("index", {posts: posts});
});
app.get("/create", function(req, res){
res.render("create");
});
app.get("/show/:id", function(req, res){
var id = parseInt(req.params.id, 10);
res.render("show", {post: posts[id]});
});
app.get("/edit/:id", function(req, res){
var id = parseInt(req.params.id, 10);
var post = posts[id];
res.render("edit", {id: id, title: post.title, content: post.content, date: post.date});
});
app.put("/update", function(req, res){
console.log(req.body);
var date = new Date();
var id = parseInt(req.body.id, 10);
var post = posts[id];
post.title = req.body.title;
post.content = req.body.content;
res.redirect("/show/"+id);
});
app.post("/create", function(req, res){
console.log(req.body);
var date = new Date();
posts.push({
title: req.body.title,
date: [date.getFullYear(), date.getMonth(), date.getDate()].join('-'),
content: req.body.content
});
res.redirect("/");
});