mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-01-22 17:30:00 +00:00
37 lines
799 B
JavaScript
37 lines
799 B
JavaScript
|
import slugify from 'slugify'
|
||
|
import path from 'path'
|
||
|
import fs from 'fs'
|
||
|
import { promisify } from 'util'
|
||
|
|
||
|
const writeFile = promisify(fs.writeFile)
|
||
|
|
||
|
import { words } from './undefined-words'
|
||
|
const defintionPath = path.resolve(process.cwd(), '11ty/definitions/')
|
||
|
|
||
|
const template = `
|
||
|
---
|
||
|
title: {{title}}
|
||
|
slug: {{slug}}
|
||
|
defined: false
|
||
|
---
|
||
|
`
|
||
|
|
||
|
export function createDefinitions() {
|
||
|
return words.forEach(async (word) => {
|
||
|
const title = word
|
||
|
const slug = slugify(word.toLowerCase().replace(/ \([a-z]+\)| ([a-z-]+) slur/i, ''))
|
||
|
|
||
|
const content = template.replace('{{title}}', title).replace('{{slug}}', slug).trim()
|
||
|
|
||
|
try {
|
||
|
await writeFile(`${defintionPath}/${slug}.md`, content, 'utf8')
|
||
|
} catch (e) {
|
||
|
console.error(e)
|
||
|
|
||
|
process.exit(1)
|
||
|
}
|
||
|
|
||
|
return true
|
||
|
})
|
||
|
}
|