Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

glinet4 branding

Brand assets for the glinet4 project — logo, icon, colours, and the files ready to submit to the Home Assistant brands repository.

glinet4

The mark

A router hub connected to four nodes — the network motif also reads as the 4 in glinet4. It is a distinct community mark, intentionally not the GL.iNet trademark (this is an independent community project, not affiliated with or endorsed by GL.iNet).

Colours

Hex Use
Teal #2DD4BF gradient start
Blue #3B82F6 gradient end
Text (light bg) #1F2937 wordmark on light
Text (dark bg) #F9FAFB wordmark on dark
Text (any bg) #3B82F6 wordmark for theme-blind renderers

The badge uses a top-left → bottom-right teal→blue gradient with a white glyph, so the icon works on both light and dark backgrounds.

Assets

File Size Notes
icon.png / icon@2x.png 256² / 512² square app icon
logo.png / logo@2x.png ≤256 / ≤512 wordmark, dark text (light theme)
dark_logo.png / dark_logo@2x.png ≤256 / ≤512 wordmark, light text (dark theme)
logo_universal.png / logo_universal@2x.png ≤256 / ≤512 wordmark, brand blue — readable on any theme

logo.png and dark_logo.png keep those exact names because Home Assistant looks them up by filename. logo_universal.png is the one to embed in Markdown — see below.

All PNGs are transparent RGBA and trimmed. Regenerate them from source:

uv run --with pillow python generate.py

Using the logo in Markdown

Embed logo_universal.png with a plain <img>. Its wordmark is brand blue, which clears the 3:1 large-text contrast bar on both white (3.7:1) and dark (4.6:1), so one file covers every theme:

<p align="center">
  <img alt="glinet4" src="URL/logo_universal.png" width="300">
</p>

Do not use <picture>. GitHub supports it, but it is not portable: renderers that sanitise HTML against an allow-list drop the tag. Home Assistant (and so HACS, which renders a repo's README.md in the HACS panel) runs Markdown through js-xss, whose default allow-list has img but no picture and no source. Unknown tags there are escaped, not stripped, so a <picture> block renders as literal <picture> <source …> text on the page — and the <img> fallback inside it is the light logo, whose dark wordmark then sits invisibly on the dark theme. The same allow-list gives p no attributes, so align="center" is dropped too and the logo simply renders left-aligned there.

The icon (icon.png) has its own gradient background and is readable on any theme, so it needs no variant.

Home Assistant

As of Home Assistant 2026.3, custom integrations ship their own brand images — no home-assistant/brands PR needed. The integration carries these files at custom_components/glinet4/brand/ (icon.png, icon@2x.png, logo.png, logo@2x.png, dark_logo.png, dark_logo@2x.png); local brand images take priority over the brands CDN. See the announcement.

The custom_integrations/glinet4/ folder here is kept as the canonical source for those images.

The icon uses transparent rounded corners (verified), so it adapts to any surface — it shows the card background through the corners (white on a light card, dark on a dark card), which is the intended app-icon behaviour.

Brands requires square icons (256²/512²), logos with the longest side exactly 256/512, transparency, and trimmed whitespace — all satisfied here.

Licence

These brand assets are released under CC0-1.0 (public domain) so they can be redistributed with the integration and the brands repo.

About

glinet4 brand assets — logo, icon, and Home Assistant brands PR files

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages