sf-static/portfolio/routes/index.js
2023-02-28 19:21:07 +01:00

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;