118 lines
3.8 KiB
JavaScript
118 lines
3.8 KiB
JavaScript
const express = require("express"),
|
|
router = express.Router(),
|
|
promise = require('promise'),
|
|
hbs = require('hbs'),
|
|
path = require('path'),
|
|
log = require("color-logs")(true, true, "Router"),
|
|
Template = require('../classes/Template.class.js'),
|
|
Article = require('../classes/Article.class.js'),
|
|
Categorie = require('../classes/Categorie.class.js'),
|
|
Articles = require('../classes/Controllers/Articles.class.js'),
|
|
Categories = require('../classes/Controllers/Categories.class.js');
|
|
|
|
var template = new Template();
|
|
router.get("/", function(req, res){
|
|
|
|
var categories = new Categories();
|
|
Promise.all([
|
|
categories.getNav()
|
|
]).then((data) => {
|
|
var nav = data[0];
|
|
var content = /*data[1]*/ "";
|
|
var disclaimer = /*data[2]*/ "";
|
|
res.setHeader("Content-type", "text/html");
|
|
var tplData = {
|
|
"blogName": config.siteTitle,
|
|
"title": config.siteHomeTitle,
|
|
"nav": nav,
|
|
"content": content,
|
|
"disclaimer": disclaimer
|
|
};
|
|
res.render('template.hbs', tplData);
|
|
}).catch((err) => {
|
|
console.log(err);
|
|
throw err;
|
|
});
|
|
/*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");
|
|
|
|
resp.send(res.end("erreur"));
|
|
});*/
|
|
|
|
|
|
});
|
|
|
|
router.get("/:uri/", function(req, res){
|
|
var categories = new Categories();
|
|
Promise.all([
|
|
categories.getNav(),
|
|
categories.getCategorie(req.params.uri),
|
|
]).then(data => {
|
|
var nav = data[0];
|
|
var categorie = data[1];
|
|
categories.getListArticles(categorie).then((result) => {
|
|
log.debug(result)
|
|
res.setHeader("Content-type", "text/html");
|
|
var tplData = {
|
|
"blogName": config.siteTitle,
|
|
"title": categorie.getTitle() + " - "+config.siteHomeTitle,
|
|
"nav": nav,
|
|
"content": result,
|
|
"disclaimer": ''
|
|
};
|
|
res.render('template.hbs', tplData);
|
|
})
|
|
/*var content = data[1];
|
|
var dataCategories = data[2];*/
|
|
|
|
}).catch(err => {
|
|
res.setHeader("Content-type", "text/plain");
|
|
res.end("erreur");
|
|
});
|
|
});
|
|
|
|
/*router.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");
|
|
});
|
|
});*/
|
|
router.use(express.static("./public"));
|
|
|
|
module.exports = router; |