2020-09-13 19:28:38 +00:00
|
|
|
const fs = require('fs')
|
|
|
|
const Handlebars = require('handlebars')
|
|
|
|
|
2020-09-13 15:38:00 +00:00
|
|
|
Handlebars.registerHelper('escapeDoubleQuote', (string) => {
|
|
|
|
return string.replace(/"/g, '"')
|
|
|
|
})
|
|
|
|
|
2020-10-03 13:41:02 +00:00
|
|
|
Handlebars.registerHelper('lowerCase', (string) => {
|
|
|
|
return string.toLowerCase()
|
|
|
|
})
|
|
|
|
|
2020-09-13 19:28:38 +00:00
|
|
|
module.exports = (defaults, templatesPath, destinationPath) => {
|
|
|
|
if (defaults.categories !== null) {
|
|
|
|
const categoryTemplate = fs.readFileSync(`${templatesPath}/category.md.handlebars`, 'utf8')
|
|
|
|
const renderCategory = Handlebars.compile(categoryTemplate)
|
|
|
|
defaults.categories.forEach(category => {
|
|
|
|
fs.mkdirSync(`${destinationPath}/${category.folder}`)
|
|
|
|
const categoryReadmeContent = renderCategory(category)
|
|
|
|
fs.writeFileSync(`${destinationPath}/${category.folder}/readme.md`, categoryReadmeContent)
|
|
|
|
|
|
|
|
if (category.image !== undefined) {
|
|
|
|
fs.copyFileSync(
|
|
|
|
`../../images/${category.folder}/${category.image.filename}`,
|
|
|
|
`${destinationPath}/${category.folder}/${category.image.filename}`
|
|
|
|
)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|