Social profiles and code repositories: a one-colour mark for every service, LinkedIn first #926
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo#926
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Social profiles and code repositories: give every service in the service select a one-colour mark, LinkedIn first. Decide whether that means another icon source, a change to the trademark rule, or both.
Decision (2026-10-15)
Every service gets a one-colour mark: alternative brand icon sets fill the gaps, and existing marks are rendered in black and white (options 2 and 3 below; the "none" choices of #654 and #905 are reversed for the link services). The comparison of icon sets, what the owners' pages say, the recommendation and proposed
TRADEMARKS.mdwording are in the comment of 2026-10-15 below.What exists today
simple-icons16.34.0 inpackage.json), copied bynpm run sync:brandsfrom the list inassets/brands.txt(#654). Since #905 (7ff3fd2b5) the service selects draw them in one colour (single-colourmode).plugins/link_services/services.py): LinkedIn (user), X (at-sign), Xing (user), Facebook (user), Instagram (user), Threads (at-sign), GitLab, Codeberg, Bitbucket (git-branch).assets/brands.txtandTRADEMARKS.md("The rule for plugin logos", rule 2, and the three modes):lucide-static1.41.0) ships no brand icons.The constraint is the rule, not the library
A different icon set does not change what
TRADEMARKS.mdallows. Another set's licence (MIT, CC BY) covers the drawing, not the trademark, so Facebook in black is still a recolouring Meta's page forbids. Only LinkedIn, and any other mark Simple Icons dropped, is a gap that a library alone could fill.Options (not decided)
brands.txt, as the single-colour lines already do. Not verified what LinkedIn's page allows. Re-check X, Threads, GitLab, Bitbucket and Xing the same way.brand-*icons are stroke-drawn like Lucide, so they sit well beside Lucide), Font Awesome Free brands (icons CC BY 4.0; their own notice says brand icons remain their owners' trademarks), or Bootstrap Icons (MIT). Coverage of LinkedIn, X, Xing, Threads, GitLab, Bitbucket and Codeberg in each is not verified here. A second source needs its own line inTHIRD-PARTY.md, its NOTICE, and the sync script.TRADEMARKS.md, and it reverses the choices recorded in #654 and #905.Whatever is chosen
currentColor, clearing 3:1 on both pages.tests/test_brands.pyand thebrands.txtheader describe the new source or mode.No new strings.
Related: #654, #867, #905, #305, #301.
Checked against
mainat56fc9d531.Decision (maintainer, 2026-10-15)
Every service gets a one-colour mark: find alternative brand icon sets where Simple Icons has none, and render the existing ones in black and white. The maintainer's reasoning: Font Awesome and the Simple Icons website both show brand marks in one colour, so the trademark rule is not as restrictive as
TRADEMARKS.mdassumed. This chooses option 3 (change rule 2) together with option 2 (a second set for the gaps), and reverses the "none" choices recorded in #654 and #905 for the link services.Research below, read on 2026-10-15 from the packages on npm/unpkg and the owners' own pages.
Icon sets compared
Presence checked file by file in the published npm package (unpkg) at the version given. y = present, – = absent, ? = not checked.
currentColorlinkedin,linkedin-in)x-twitter)fill="currentColor"in every SVGbrand-x)twitter-x)currentColor)@mdi/svg7.4.47twitterchecked)Logos/)twitter-x)Iconify repackages these same sets (
simple-icons,fa7-brands,tabler,bi,mdi,ri, …) under their original licences, so it adds no new artwork; its full-colourlogosset does not fit a one-colour rule.Only Font Awesome Free covers every service in the selects today except SourceHut, and Simple Icons covers every one except LinkedIn. The two together cover all of them in the same filled style.
What the owners' own pages say about one colour
brands.txt(full colour or monochromatic white); Meta's current glyph page could not be fetched (404 at the URL tried).So under the old rule LinkedIn alone moves from none to single-colour (from LinkedIn's own words); Facebook, Instagram (black) and Codeberg (black) need the rule change the maintainer decided; X, Threads, GitLab, Bitbucket and Xing need it too, because their pages cannot be read.
Recommendation
brand.linkedin.com/downloads), since LinkedIn allows black and white and says logos found elsewhere are not approved; record the in-logo page and its sentence inbrands.txtlike the other single-colour lines. If the kit has no usable SVG, fall back to Font Awesome Free'slinkedin(CC BY 4.0), keeping its attribution comment.THIRD-PARTY.mdrow (CC BY 4.0, Fonticons, Inc.), the SVG's own comment kept, the licence named inNOTICE.txt, andsync-brands.mjstaught asourcefield (simple-icons|fontawesome-free|owner-kit) per line inbrands.txt.single-colour, drawn incurrentColor(black on the light page, white on the dark), beside the service's name, decorative (aria-hidden), never larger than the text it labels, never as a button that looks like the service's own (no "Sign in with"/"Share" look-alikes).noneline inbrands.txtfor any owner who objects, with the date.tests/test_brands.pychecks each line has a source and, forsingle-colour, either an owner page or the nominative-use reason; the contrast test no longer applies tosingle-colourmarks (black/white clear 3:1 by construction).Proposed wording for
TRADEMARKS.md(not edited here)The current rule 2 ("only where the owner's own published guidelines allow a one-colour version in those colours"), the none bullet that lists Facebook, Instagram and Codeberg, and the closing "LinkedIn has no mark here, and none is taken from elsewhere" contradict the decision. Proposed replacement for the single colour bullet:
and for the none bullet:
and replace the LinkedIn paragraph with:
Rule 2's "The one exception is a colour the owner's own guidelines name" becomes "The one exception is the single-colour mode below." The "In this repository now" table's row then lists the new marks and both sources.