mirror of
https://github.com/simple-icons/simple-icons.git
synced 2024-12-26 01:13:41 +02:00
39 lines
983 B
JavaScript
39 lines
983 B
JavaScript
/**
|
|
* @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 '../../sdk.mjs';
|
|
|
|
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);
|
|
})();
|