116 lines
No EOL
2.6 KiB
JavaScript
116 lines
No EOL
2.6 KiB
JavaScript
var express = require('express'),
|
|
router = express.Router(),
|
|
klawSync = require('klaw-sync');
|
|
|
|
const siteName = 'SPENCER+FLAGG';
|
|
const workPath = './public/work/Portfolio/';
|
|
const path = require('path');
|
|
const filterFn = item => {
|
|
const basename = path.basename(item.path);
|
|
//return basename === '.' || basename[0] !== '.';
|
|
return !basename.includes("@");
|
|
};
|
|
const klawSyncOptions = {
|
|
depthLimit: 0,
|
|
filter: filterFn
|
|
};
|
|
|
|
/* GET home page. */
|
|
router.get('/', function(req, res, next) {
|
|
|
|
var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl;
|
|
|
|
res.render('index', {
|
|
title: siteName,
|
|
breadcrumbs: [],
|
|
items: klawSync(workPath,klawSyncOptions)
|
|
});
|
|
|
|
});
|
|
|
|
router.get('/:dir', function(req, res, next) {
|
|
|
|
res.render('index', {
|
|
title: siteName,
|
|
breadcrumbs: [
|
|
{
|
|
name: req.params.dir,
|
|
path: req.params.dir
|
|
}
|
|
],
|
|
items: klawSync(workPath+ req.params.dir,klawSyncOptions)
|
|
});
|
|
|
|
});
|
|
|
|
router.get('/:dir1/:dir2', function(req, res, next) {
|
|
|
|
res.render('index', {
|
|
title: siteName,
|
|
breadcrumbs: [
|
|
{
|
|
name: req.params.dir1,
|
|
path: req.params.dir1
|
|
},
|
|
{
|
|
name: req.params.dir2,
|
|
path: req.params.dir1 + '/' + req.params.dir2
|
|
}
|
|
],
|
|
items: klawSync(workPath+ req.params.dir1 + '/' + req.params.dir2,klawSyncOptions)
|
|
});
|
|
|
|
});
|
|
|
|
router.get('/:dir1/:dir2/:dir3', function(req, res, next) {
|
|
|
|
res.render('index', {
|
|
title: siteName,
|
|
breadcrumbs: [
|
|
{
|
|
name: req.params.dir1,
|
|
path: req.params.dir1
|
|
},
|
|
{
|
|
name: req.params.dir2,
|
|
path: req.params.dir1 + '/' + req.params.dir2
|
|
},
|
|
{
|
|
name: req.params.dir3,
|
|
path: req.params.dir1 + '/' + req.params.dir2 + '/' + req.params.dir3
|
|
}
|
|
],
|
|
items: klawSync(workPath+ req.params.dir1 + '/' + req.params.dir2 + '/' + req.params.dir3,klawSyncOptions)
|
|
});
|
|
|
|
});
|
|
|
|
router.get('/:dir1/:dir2/:dir3/:dir4', function(req, res, next) {
|
|
|
|
res.render('index', {
|
|
title: siteName,
|
|
breadcrumbs: [
|
|
{
|
|
name: req.params.dir1,
|
|
path: req.params.dir1
|
|
},
|
|
{
|
|
name: req.params.dir2,
|
|
path: req.params.dir1 + '/' + req.params.dir2
|
|
},
|
|
{
|
|
name: req.params.dir3,
|
|
path: req.params.dir1 + '/' + req.params.dir2 + '/' + req.params.dir3
|
|
},
|
|
{
|
|
name: req.params.dir4,
|
|
path: req.params.dir1 + '/' + req.params.dir2 + '/' + req.params.dir3 + '/' + req.params.dir4
|
|
}
|
|
],
|
|
items: klawSync(workPath+ req.params.dir1 + '/' + req.params.dir2 + '/' + req.params.dir3 + '/' + req.params.dir4,klawSyncOptions)
|
|
});
|
|
|
|
});
|
|
|
|
|
|
module.exports = router; |