From dffffc7affcd6cf47b62a1fb8548ba7808793157 Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Thu, 27 Nov 2025 11:06:47 +0100 Subject: [PATCH 01/37] fix: Reverts vercel output path --- docs/scripts/writeVercelOutput.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/scripts/writeVercelOutput.mjs b/docs/scripts/writeVercelOutput.mjs index e76c1e283..3f4e04d67 100644 --- a/docs/scripts/writeVercelOutput.mjs +++ b/docs/scripts/writeVercelOutput.mjs @@ -32,7 +32,7 @@ const vercelRouteConfig = { }, { src: '(?/api/.*)', - dest: '/__fallback?url=$url', + dest: '/__nitro?url=$url', }, ...iconAliasesRedirectRoutes, ], From 1f113d4274232240841e11b98d5b58c69015c6b6 Mon Sep 17 00:00:00 2001 From: Ahmed Dghaies Date: Fri, 28 Nov 2025 14:42:51 +0100 Subject: [PATCH 02/37] feat(icons): added `scooter` icon (#3818) * Add scooter icon * edit tags * edit icon * edit icon * deit icon * edit icon * edit contributors * Update scooter.json --------- Co-authored-by: Karsa Co-authored-by: Eric Fennis --- icons/scooter.json | 22 ++++++++++++++++++++++ icons/scooter.svg | 16 ++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 icons/scooter.json create mode 100644 icons/scooter.svg diff --git a/icons/scooter.json b/icons/scooter.json new file mode 100644 index 000000000..5fd8d6166 --- /dev/null +++ b/icons/scooter.json @@ -0,0 +1,22 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "Ahmed-Dghaies", + "karsa-mistmere" + ], + "tags": [ + "vehicle", + "drive", + "trip", + "journey", + "transport", + "electric", + "ride", + "urban", + "commute", + "speed" + ], + "categories": [ + "transportation" + ] +} diff --git a/icons/scooter.svg b/icons/scooter.svg new file mode 100644 index 000000000..c0d71ca91 --- /dev/null +++ b/icons/scooter.svg @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file From de4e8d0acd2ce0968cf6e7eae8ba68aa1fb0b007 Mon Sep 17 00:00:00 2001 From: Jamie Law Date: Wed, 3 Dec 2025 11:45:33 +0000 Subject: [PATCH 03/37] fix(icons): changed `plug` icon (#3841) * Updated icons/plug.svg * Updated icons/plug.json --- icons/plug.json | 6 +++++- icons/plug.svg | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/icons/plug.json b/icons/plug.json index 8401263cb..d7e23b6a3 100644 --- a/icons/plug.json +++ b/icons/plug.json @@ -10,7 +10,11 @@ "energy", "electronics", "socket", - "outlet" + "outlet", + "power", + "voltage", + "current", + "charger" ], "categories": [ "devices", diff --git a/icons/plug.svg b/icons/plug.svg index 0b92aeee8..f28b6f0ab 100644 --- a/icons/plug.svg +++ b/icons/plug.svg @@ -10,7 +10,7 @@ stroke-linejoin="round" > - - + + From 2e4c9a65bed19ec007b58cc086cb8a4bd5620308 Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Wed, 3 Dec 2025 13:01:26 +0100 Subject: [PATCH 04/37] fix(icons): changed `thermometer-sun` icon (#3773) * Updated icons/thermometer-sun.svg * Updated icons/thermometer-sun.json * Modify SVG paths in thermometer-sun icon --- icons/thermometer-sun.json | 3 ++- icons/thermometer-sun.svg | 12 ++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/icons/thermometer-sun.json b/icons/thermometer-sun.json index cbe8061c5..96ce6b63c 100644 --- a/icons/thermometer-sun.json +++ b/icons/thermometer-sun.json @@ -2,7 +2,8 @@ "$schema": "../icon.schema.json", "contributors": [ "ericfennis", - "karsa-mistmere" + "karsa-mistmere", + "jguddas" ], "tags": [ "temperature", diff --git a/icons/thermometer-sun.svg b/icons/thermometer-sun.svg index be25fc82c..f014333ed 100644 --- a/icons/thermometer-sun.svg +++ b/icons/thermometer-sun.svg @@ -9,10 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - + + + + + + From 67e9efb8019c72382ed7d638fb4eebfa647a78cb Mon Sep 17 00:00:00 2001 From: Eden Yemini Date: Wed, 3 Dec 2025 14:26:43 +0200 Subject: [PATCH 05/37] fix(icons): Shrink square-scissors icons to match optical volume (#3603) * Update square-scissors to match optical volume * Update square-bottom-dashed-scissors to match optical volume --------- Co-authored-by: Karsa --- icons/square-bottom-dashed-scissors.json | 3 ++- icons/square-bottom-dashed-scissors.svg | 22 ++++++++++++++-------- icons/square-scissors.json | 3 ++- icons/square-scissors.svg | 12 ++++++------ 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/icons/square-bottom-dashed-scissors.json b/icons/square-bottom-dashed-scissors.json index d7ce5f87b..7e640c469 100644 --- a/icons/square-bottom-dashed-scissors.json +++ b/icons/square-bottom-dashed-scissors.json @@ -1,7 +1,8 @@ { "$schema": "../icon.schema.json", "contributors": [ - "danielbayley" + "danielbayley", + "eden881" ], "tags": [ "cut", diff --git a/icons/square-bottom-dashed-scissors.svg b/icons/square-bottom-dashed-scissors.svg index 878cf0cae..7cc58c59f 100644 --- a/icons/square-bottom-dashed-scissors.svg +++ b/icons/square-bottom-dashed-scissors.svg @@ -9,12 +9,18 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - - - + + + + + + + + + + + + + + diff --git a/icons/square-scissors.json b/icons/square-scissors.json index 779249a82..3dc847e02 100644 --- a/icons/square-scissors.json +++ b/icons/square-scissors.json @@ -1,7 +1,8 @@ { "$schema": "../icon.schema.json", "contributors": [ - "danielbayley" + "danielbayley", + "eden881" ], "tags": [ "cut", diff --git a/icons/square-scissors.svg b/icons/square-scissors.svg index 4ad399615..1ea817e6b 100644 --- a/icons/square-scissors.svg +++ b/icons/square-scissors.svg @@ -9,10 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - + + + + + + From f183c3ba2003b5fecd5ef6ac409b6109a5df251e Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Fri, 5 Dec 2025 09:11:17 +0100 Subject: [PATCH 06/37] feat(preview-comment): add symmetry preview (#3823) --- .../api/gh-icon/symmetry/[...data].get.ts | 55 +++++++++++++++++++ scripts/generateChangedIconsCommentMarkup.mts | 38 ++++++++++++- 2 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 docs/.vitepress/api/gh-icon/symmetry/[...data].get.ts diff --git a/docs/.vitepress/api/gh-icon/symmetry/[...data].get.ts b/docs/.vitepress/api/gh-icon/symmetry/[...data].get.ts new file mode 100644 index 000000000..573be976e --- /dev/null +++ b/docs/.vitepress/api/gh-icon/symmetry/[...data].get.ts @@ -0,0 +1,55 @@ +import { eventHandler, setResponseHeader, defaultContentType } from 'h3'; +import { renderToString } from 'react-dom/server'; +import { createElement } from 'react'; +import Diff from '../../../lib/SvgPreview/Diff.tsx'; + +export default eventHandler((event) => { + const { params } = event.context; + + const pathData = params.data.split('/'); + const data = pathData.at(-1).slice(0, -4); + const [operation] = pathData; + + const newSrc = Buffer.from(data, 'base64') + .toString('utf8') + .replaceAll('\n', '') + .replace(/]*>|<\/svg>/g, ''); + + const width = parseInt( + (newSrc.includes('${newSrc}`; + } else if (operation === 'flip-horizontal') { + oldSrc = `${newSrc}`; + } else if (operation === 'flip-vertical') { + oldSrc = `${newSrc}`; + } else if (operation === 'flip-backslash') { + oldSrc = `${newSrc}`; + } else if (operation === 'flip-slash') { + oldSrc = `${newSrc}`; + } else { + return ''; + } + + const svg = Buffer.from( + // We can't use jsx here, is not supported here by nitro. + renderToString( + createElement(Diff, { oldSrc, newSrc, showGrid: true, height, width }, children), + ), + ).toString('utf8'); + + defaultContentType(event, 'image/svg+xml'); + setResponseHeader(event, 'Cache-Control', 'public,max-age=31536000'); + + return svg; +}); diff --git a/scripts/generateChangedIconsCommentMarkup.mts b/scripts/generateChangedIconsCommentMarkup.mts index e1cc65cb0..4e1d3ec66 100644 --- a/scripts/generateChangedIconsCommentMarkup.mts +++ b/scripts/generateChangedIconsCommentMarkup.mts @@ -52,7 +52,8 @@ const getImageTagsByFiles = ( const svgFiles = await readSvgDirectory(ICONS_DIR); const svgFilePaths = svgFiles.map((file) => `icons/${file}`); -const iconsFilteredByName = (search: string) => svgFilePaths.filter((file) => file.includes(search)); +const iconsFilteredByName = (search: string) => + svgFilePaths.filter((file) => file.includes(search)); const cohesionRandomImageTags = getImageTagsByFiles( shuffleArray(svgFilePaths).slice(0, changedFiles.length), @@ -120,6 +121,30 @@ const changeFilesDiffImageTags = getImageTagsByFiles( 400, ).join(' '); +const changeFilesSymmetryImageTagsRotate180 = getImageTagsByFiles( + changedFiles, + () => `${BASE_URL}/symmetry/rotate-180`, + 400, +).join(' '); + +const changeFilesSymmetryImageTagsFlipHorizontal = getImageTagsByFiles( + changedFiles, + () => `${BASE_URL}/symmetry/flip-horizontal`, + 400, +).join(' '); + +const changeFilesSymmetryImageTagsFlipVertical = getImageTagsByFiles( + changedFiles, + () => `${BASE_URL}/symmetry/flip-vertical`, + 400, +).join(' '); + +const changeFilesSymmetryImageTagsFlipSlash = getImageTagsByFiles( + changedFiles, + () => `${BASE_URL}/symmetry/flip-slash`, + 400, +).join(' '); + const readyToUseCode = changedFiles .map((changedFile) => { const svgContent = fs.readFileSync(path.join(process.cwd(), changedFile), 'utf-8'); @@ -179,6 +204,17 @@ ${changeFilesXRayImageTags} ${changeFilesDiffImageTags}
+Icon Symmetry +

Flip Horizontal

+${changeFilesSymmetryImageTagsFlipHorizontal} +

Flip Vertical

+${changeFilesSymmetryImageTagsFlipVertical} +

Flip Diagonal

+${changeFilesSymmetryImageTagsFlipSlash} +

Rotate 180°

+${changeFilesSymmetryImageTagsRotate180} + +
Icons as code Works for: \`lucide-react\`, \`lucide-react-native\`, \`lucide-preact\`, \`lucide-vue-next\` From 02b35e2518fb2c940ab29a5e4c5d91a74c30d40e Mon Sep 17 00:00:00 2001 From: Nathan De Pachtere Date: Fri, 5 Dec 2025 09:18:42 +0100 Subject: [PATCH 07/37] feat(icons): added `estimated-weight` icon (#3822) * Added icons/estimated-weight.svg * Added icons/estimated-weight.json * Update icons/estimated-weight.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Change name + reshape tilde * Change name to weight-tilde * Update weight-tilde.json removed weight and tilde, since they're part of the name --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Karsa --- icons/weight-tilde.json | 20 ++++++++++++++++++++ icons/weight-tilde.svg | 15 +++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 icons/weight-tilde.json create mode 100644 icons/weight-tilde.svg diff --git a/icons/weight-tilde.json b/icons/weight-tilde.json new file mode 100644 index 000000000..9032f17de --- /dev/null +++ b/icons/weight-tilde.json @@ -0,0 +1,20 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "nathan-de-pachtere" + ], + "tags": [ + "measure", + "scale", + "estimate", + "load", + "balance", + "size", + "measurement", + "quantity", + "mass" + ], + "categories": [ + "math" + ] +} diff --git a/icons/weight-tilde.svg b/icons/weight-tilde.svg new file mode 100644 index 000000000..0a4c8f94b --- /dev/null +++ b/icons/weight-tilde.svg @@ -0,0 +1,15 @@ + + + + + From c4e5730bc40193035b45654c87433898846977ad Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Fri, 5 Dec 2025 09:27:34 +0100 Subject: [PATCH 08/37] fix(workflow): Fix permissions release worklfow --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d38b1f2b..9794a1655 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ on: permissions: id-token: write # Required for OIDC - contents: read + contents: write jobs: create-release: @@ -23,8 +23,8 @@ jobs: - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v6 with: - cache: 'pnpm' - node-version-file: 'package.json' + cache: "pnpm" + node-version-file: "package.json" - name: Install dependencies run: pnpm install --frozen-lockfile @@ -103,7 +103,7 @@ jobs: start-release: if: github.repository == 'lucide-icons/lucide' needs: create-release - uses: './.github/workflows/release.yml' + uses: "./.github/workflows/release.yml" secrets: inherit with: version: ${{ needs.create-release.outputs.VERSION }} From 2e7d806282a11364ccdc08320cb70f3080d0c718 Mon Sep 17 00:00:00 2001 From: Jamie Law Date: Fri, 5 Dec 2025 08:53:31 +0000 Subject: [PATCH 09/37] fix(icons): changed `flashlight` icons (#3843) * Update flashlight.svg Arcified ends and adjusted the tapering * Update flashlight-off.svg Update to match `flashlight.svg` * Update flashlight.json Added attribution and tags * Update flashlight-off.json * Update flashlight.svg Correctly round bottom corners * Update flashlight-off.svg --- icons/flashlight-off.json | 11 +++++++++-- icons/flashlight-off.svg | 9 +++++---- icons/flashlight.json | 11 +++++++++-- icons/flashlight.svg | 6 +++--- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/icons/flashlight-off.json b/icons/flashlight-off.json index 527f4ea92..1be60f41a 100644 --- a/icons/flashlight-off.json +++ b/icons/flashlight-off.json @@ -4,10 +4,17 @@ "Andreto", "ericfennis", "karsa-mistmere", - "csandman" + "csandman", + "jamiemlaw" ], "tags": [ - "torch" + "torch", + "light", + "beam", + "emergency", + "safety", + "tool", + "bright" ], "categories": [ "photography", diff --git a/icons/flashlight-off.svg b/icons/flashlight-off.svg index bc259f8c2..37d5a9a4e 100644 --- a/icons/flashlight-off.svg +++ b/icons/flashlight-off.svg @@ -9,8 +9,9 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - + + + + + diff --git a/icons/flashlight.json b/icons/flashlight.json index 1084ff551..f9ce0cceb 100644 --- a/icons/flashlight.json +++ b/icons/flashlight.json @@ -2,10 +2,17 @@ "$schema": "../icon.schema.json", "contributors": [ "csandman", - "ericfennis" + "ericfennis", + "jamiemlaw" ], "tags": [ - "torch" + "torch", + "light", + "beam", + "emergency", + "safety", + "tool", + "bright" ], "categories": [ "photography", diff --git a/icons/flashlight.svg b/icons/flashlight.svg index f4de3f74a..712ee0eab 100644 --- a/icons/flashlight.svg +++ b/icons/flashlight.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - - - + + + From 9076da5f1ba7d90713e4c69edb8a9471a40bc7d2 Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Fri, 5 Dec 2025 13:46:42 +0100 Subject: [PATCH 10/37] fix(icons): changed `bubbles` icon (#3774) * Updated icons/bubbles.svg * Updated icons/bubbles.svg * Updated icons/bubbles.json --- icons/bubbles.json | 3 ++- icons/bubbles.svg | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/icons/bubbles.json b/icons/bubbles.json index 90941185e..6426c8b31 100644 --- a/icons/bubbles.json +++ b/icons/bubbles.json @@ -2,7 +2,8 @@ "$schema": "../icon.schema.json", "contributors": [ "vqh2602", - "jguddas" + "jguddas", + "karsa-mistmere" ], "tags": [ "water", diff --git a/icons/bubbles.svg b/icons/bubbles.svg index bf3ebe957..c11214f2c 100644 --- a/icons/bubbles.svg +++ b/icons/bubbles.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - + From b4405f05ab4f16528b798d8fc49e93bc8c3fc107 Mon Sep 17 00:00:00 2001 From: Karsa Date: Fri, 5 Dec 2025 14:18:46 +0100 Subject: [PATCH 11/37] feat(site): add brand stop words to icon search (#3824) * feat(site): added extended no results placeholder with brand icon stop words * feat(site): fix grammatical error * feat: extract brand stopwords & update github action to use these stopwords * Apply suggestions from code review Co-authored-by: Jakob Guddas * feat: only use icon name section for closing brand request issues * feat: added mcp brand stopword --------- Co-authored-by: Jakob Guddas Co-authored-by: Eric Fennis --- .../close-issue-with-banned-phrases.yml | 39 ++- .gitignore | 2 +- brand-stopwords.json | 149 ++++++++++ .../icons/IconsCategoryOverview.vue | 83 +++--- .../theme/components/icons/IconsOverview.vue | 49 ++-- .../theme/components/icons/NoResults.vue | 267 +++++++++++++++--- .../theme/utils/useSearchPlaceholder.ts | 41 +++ docs/package.json | 1 + docs/scripts/writeBrandStopwords.mjs | 15 + 9 files changed, 515 insertions(+), 131 deletions(-) create mode 100644 brand-stopwords.json create mode 100644 docs/.vitepress/theme/utils/useSearchPlaceholder.ts create mode 100644 docs/scripts/writeBrandStopwords.mjs diff --git a/.github/workflows/close-issue-with-banned-phrases.yml b/.github/workflows/close-issue-with-banned-phrases.yml index e6dd40207..abd2d7c7f 100644 --- a/.github/workflows/close-issue-with-banned-phrases.yml +++ b/.github/workflows/close-issue-with-banned-phrases.yml @@ -1,4 +1,4 @@ -name: Close Issue with Banned Phrases +name: Close Icon Requests with Brand Terms on: issues: @@ -13,23 +13,36 @@ jobs: - name: Checkout repository uses: actions/checkout@v6 - - name: Check for blocked phrases in issue title + - name: Load stopwords from JSON & check issue title & body + if: contains(github.event.issue.labels.*.name, '🙌 icon request') run: | ISSUE_TITLE=$(jq -r '.issue.title' "$GITHUB_EVENT_PATH") - BLOCKED_PHRASES=("twitter" "whatsapp" "logo" "google" "tiktok" "facebook" "slack" "discord" "bluesky" "spotify" "behance" "pix" "x.com" "telegram") + ISSUE_BODY=$(jq -r '.issue.body // ""' "$GITHUB_EVENT_PATH") + ICON_NAME_SECTION=$(printf '%s\n' "$ISSUE_BODY" | awk '/### Icon name/{flag=1; next} /^### /{flag=0} flag') - # Check title and body for blocked phrases - for PHRASE in "${BLOCKED_PHRASES[@]}" - do - if echo "$ISSUE_TITLE" | grep -i "$PHRASE"; then - gh issue close ${{ github.event.issue.number }} --reason "not planned" --comment "This looks like a duplicate, use the [search](https://github.com/lucide-icons/lucide/issues?q=is%3Aissue+$PHRASE) to find similar issues. + jq -r 'to_entries[] | "\(.key) \(.value)"' brand-stopwords.json | while read -r KEY VALUE; do + SAFE_KEY=$(printf '%s\n' "$KEY" | sed 's/[][\.^$*]/\\&/g') + SAFE_VALUE=$(printf '%s\n' "$VALUE" | sed 's/[][\.^$*]/\\&/g') - Read [our official statement about brand logos in Lucide](https://github.com/lucide-icons/lucide/blob/main/BRAND_LOGOS_STATEMENT.md). + if echo "$ISSUE_TITLE" | grep -iqE "$SAFE_KEY|$SAFE_VALUE" || \ + { [ -n "$ICON_NAME_SECTION" ] && echo "$ICON_NAME_SECTION" | grep -iqE "$SAFE_KEY|$SAFE_VALUE"; }; then + + gh issue close ${{ github.event.issue.number }} \ + --reason "not_planned" \ + --comment "It looks like this request is about **${VALUE}**, which is a brand logo. + + Lucide **does not accept** brand logos, and we do not plan to add them in the future. This is due to a combination of **legal restrictions**, **design consistency concerns**, and **practical maintenance reasons**. + + [Click here to read our official statement about brand logos in Lucide.](./BRAND_LOGOS_STATEMENT.md) + + You can [search for similar issues.](https://github.com/lucide-icons/lucide/issues?q=is%3Aissue+${VALUE}) + + We’re always happy to help on [Discord](https://discord.gg/EH6nSts)." - Always happy to help on [Discord](https://discord.gg/EH6nSts)." gh issue lock ${{ github.event.issue.number }} --reason spam - exit 1 + exit 0 fi done - env: - GH_TOKEN: ${{ github.token }} + +env: + GH_TOKEN: ${{ github.token }} diff --git a/.gitignore b/.gitignore index 41cb26c26..41a9f0839 100644 --- a/.gitignore +++ b/.gitignore @@ -44,7 +44,7 @@ docs/.vitepress/data/releaseMetaData docs/.vitepress/data/categoriesData.json docs/.vitepress/data/iconDetails docs/.vitepress/data/relatedIcons.json +docs/.vitepress/data/brandStopwords.json docs/.vercel docs/.nitro .gitignore - diff --git a/brand-stopwords.json b/brand-stopwords.json new file mode 100644 index 000000000..be5cb329a --- /dev/null +++ b/brand-stopwords.json @@ -0,0 +1,149 @@ +{ + "adobe": "Adobe", + "airplay": "AirPlay", + "amazon": "Amazon", + "angular": "Angular", + "aws": "AWS", + "azure": "Azure", + "bandcamp": "Bandcamp", + "behance": "Behance", + "bitbucket": "Bitbucket", + "blender": "Blender", + "bluesky": "BlueSky", + "bootstrap": "Bootstrap", + "brave": "Brave", + "chakra": "Chakra UI", + "chrome": "Chrome", + "codepen": "Codepen", + "codesandbox": "CodeSandbox", + "csharp": "C#", + "cypress": "Cypress", + "dart": "Dart", + "deezer": "Deezer", + "deno": "Deno", + "discord": "Discord", + "docker": "Docker", + "dribbble": "Dribbble", + "dropbox": "Dropbox", + "edge": "Edge", + "ember": "Ember", + "epic": "Epic Games", + "erlang": "Erlang", + "esbuild": "esbuild", + "eslint": "ESLint", + "facebook": "Facebook", + "figjam": "FigJam", + "figma": "Figma", + "firebase": "Firebase", + "firefox": "Firefox", + "framer": "Framer", + "gatsby": "Gatsby", + "gcp": "Google Cloud", + "github": "GitHub", + "gitlab": "GitLab", + "golang": "GoLang", + "google": "Google", + "gmail": "Gmail", + "gravatar": "Gravatar", + "haskell": "Haskell", + "instagram": "Instagram", + "java": "Java", + "javascript": "JavaScript", + "jest": "Jest", + "jira": "Jira", + "kotlin": "Kotlin", + "kubernetes": "Kubernetes", + "less": "Less", + "leetcode": "LeetCode", + "leet-code": "LeetCode", + "line": "LINE", + "linkedin": "LinkedIn", + "lua": "Lua", + "mariadb": "MariaDB", + "mcp": "MCP", + "messenger": "Messenger", + "microsoft": "Microsoft", + "mongodb": "MongoDB", + "mui": "Material UI", + "mysql": "MySQL", + "nestjs": "NestJS", + "netflix": "Netflix", + "netlify": "Netlify", + "next": "Next.js", + "nodejs": "Node.js", + "notion": "Notion", + "nostr": "Nostr", + "npm": "npm", + "nuxt": "Nuxt", + "opera": "Opera", + "oracle": "Oracle", + "patreon": "Patreon", + "paypal": "PayPal", + "perl": "Perl", + "php": "PHP", + "pinterest": "Pinterest", + "pix": "PiX", + "playstation": "PlayStation", + "playwright": "Playwright", + "pnpm": "pnpm", + "postcss": "PostCSS", + "postgresql": "PostgreSQL", + "prettier": "Prettier", + "prisma": "Prisma", + "python": "Python", + "qwik": "Qwik", + "react": "React", + "reddit": "Reddit", + "redis": "Redis", + "rollup": "Rollup", + "rust": "Rust", + "safari": "Safari", + "sass": "Sass", + "scala": "Scala", + "scss": "Sass", + "semantic": "Semantic UI", + "shopify": "Shopify", + "skype": "Skype", + "slack": "Slack", + "solid": "SolidJS", + "soundcloud": "SoundCloud", + "spotify": "Spotify", + "sqlite": "SQLite", + "squarespace": "Squarespace", + "steam": "Steam", + "stripe": "Stripe", + "substack": "Substack", + "supabase": "Supabase", + "surge": "Surge", + "svelte": "Svelte", + "swift": "Swift", + "tailwind": "Tailwind CSS", + "telegram": "Telegram", + "terraform": "Terraform", + "tesla": "Tesla", + "tidal": "Tidal", + "tiktok": "TikTok", + "trello": "Trello", + "twitch": "Twitch", + "twitter": "Twitter", + "typescript": "TypeScript", + "unity": "Unity", + "unreal": "Unreal Engine", + "vercel": "Vercel", + "vimeo": "Vimeo", + "vite": "Vite", + "vitest": "Vitest", + "vue": "Vue", + "webpack": "Webpack", + "wechat": "WeChat", + "whatsapp": "WhatsApp", + "windows": "Windows", + "wix": "Wix", + "x.com": "X.com", + "x-social": "X.com", + "xbox": "Xbox", + "yarn": "Yarn", + "youtube": "YouTube", + "zig": "Zig", + "zoom": "Zoom" +} diff --git a/docs/.vitepress/theme/components/icons/IconsCategoryOverview.vue b/docs/.vitepress/theme/components/icons/IconsCategoryOverview.vue index 355bc2685..b5b9882b2 100644 --- a/docs/.vitepress/theme/components/icons/IconsCategoryOverview.vue +++ b/docs/.vitepress/theme/components/icons/IconsCategoryOverview.vue @@ -1,19 +1,19 @@