simple-icons/scripts/release/update-slugs-table.js
Eric Cornelissen e0df400494
Setup prettier (#6758)
* Add prettier as a dependency

* Add format command and configure prettier

I opted for single quotes to be in line with other simple-icons projects

I ignore the data file because changing its formatting is quite a bit of
trouble for all open PRs.

* Run prettier

* Replace all functions by arrow functions

* Move prettier configuration to config file

Move it to a file so editors (and other software) can pick up on the
configuration. I went with .js because (a) it allows for comments and
(2) it seems most of the config files are in JavaScript already.

* Add prettier --check when running npm run lint (This adds it to the CI as well)

* Add husky and format changes before committing

* Use object destructuring for imports consistently

* Add shebang and fileoverview to jsonlint.js
2021-10-25 21:13:10 +02:00

35 lines
872 B
JavaScript

#!/usr/bin/env node
/**
* @fileoverview
* Generates a MarkDown file that lists every brand name and their slug.
*/
const fs = require('fs');
const path = require('path');
const rootDir = path.resolve(__dirname, '..', '..');
const dataFile = path.resolve(rootDir, '_data', 'simple-icons.json');
const slugsFile = path.resolve(rootDir, 'slugs.md');
const data = require(dataFile);
const { getIconSlug } = require('../utils.js');
let content = `<!--
This file is automatically generated. If you want to change something, please
update the script at '${path.relative(rootDir, __filename)}'.
-->
# Simple Icons slugs
| Brand name | Brand slug |
| :--- | :--- |
`;
data.icons.forEach((icon) => {
const brandName = icon.title;
const brandSlug = getIconSlug(icon);
content += `| \`${brandName}\` | \`${brandSlug}\` |\n`;
});
fs.writeFileSync(slugsFile, content);