Categories listing done

This commit is contained in:
Dryusdan 2017-06-21 00:39:50 +02:00
parent 56e4623dd8
commit 59e7b3cb8d
5 changed files with 30 additions and 28 deletions

3
.gitignore vendored
View file

@ -1,3 +1,4 @@
/node_modules/ /node_modules/
/nbproject/ /nbproject/
/rethink.sh /rethink.sh
/ressources/

31
app.js
View file

@ -3,6 +3,8 @@ const express = require('express'),
cors = require("cors"), cors = require("cors"),
app = express(), app = express(),
log = require("color-logs")(true, true, "Dryusdan.fr"), log = require("color-logs")(true, true, "Dryusdan.fr"),
fs = require("fs"),
path = require('path'),
hbs = require('hbs'); hbs = require('hbs');
log.info("Application started and now preparing"); log.info("Application started and now preparing");
@ -14,17 +16,14 @@ var corsOptions = {
"preflightContinue": false "preflightContinue": false
}; };
hbs.registerHelper('list', function(items, options) { hbs.registerHelper('list', function(tabs, options) {
//console.log(items);
var out = ''; var out = '';
var l=items.length; for(var x in tabs){
for(var i=0; i<l; i++) { for(var i in tabs[x]){
//console.log(items[i]); out = out + "" + options.fn(tabs[x][i]) + "";
out = out + "" + options.fn(items[i]) + ""; }
} }
//console.log(out);
return out; return out;
}); });
@ -45,9 +44,6 @@ class App {
res.setHeader("Content-type", "text/html"); res.setHeader("Content-type", "text/html");
res.render('template.hbs', tplData); res.render('template.hbs', tplData);
}); });
}); });
app.get("/:slug", function(req, res){ app.get("/:slug", function(req, res){
res.setHeader("Content-type", "text/plain"); res.setHeader("Content-type", "text/plain");
@ -64,5 +60,14 @@ class App {
} }
new App("/", config.appPort);
/** Preparing cache **/ /** Preparing cache **/
//async.waterfall([], ); /*async.waterfall([
function generateCache(callback){
callback;
}
], function (err){
}
);*/

View file

@ -1,21 +1,19 @@
const log = require('color-logs')(true, true, "Categories.class.js"), const log = require('color-logs')(true, true, "Categories.class.js"),
path = require('path'),
fs = require("fs"); fs = require("fs");
class Categories { class Categories {
constructor(r, rtdbConn){
this.rdbConn = rtdbConn;
this.db = r;
}
list(callback) { list(callback) {
this.db.table('categories').run(this.rdbConn, function(err, cursor){ const srcpath = 'ressources';
if(err) throw err; var listDir = fs.readdirSync(srcpath).filter(file => fs.lstatSync(path.join(srcpath, file)).isDirectory());
cursor.toArray(function(err, result){ var listCtg = {};
if(err) throw err; for(var x = 0; x < listDir.length; x++){
callback(result); var params = JSON.parse(fs.readFileSync(srcpath+'/'+listDir[x]+'/params.json', 'utf8'));
}); listCtg[x] = [{'title': params.title, 'slug': listDir[x]}]
}); }
callback(listCtg);
} }
} }

View file

@ -6,8 +6,6 @@ const log = require('color-logs')(true, true, "Template.class.js"),
var Categories = require('../classes/Categories.class.js'); var Categories = require('../classes/Categories.class.js');
class Template { class Template {
constructor(){
}
getNav(callback){ getNav(callback){
var categories = new Categories(); var categories = new Categories();

2
package-lock.json generated
View file

@ -1,5 +1,5 @@
{ {
"name": "blog", "name": "nodezzarela",
"version": "1.0.0", "version": "1.0.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"dependencies": { "dependencies": {