diff --git a/icons/ansible-wordmark.svg b/icons/ansible-wordmark.svg index adca713..a9bbfad 100644 --- a/icons/ansible-wordmark.svg +++ b/icons/ansible-wordmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/ansible.svg b/icons/ansible.svg index 8086fac..ff7ae40 100644 --- a/icons/ansible.svg +++ b/icons/ansible.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/anthropic-basic-dark.svg b/icons/anthropic-basic-dark.svg index 1139b2d..b9eeb4a 100644 --- a/icons/anthropic-basic-dark.svg +++ b/icons/anthropic-basic-dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/anthropic-basic-light.svg b/icons/anthropic-basic-light.svg index fcc2b3f..1c21b52 100644 --- a/icons/anthropic-basic-light.svg +++ b/icons/anthropic-basic-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/bluesky.svg b/icons/bluesky.svg index 9cc47ed..c93fefe 100644 --- a/icons/bluesky.svg +++ b/icons/bluesky.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/chatgpt.svg b/icons/chatgpt.svg index 7afeb56..06b46e3 100644 --- a/icons/chatgpt.svg +++ b/icons/chatgpt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/clerk.svg b/icons/clerk.svg index cb714e2..1663efe 100644 --- a/icons/clerk.svg +++ b/icons/clerk.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/convex.svg b/icons/convex.svg index 94def82..e9df1a7 100644 --- a/icons/convex.svg +++ b/icons/convex.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/deno-fresh.svg b/icons/deno-fresh.svg index 16ec60b..79d33d1 100644 --- a/icons/deno-fresh.svg +++ b/icons/deno-fresh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/developer-icons.svg b/icons/developer-icons.svg index c47d7b5..9d54129 100644 --- a/icons/developer-icons.svg +++ b/icons/developer-icons.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/discord.svg b/icons/discord.svg index 6424dd7..f341799 100644 --- a/icons/discord.svg +++ b/icons/discord.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/doctrine.svg b/icons/doctrine.svg index 7e1bc0d..6acc0f2 100644 --- a/icons/doctrine.svg +++ b/icons/doctrine.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/expressjs-dark.svg b/icons/expressjs-dark.svg index 2db2152..7e7cca4 100644 --- a/icons/expressjs-dark.svg +++ b/icons/expressjs-dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/expressjs-light.svg b/icons/expressjs-light.svg index 2bd3482..2bd3f7d 100644 --- a/icons/expressjs-light.svg +++ b/icons/expressjs-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/fast-api.svg b/icons/fast-api.svg index e25037b..bfff01b 100644 --- a/icons/fast-api.svg +++ b/icons/fast-api.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/flask-light.svg b/icons/flask-light.svg index ef6bb2c..4622715 100644 --- a/icons/flask-light.svg +++ b/icons/flask-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/framer-dark.svg b/icons/framer-dark.svg index 4ca29b1..68fa30d 100644 --- a/icons/framer-dark.svg +++ b/icons/framer-dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/framer-light.svg b/icons/framer-light.svg index 723076d..e070a6b 100644 --- a/icons/framer-light.svg +++ b/icons/framer-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/gmail.svg b/icons/gmail.svg index 3c5fc7a..abb0650 100644 --- a/icons/gmail.svg +++ b/icons/gmail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/hugging-face.svg b/icons/hugging-face.svg index 593dcb3..37bd00a 100644 --- a/icons/hugging-face.svg +++ b/icons/hugging-face.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/instagram.svg b/icons/instagram.svg index 5f3e6aa..3546409 100644 --- a/icons/instagram.svg +++ b/icons/instagram.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/jenkins.svg b/icons/jenkins.svg index 87193d1..ab457fa 100644 --- a/icons/jenkins.svg +++ b/icons/jenkins.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/k6.svg b/icons/k6.svg index dd548dc..89140e1 100644 --- a/icons/k6.svg +++ b/icons/k6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/kafka.svg b/icons/kafka.svg index 23460cf..1fb75ec 100644 --- a/icons/kafka.svg +++ b/icons/kafka.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/lerna-dark.svg b/icons/lerna-dark.svg index 577114f..ad0b23c 100644 --- a/icons/lerna-dark.svg +++ b/icons/lerna-dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/lerna-light.svg b/icons/lerna-light.svg index a5da749..713516b 100644 --- a/icons/lerna-light.svg +++ b/icons/lerna-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/linkedin.svg b/icons/linkedin.svg index fe41444..6d1b5a5 100644 --- a/icons/linkedin.svg +++ b/icons/linkedin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/linux.svg b/icons/linux.svg index 2b557a6..facd218 100644 --- a/icons/linux.svg +++ b/icons/linux.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/microsoft-sql-server-2.svg b/icons/microsoft-sql-server-2.svg index bced698..7cfa087 100644 --- a/icons/microsoft-sql-server-2.svg +++ b/icons/microsoft-sql-server-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/numpy.svg b/icons/numpy.svg index 2cd4eba..bdd956b 100644 --- a/icons/numpy.svg +++ b/icons/numpy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/nx.svg b/icons/nx.svg index 83e5922..44ad822 100644 --- a/icons/nx.svg +++ b/icons/nx.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/pnpm-dark-wordmark.svg b/icons/pnpm-dark-wordmark.svg index bee7f85..99c16f8 100644 --- a/icons/pnpm-dark-wordmark.svg +++ b/icons/pnpm-dark-wordmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/pnpm-dark.svg b/icons/pnpm-dark.svg index 89b6d2d..79f04bc 100644 --- a/icons/pnpm-dark.svg +++ b/icons/pnpm-dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/pnpm-light-wordmark.svg b/icons/pnpm-light-wordmark.svg index d7aa41a..27ae7c4 100644 --- a/icons/pnpm-light-wordmark.svg +++ b/icons/pnpm-light-wordmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/pnpm-light.svg b/icons/pnpm-light.svg index 0157ac2..38b8142 100644 --- a/icons/pnpm-light.svg +++ b/icons/pnpm-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/pulumi-dark-wordmark.svg b/icons/pulumi-dark-wordmark.svg index 397c0a1..dd6d648 100644 --- a/icons/pulumi-dark-wordmark.svg +++ b/icons/pulumi-dark-wordmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/pulumi-light-wordmark.svg b/icons/pulumi-light-wordmark.svg index ee88de2..e9f05d2 100644 --- a/icons/pulumi-light-wordmark.svg +++ b/icons/pulumi-light-wordmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/pulumi.svg b/icons/pulumi.svg index bcf73bd..82696d0 100644 --- a/icons/pulumi.svg +++ b/icons/pulumi.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/r.svg b/icons/r.svg index fd94db7..565686f 100644 --- a/icons/r.svg +++ b/icons/r.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/reddit-wordmark.svg b/icons/reddit-wordmark.svg index 562ca8c..7c81922 100644 --- a/icons/reddit-wordmark.svg +++ b/icons/reddit-wordmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/remix-dark-wordmark.svg b/icons/remix-dark-wordmark.svg index e8689a3..943d06d 100644 --- a/icons/remix-dark-wordmark.svg +++ b/icons/remix-dark-wordmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/remix-dark.svg b/icons/remix-dark.svg index 3a0ba4b..fc718d9 100644 --- a/icons/remix-dark.svg +++ b/icons/remix-dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/remix-light-wordmark.svg b/icons/remix-light-wordmark.svg index 69b6515..4b6df93 100644 --- a/icons/remix-light-wordmark.svg +++ b/icons/remix-light-wordmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/remix-light.svg b/icons/remix-light.svg index d1585ff..f318757 100644 --- a/icons/remix-light.svg +++ b/icons/remix-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/rust-light.svg b/icons/rust-light.svg index a19672f..97b3669 100644 --- a/icons/rust-light.svg +++ b/icons/rust-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/shopware.svg b/icons/shopware.svg index ca01de3..fc234ef 100644 --- a/icons/shopware.svg +++ b/icons/shopware.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/skype.svg b/icons/skype.svg index 42ac885..22c5389 100644 --- a/icons/skype.svg +++ b/icons/skype.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/symfony-dark.svg b/icons/symfony-dark.svg index c9478db..da09c18 100644 --- a/icons/symfony-dark.svg +++ b/icons/symfony-dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/symfony-light.svg b/icons/symfony-light.svg index cd06aac..77c9c8f 100644 --- a/icons/symfony-light.svg +++ b/icons/symfony-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/terraform.svg b/icons/terraform.svg index d0257ee..315f8b6 100644 --- a/icons/terraform.svg +++ b/icons/terraform.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/threads-dark.svg b/icons/threads-dark.svg index a753e62..9e8d78a 100644 --- a/icons/threads-dark.svg +++ b/icons/threads-dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/threads-light.svg b/icons/threads-light.svg index 932954e..6700c97 100644 --- a/icons/threads-light.svg +++ b/icons/threads-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/threejs-dark.svg b/icons/threejs-dark.svg index d300f3d..0b41c42 100644 --- a/icons/threejs-dark.svg +++ b/icons/threejs-dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/threejs-light.svg b/icons/threejs-light.svg index afde7de..c8b4b11 100644 --- a/icons/threejs-light.svg +++ b/icons/threejs-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/upwork-wordmark.svg b/icons/upwork-wordmark.svg index d3e671e..1e377a8 100644 --- a/icons/upwork-wordmark.svg +++ b/icons/upwork-wordmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/vagrant.svg b/icons/vagrant.svg index c717c64..a49b44c 100644 --- a/icons/vagrant.svg +++ b/icons/vagrant.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/vercel-dark-wordmark.svg b/icons/vercel-dark-wordmark.svg index 7c2755b..ac1e605 100644 --- a/icons/vercel-dark-wordmark.svg +++ b/icons/vercel-dark-wordmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/vercel-dark.svg b/icons/vercel-dark.svg index eac51d3..3179fe3 100644 --- a/icons/vercel-dark.svg +++ b/icons/vercel-dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/vercel-light-wordmark.svg b/icons/vercel-light-wordmark.svg index ce47fa2..2f1d7e1 100644 --- a/icons/vercel-light-wordmark.svg +++ b/icons/vercel-light-wordmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/vercel-light.svg b/icons/vercel-light.svg index cfc1bf4..0984ab9 100644 --- a/icons/vercel-light.svg +++ b/icons/vercel-light.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/webrtc.svg b/icons/webrtc.svg index 3691e75..c3efd46 100644 --- a/icons/webrtc.svg +++ b/icons/webrtc.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/youtube-wordmark.svg b/icons/youtube-wordmark.svg index 71ccf85..81c787a 100644 --- a/icons/youtube-wordmark.svg +++ b/icons/youtube-wordmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/zen.svg b/icons/zen.svg index 9671a4a..571e273 100644 --- a/icons/zen.svg +++ b/icons/zen.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/lib/createDeveloperIcon.ts b/lib/createDeveloperIcon.ts index fb0899b..0f6941f 100644 --- a/lib/createDeveloperIcon.ts +++ b/lib/createDeveloperIcon.ts @@ -8,14 +8,27 @@ export const createDeveloperIcon = ( iconContent: string, path: string, ) => { + const idPrefix = capitalizeFirstletter(iconName, true); + let keySeq = 0; + const optimizedSvg = optimize(iconContent, { path, plugins: [ ...svgoConfig.plugins, + { + name: "addKeyAttr", + fn: () => ({ + element: { + enter: (node) => { + node.attributes.key = `${idPrefix}__${keySeq++}`; + }, + }, + }), + }, { name: "prefixIds", params: { - prefix: capitalizeFirstletter(iconName, true), + prefix: idPrefix, }, }, ] as PluginConfig[], diff --git a/svgo.config.mjs b/svgo.config.mjs index 83a12e6..ee781be 100644 --- a/svgo.config.mjs +++ b/svgo.config.mjs @@ -24,18 +24,5 @@ export default { }; }, }, - { - name: "addKeyAttr", - description: "Add key attribute", - fn: () => { - return { - element: { - enter: (node) => { - node.attributes.key = Math.random().toString(36).substring(2, 9); - }, - }, - }; - }, - }, ], };