Aller au contenu
duxt

Icônes

Quatre jeux d'icônes, et la seule question qui décide lequel dessine une marque.

duxt puise dans quatre collections Iconify. La question n'est jamais « laquelle rend le mieux ici », mais ce qu'est la chose dessinée, parce que c'est le seul test qui donne deux fois la même réponse.

JeuDessineCouleurNommé dans
lucidel'interface que duxt dessine lui-mêmemonochrome, hérite currentColorpartout ; le choix par défaut
vscode-iconsun fichier, le langage d'un bloc, un outil de la pilela siennefile-icons.ts, et les onglets des gestionnaires
Simple Iconsune plateforme, un service ou une entreprise en tant que tellemonochromele composant qui le nomme
flag-iconsla région d'une localela sienneDuxtLocale, dérivé

La règle

C'est ce qui est dessiné qui décide, et il y a deux sortes de marques :

  • La pile — un fichier, le langage d'un bloc, un outil que l'on exécute — est vscode-icons. Il porte les vraies couleurs dans le fichier, ce dont une arborescence et un en-tête de code ont précisément besoin.
  • Un tiers en tant que tel — une plateforme, un service, une entreprise vers laquelle le site pointe ou à laquelle il transmet quelque chose — est Simple Icons.

Tout ce qui n'est pas une marque — un bouton de copie, un chevron, une loupe, une flèche de lien externe — est lucide, et ne demande aucune décision.

Énoncée par domaine plutôt que par disponibilité, la règle se prolonge d'elle- même. Laravel, GitHub, Discord et OpenAI relèvent de Simple Icons parce que ce sont des parties que ce site nomme, non des morceaux de la pile dont il est fait. Les gestionnaires de paquets relèvent de vscode-icons parce qu'un onglet qui exécute pnpm add nomme un outil de la pile.

Pourquoi pas un seul jeu pour tout

Parce que monochrome et coloré sont deux métiers différents, pas deux goûts.

Une icône d'interface doit prendre la couleur du texte, sinon elle se bat avec chaque état autour d'elle : survol, actif, atténué, désactivé. lucide hérite de currentColor, donc le contrôle est stylé une fois et l'icône suit.

Une icône de type de fichier doit garder ses couleurs, sinon une arborescence devient une colonne de formes grises identiques. C'est la raison d'être de vscode-icons, et pourquoi app/utils/file-icons.ts y projette chaque extension et chaque identifiant de langage.

La couleur ne nous appartient pas

Les onglets des gestionnaires de paquets étaient auparavant des Simple Icons teintés à la main : huit valeurs hexadécimales, deux par gestionnaire, parce qu'une seule ne peut servir les deux thèmes — la crème de bun disparaît sur du blanc, le rouge de npm devient terne sur du noir. Chacune était un nombre relevé sur une page de marque, à relever de nouveau au prochain changement de charte.

vscode-icons a supprimé la table en portant les couleurs dans le fichier. Quand une marque a tout de même besoin d'aide, la collection le dit en général elle-même : pnpm, ce sont des carrés orange et des blancs, donc la moitié de la grille disparaît sur une page blanche — et vscode-icons livre file-type-light-pnpm avec #4e4e4e à la place du blanc, précisément pour cela. Il ne livre de variante claire pour aucun autre gestionnaire présent ici.

Licences, et ce qu'une licence ne peut pas accorder

Les quatre collections sont permissives et compatibles avec la MIT de duxt : vscode-icons et flag-icons sont sous MIT, lucide sous ISC, Simple Icons sous CC0-1.0. Chacune est nommée avec sa licence sur la page des remerciements, car icon.clientBundle intègre les SVG dans ce qui est livré — le paquet transporte les œuvres, donc il transporte les mentions.

Une licence sur le fichier n'est pas une licence sur la marque. Simple Icons le dit dans sa propre LICENSE : CC0 libère le SVG et ne peut libérer un droit de marque qu'il n'a jamais détenu. Il en va de même pour les types de fichiers de vscode-icons : la MIT couvre le dessin, pas les marques Python, Rust ou Vue qui s'y trouvent.

Ce que fait duxt est un usage nominatif : le logo bun figure sur l'onglet qui exécute bun add, l'icône Python étiquette un bloc Python, et les marques Claude et OpenAI figurent sur les boutons qui envoient la page à ces services. Nommer une chose pour l'identifier est l'usage que le droit des marques autorise sans permission. Utiliser l'une de ces marques comme logo, favicon ou caution de duxt ne le serait pas — et duxt ne le fait pas.

Cette page vous a-t-elle été utile ?