const routes = require('express').Router(); const pageBuilder = require('../../utils/pageBuilder'); const renderBlogPost = require('../../blog/renderBlogPost'); const utils = require('../../utils/utils'); const whiskers = require('whiskers'); const url = require('url'); const fs = require('fs'); // routes.get('/', (request, result) => // { // //do something later // result.write("Not implemented yet."); // result.end(); // }); const photosBaseDir = "blogContent/photos"; photoPageBuilder = function(filename, request, templateContext) { const imagePath = "/" + photosBaseDir + filename + "/"; return new Promise((resolve, reject)=> { if(fs.existsSync(photosBaseDir + filename + "/post.md")) { var markdownContent = utils.getFileContents( photosBaseDir + filename + "/post.md"); renderBlogPost.pandocWrapper(markdownContent, "-t html5") .then((html)=> { templateContext.mainPost = html; templateContext.images = []; fs.readdirSync(photosBaseDir + filename).forEach(file=> { if(file.includes('.jpg')) //doesn't pick up mark down files { templateContext.images.push({full:imagePath+ file, preview:imagePath + "preview/" + file}); } }); resolve(); }).catch((error)=> { reject(error); }) } else if(fs.existsSync(photosBaseDir + filename + "/dir.md")) { templateContext.folders = []; templateContext.directory = true; fs.readdirSync(photosBaseDir + filename).forEach(file=> { if(!file.includes('.md') && !file.includes('.jpg') && !file.includes('private')) //only pick up folders { templateContext.folders.push({url: "/photos" + filename + "/" + file, img:imagePath + file + "/1.jpg"}); } }); renderBlogPost.pandocWrapper(utils.getFileContents( photosBaseDir + filename + "/dir.md"), "-t html5") .then((html)=> { templateContext.mainPost = html; resolve(); }).catch((error)=> { console.log(error); templateContext.error = true; resolve(); }); } else { templateContext.error = true; resolve(); } }) }; routes.get('*', (request, result) => { pageBuilder.buildPageWithTemplate(request, result, photoPageBuilder, "photos/photosEntry.html"); }); routes.get('/', (request, result) => { console.log("wham"); pageBuilder.buildPageWithTemplate(request, result, photoPageBuilder, "photos/photosEntry.html"); }); module.exports = routes;