const fs = require("fs"); module.exports = (app)=>{ let createHTML = (dir)=>{ let article = fs.readFileSync(`${dir}/article.txt`).toString().split("\n"); let meta = fs.readFileSync(`${dir}/meta.txt`).toString().split("\n"); let route = dir.substring(dir.indexOf("/content/writing/") + 17).replace(/\//g, "-"); let html = ` ${meta[0]}

${meta[0]}

By ${meta[1]}

On ${meta[2]}

`; for(let i = 0; i < article.length; i++){ if(article[i] === "") continue; html += `

${article[i]}

`; } html += `

Add Comment

Comments

`; fs.writeFileSync(`${dir}/article.html`, html); } let createRoute = (dir)=>{ let route = dir.substring(dir.indexOf("/content/writing/") + 8); let contents = fs.readdirSync(dir); for(let i = 0; i < contents.length; i++){ if(contents[i].includes(".jpg") === true){ app.get(`${route}/${contents[i]}`, (req, res)=>{res.sendFile(`${__dirname}/content/${route}/${contents[i]}`)}); } } app.get(route, (req, res)=>{res.sendFile(`${__dirname}/content/${route}/article.html`)}); } let traverseDirectory = (dir)=>{ let contents = fs.readdirSync(dir); let hasHtml = false; for(let i = 0; i < contents.length; i++){ if(contents[i].includes(".") === false) traverseDirectory(`${dir}/${contents[i]}`); if(contents[i].includes(".html") === true) hasHtml = true; } if(contents.includes("article.txt") === true){ if(hasHtml === false) createHTML(dir); createRoute(dir); } } traverseDirectory(`${__dirname}/content/writing`); }