fix(docs): Fix data api

Changed files
+43 -8
docs
.vitepress
api
categories
figma
tags
scripts
+1
.gitignore
··· 34 docs/.vitepress/data/iconMetaData.ts 35 docs/.vitepress/data/releaseMetaData.json 36 docs/.vitepress/data/releaseMetaData 37 docs/.vitepress/data/iconDetails 38 docs/.vitepress/data/relatedIcons.json 39 docs/.vercel
··· 34 docs/.vitepress/data/iconMetaData.ts 35 docs/.vitepress/data/releaseMetaData.json 36 docs/.vitepress/data/releaseMetaData 37 + docs/.vitepress/data/categoriesData.json 38 docs/.vitepress/data/iconDetails 39 docs/.vitepress/data/relatedIcons.json 40 docs/.vercel
-1
docs/.vitepress/api/categories/index.get.ts
··· 1 - import { eventHandler, setResponseHeader } from 'h3'; 2 import iconMetaData from '../../data/iconMetaData'; 3 4 export default eventHandler((event) => {
··· 1 import iconMetaData from '../../data/iconMetaData'; 2 3 export default eventHandler((event) => {
+5 -6
docs/.vitepress/api/data/index.get.ts docs/.vitepress/api/figma/data.ts
··· 1 - import { eventHandler, setResponseHeader } from 'h3'; 2 - import iconNodes from '../../data/iconNodes'; 3 - import { IconNodeWithKeys } from '../../theme/types.ts'; 4 - import iconMetaData from '../../data/iconMetaData.ts'; 5 import releaseMeta from '../../data/releaseMetaData.json'; 6 - import { getAllCategoryFiles } from '../../lib/categories.ts'; 7 8 const dataResponse = { 9 icons: Object.entries(iconNodes).reduce((acc, [name, iconNode]) => { ··· 30 31 return acc; 32 }, {}), 33 - categories: getAllCategoryFiles(), 34 }; 35 36 export default eventHandler((event) => {
··· 1 + import iconNodes from '../../data/iconNodes/index.ts'; 2 + import { IconNodeWithKeys } from '../../theme/types'; 3 + import iconMetaData from '../../data/iconMetaData'; 4 import releaseMeta from '../../data/releaseMetaData.json'; 5 + import categories from '../../data/categoriesData.json'; 6 7 const dataResponse = { 8 icons: Object.entries(iconNodes).reduce((acc, [name, iconNode]) => { ··· 29 30 return acc; 31 }, {}), 32 + categories, 33 }; 34 35 export default eventHandler((event) => {
-1
docs/.vitepress/api/tags/index.get.ts
··· 1 - import { eventHandler, setResponseHeader } from 'h3'; 2 import iconMetaData from '../../data/iconMetaData'; 3 4 export default eventHandler((event) => {
··· 1 import iconMetaData from '../../data/iconMetaData'; 2 3 export default eventHandler((event) => {
+1
docs/package.json
··· 12 "prebuild:iconNodes": "node ../scripts/writeIconNodes.mjs", 13 "prebuild:metaJson": "node ../scripts/writeIconMetaIndex.mjs", 14 "prebuild:releaseJson": "node ../scripts/writeReleaseMetadata.mjs", 15 "prebuild:relatedIcons": "node ../scripts/writeIconRelatedIcons.mjs", 16 "prebuild:iconDetails": "node ../scripts/writeIconDetails.mjs", 17 "postbuild:vercelJson": "node ../scripts/writeVercelOutput.mjs",
··· 12 "prebuild:iconNodes": "node ../scripts/writeIconNodes.mjs", 13 "prebuild:metaJson": "node ../scripts/writeIconMetaIndex.mjs", 14 "prebuild:releaseJson": "node ../scripts/writeReleaseMetadata.mjs", 15 + "prebuild:categoriesJson": "node ./scripts/writeCategoriesMetadata.mjs", 16 "prebuild:relatedIcons": "node ../scripts/writeIconRelatedIcons.mjs", 17 "prebuild:iconDetails": "node ../scripts/writeIconDetails.mjs", 18 "postbuild:vercelJson": "node ../scripts/writeVercelOutput.mjs",
+36
docs/scripts/writeCategoriesMetadata.mjs
···
··· 1 + import fs from 'fs'; 2 + import path from 'path'; 3 + 4 + const currentDir = process.cwd(); 5 + const dataDirectory = path.resolve(currentDir, '.vitepress/data'); 6 + const directory = path.join(process.cwd(), '../categories'); 7 + 8 + function getAllCategoryFiles() { 9 + const fileNames = fs.readdirSync(directory).filter((file) => path.extname(file) === '.json'); 10 + 11 + return fileNames.map((fileName) => { 12 + const name = path.basename(fileName, '.json'); 13 + const fileContent = fs.readFileSync(path.join(directory, fileName), 'utf8'); 14 + 15 + const parsedFileContent = JSON.parse(fileContent); 16 + 17 + return { 18 + name, 19 + title: parsedFileContent.title, 20 + }; 21 + }); 22 + } 23 + 24 + const categoriesFile = path.resolve(dataDirectory, `categoriesData.json`); 25 + 26 + const categoriesData = getAllCategoryFiles() 27 + 28 + fs.promises 29 + .writeFile(categoriesFile, JSON.stringify(categoriesData, null, 2), 'utf-8') 30 + .then(() => { 31 + console.log('Successfully written categoriesData.json file'); 32 + }) 33 + .catch((error) => { 34 + throw new Error(`Something went wrong generating the categoriesData.json file,\n ${error}`); 35 + }); 36 +