const path = require("path"), paths = require("./fileManager.js"), fs = require("fs") const defaultConfig = { "title": "Bruh!", "public": false, "hidden": true, "pinned": false, "desc": "No description... pluh!" } module.exports = { blogPosts: () => { var posts = [] var pinned = [] var dir = fs.readdirSync(paths.posts) dir.sort(function(a, b) { return fs.statSync(paths.posts + "/" + a).mtime.getTime() - fs.statSync(paths.posts + "/" + b).mtime.getTime(); }); for (var i = 0; i < dir.length; i++) { var folder = dir[i] var folderPath = path.join(paths.posts, folder) var configPath = path.join(folderPath, "config.json") if (fs.statSync(folderPath).isDirectory) { var config = {} if (fs.existsSync(configPath)) { config = JSON.parse(fs.readFileSync(configPath)) } config = Object.assign({}, defaultConfig, config) config.folder = folder if (config.public) { config.data = fs.readFileSync(path.join(folderPath, "index.md")).toString() } else if (config.hidden) { continue } if (config.pinned) { pinned.unshift(config) } else { posts.unshift(config) } } } return pinned.concat(posts) } }