81 lines
3 KiB
JavaScript
81 lines
3 KiB
JavaScript
class Blog{
|
|
constructor(express){
|
|
express.get("/", function(req, res){
|
|
var categories = new Categories();
|
|
Promise.all([
|
|
template.getNav(),
|
|
categories.getHome(),
|
|
categories.getDisclaimer()
|
|
]).then(data => {
|
|
var nav = data[0];
|
|
var content = data[1];
|
|
var disclaimer = data[2];
|
|
res.setHeader("Content-type", "text/html");
|
|
var tplData = {
|
|
"blogName": config.blogName,
|
|
"title": config.homeTitle,
|
|
"nav": nav,
|
|
"content": content,
|
|
"disclaimer": disclaimer
|
|
};
|
|
res.render('template.hbs', tplData);
|
|
}).catch(err => {
|
|
res.setHeader("Content-type", "text/plain");
|
|
|
|
res.end("erreur");
|
|
});
|
|
|
|
|
|
});
|
|
express.get("/:slug", function(req, res){
|
|
var categories = new Categories();
|
|
Promise.all([
|
|
template.getNav(),
|
|
categories.getListArticles(req.params.slug),
|
|
categories.getCategorie(req.params.slug)
|
|
]).then(data => {
|
|
var nav = data[0];
|
|
var content = data[1];
|
|
var dataCategories = data[2];
|
|
res.setHeader("Content-type", "text/html");
|
|
var tplData = {
|
|
"blogName": config.blogName,
|
|
"title": dataCategories.title+" - "+ config.blogName,
|
|
"nav": nav,
|
|
"content": content,
|
|
"disclaimer": ''
|
|
};
|
|
res.render('template.hbs', tplData);
|
|
}).catch(err => {
|
|
res.setHeader("Content-type", "text/plain");
|
|
|
|
res.end("erreur");
|
|
});
|
|
});
|
|
express.get("/:categories/:slug", function(req, res){
|
|
var categories = new Categories();
|
|
var articles = new Articles();
|
|
Promise.all([
|
|
template.getNav(),
|
|
categories.getCategorie(req.params.categories),
|
|
articles.getArticle(req.params.categories, req.params.slug)
|
|
]).then(data => {
|
|
var nav = data[0];
|
|
var dataCategories = data[1];
|
|
var content = data[2];
|
|
res.setHeader("Content-type", "text/html");
|
|
var tplData = {
|
|
"blogName": config.blogName,
|
|
"title": articles.title+" - "+dataCategories.title+" - "+ config.blogName,
|
|
"nav": nav,
|
|
"content": content,
|
|
"disclaimer": ''
|
|
};
|
|
res.render('template.hbs', tplData);
|
|
}).catch(err => {
|
|
res.setHeader("Content-type", "text/plain");
|
|
res.end("erreur");
|
|
});
|
|
});
|
|
}
|
|
} |