const fs = require('fs') const { join } = require('path') const yaml = require('node-yaml') const { sortAbc, sortInv, slugify } = require('./utils') const dir = join(__dirname, '../data') const trimIfExists = (str) => str ? str.trim() : undefined module.exports = fs.readdirSync(dir) .map(file => join(dir, file)) .map(file => yaml.readSync(file)) .map(file => { file.slug = slugify(file.title) file.type = 'category' file.content = file.content.map(({ title, description, ...meta }, i) => ({ ...meta, title: trimIfExists(title), description: trimIfExists(description), category: file.slug, color: file.color, index: i })) let sort = (a, b) => sortAbc(a.title, b.title) if (file.slug === 'articles') { sort = (a, b) => sortInv(a.date, b.date) } file.content = file.content.sort(sort) return file }) .sort((a, b) => sortAbc(a.title, b.title))