758
packages/vendors/VENDORS.md
vendored
758
packages/vendors/VENDORS.md
vendored
File diff suppressed because it is too large
Load Diff
38
packages/vendors/scripts/build-md.mjs
vendored
38
packages/vendors/scripts/build-md.mjs
vendored
@@ -17,9 +17,45 @@ const formatAsList = (array) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
file.write('# Vendors\n\n');
|
file.write('# Vendors\n\n');
|
||||||
|
file.write('## Table of Contents by Category\n\n');
|
||||||
|
|
||||||
|
const categoriesMap = new Map();
|
||||||
|
|
||||||
|
for (const vendor of vendors) {
|
||||||
|
const category = (vendor.category || vendor.categories || 'Uncategorized');
|
||||||
|
|
||||||
|
if (!categoriesMap.has(category)) {
|
||||||
|
categoriesMap.set(category, []);
|
||||||
|
}
|
||||||
|
|
||||||
|
categoriesMap.get(category).push(vendor.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
const sortedCategories = [...categoriesMap.keys()].sort();
|
||||||
|
|
||||||
|
for (const category of sortedCategories) {
|
||||||
|
file.write(`### ${category}\n\n`);
|
||||||
|
|
||||||
|
const vendorsInCategory = categoriesMap.get(category).sort();
|
||||||
|
for (const vendorName of vendorsInCategory) {
|
||||||
|
// Create proper anchor by:
|
||||||
|
// 1. Converting to lowercase
|
||||||
|
// 2. Replacing spaces with hyphens
|
||||||
|
// 3. Removing parentheses, dots, and other special characters
|
||||||
|
const anchor = vendorName.toLowerCase()
|
||||||
|
.replace(/\s+/g, '-')
|
||||||
|
.replace(/[\(\)\.]/g, '')
|
||||||
|
.replace(/[^a-z0-9\-]/g, '');
|
||||||
|
|
||||||
|
file.write(`- [${vendorName}](#${anchor})\n`);
|
||||||
|
}
|
||||||
|
|
||||||
|
file.write('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
file.write('---\n\n');
|
||||||
|
|
||||||
for (const vendor of vendors) {
|
for (const vendor of vendors) {
|
||||||
// Vendor name and description
|
|
||||||
file.write(`## ${vendor.name}\n\n`);
|
file.write(`## ${vendor.name}\n\n`);
|
||||||
if (vendor.description) {
|
if (vendor.description) {
|
||||||
file.write(`${vendor.description}\n\n`);
|
file.write(`${vendor.description}\n\n`);
|
||||||
|
|||||||
Reference in New Issue
Block a user