From 0eecdb5cc5e93db34ecae22df1e4f1caf2da84c4 Mon Sep 17 00:00:00 2001 From: Tim Lind Date: Wed, 7 May 2014 12:59:06 +0200 Subject: [PATCH 1/2] Initial commit with humans.txt --- humans.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 humans.txt diff --git a/humans.txt b/humans.txt new file mode 100644 index 0000000..66ac96b --- /dev/null +++ b/humans.txt @@ -0,0 +1 @@ +Site for Incremental Code, by Tim Lind. From dfbbd89f729b6d880301cd0894efd1830c2cad7e Mon Sep 17 00:00:00 2001 From: Tim Lind Date: Wed, 7 May 2014 12:59:33 +0200 Subject: [PATCH 2/2] Some draft nodejs code for a custom blog. --- blog.js | 26 ++++++++++++++++++++++++++ server.js | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 blog.js create mode 100644 server.js diff --git a/blog.js b/blog.js new file mode 100644 index 0000000..1b06fed --- /dev/null +++ b/blog.js @@ -0,0 +1,26 @@ +var fs = require('fs'); + +exports.getCategories = function(cb) { + fs.readdir('.', function(e, files) { + // filter for directories only + }); +}; + +exports.getCategoryIndex = function(category, cb) { + fs.readdir(category, function(e, files) { + cb(e, files); + }); +}; + +exports.getIndex = function(cb) { + exports.getCategories(function(e, categories) { + var index = {}; + + // TODO SYNC then callback + categories.map(function(category) { + exports.getCategoryIndex(category, function(e, posts) { + index[category] = posts; + }); + }); + }); +}; diff --git a/server.js b/server.js new file mode 100644 index 0000000..c8f21db --- /dev/null +++ b/server.js @@ -0,0 +1,32 @@ +var express = require('express'); +var app = express(); +var blog = require('./blog'); + +app.listen(3000); + +app.get('/', index); + +app.get('/post/:post', post); + +app.get('/:category', category); + +app.get('/:category/:post', post); + +function index(req, res) { + res.render('index'); +}; + +function category(req, res) { + blog.getCategoryIndex(req.params.category, function(e, files) { + if (e) console.log(e); + files.forEach(function(file) { + + }); + + res.send(files); + }); +}; + +function post(req, res) { + res.render(req.params.category + '/'+ req.params.post); +};