selfdefined/_util/create-empty-definitions.js
Oscar 10c0a7296d
💅 Update ESLint scope (#204)
* lint: let eslint lint all js files in project && auto-fix

* lint: ignore dist, unignore eleventy config

* del unused minified file

* 💅
2020-06-11 10:12:58 -07:00

42 lines
848 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;
});
}