mirror of
https://github.com/Mibew/simple-icons.git
synced 2024-11-17 19:04:13 +03:00
a930dc57ec
* convert scripts to esm * fix tests * fix tests * fix lints * syncFs to fsSync * named export for fs Co-authored-by: LitoMore <LitoMore@users.noreply.github.com> * fsSync to { promises as fs } * convert update-svgs-count to esm * rename data to icons * fix build script * switch svglintrc file to mjs * use node: protocol * pluralize getIcons Co-authored-by: LitoMore <LitoMore@users.noreply.github.com>
40 lines
1001 B
JavaScript
40 lines
1001 B
JavaScript
#!/usr/bin/env node
|
|
/**
|
|
* @fileoverview
|
|
* Generates a MarkDown file that lists every brand name and their slug.
|
|
*/
|
|
|
|
import { promises as fs } from 'node:fs';
|
|
import path from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
import { getIconsData, getIconSlug } from '../utils.js';
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
|
|
const rootDir = path.resolve(__dirname, '..', '..');
|
|
const slugsFile = path.resolve(rootDir, 'slugs.md');
|
|
|
|
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 |
|
|
| :--- | :--- |
|
|
`;
|
|
|
|
(async () => {
|
|
const icons = await getIconsData();
|
|
|
|
icons.forEach((icon) => {
|
|
const brandName = icon.title;
|
|
const brandSlug = getIconSlug(icon);
|
|
content += `| \`${brandName}\` | \`${brandSlug}\` |\n`;
|
|
});
|
|
|
|
await fs.writeFile(slugsFile, content);
|
|
})();
|