'use strict' const fs = require('fs') const path = require('path') const matter = require('gray-matter') const grayMatterOptions = { lang: 'toml', delims: '+++' } function* lowercaseKeys (iterator) { for (let [k, v] of iterator) { yield [String(k).toLowerCase(), v] } } function canonicaliseMetadata (meta) { if (meta.data) { meta.data = new Map(lowercaseKeys(Object.entries(meta.data))) } else { meta.data = new Map() } return meta } function get (filename) { return canonicaliseMetadata(matter.read(filename, grayMatterOptions)) } function getFolder (folder) { return fs.readdirSync(folder).map(f => path.resolve(folder, f)).map(get) } module.exports = { get, getFolder }