const fs = require('fs') const frontmatter = require('front-matter') const POSTS_PATH = './kronika/wpisy' function getPostAttributes(filePath) { const fileContent = fs.readFileSync(filePath, "utf-8") const post = frontmatter(fileContent); return post.attributes } function getPosts() { const routesArray = [] try { const years = fs.readdirSync(`${POSTS_PATH}`) years.forEach((year) => { const months = fs.readdirSync(`${POSTS_PATH}/${year}`) months.forEach((month) => { const days = fs.readdirSync(`${POSTS_PATH}/${year}/${month}`) days.forEach((day) => { const files = fs.readdirSync(`${POSTS_PATH}/${year}/${month}/${day}`) files.forEach((file) => { const title = file.substr(0, file.lastIndexOf('.')) const route = `/kronika/${year}/${month}/${day}/${title}` const fsRoute = `${POSTS_PATH}/${year}/${month}/${day}/${file}` const attributes = getPostAttributes(fsRoute) routesArray.push({ year, month, day, title, attributes, file, fsRoute, route }) }) }) }) }) } finally { return routesArray } } function createRoutesArray() { let posts = getPosts() return posts.map(post => post.route) } module.exports = { getPosts, createRoutesArray }