Corporate Design Injection for NGINXΒΆ
DescriptionΒΆ
This Ansible role injects the corporate design into every NGINX-served application whose design service is enabled.
It derives the design tokens from the single base color in web-svc-design through the design_palette lookup (OKLCH, WCAG 2.2 contrast by construction) and maps them onto Bootstrap and common app variables.
OverviewΒΆ
The role renders the shared default.css and bootstrap.css once per deployment onto the CDN, links them with a cache-busting version, and adds the roleβs own style.css and design.js when the role ships them.
The roleβs style.css is rendered per vhost and stored once per network the role is served on: the first network keeps style.css, every further one gets <label>-style.css (for example onion-style.css), and each vhost links the file of its own network.
Light and dark tokens switch with prefers-color-scheme; a role mirrors an app-native theme switch through <html data-design-theme="light|dark">.
PurposeΒΆ
The goal of this role is to provide a single source of truth for theming across your infrastructure.
It makes all applications feel like part of the same ecosystem, visually and functionally.
FeaturesΒΆ
π¨ Semantic design tokens derived from one base color in OKLCH
βΏ WCAG 2.2 contrast guaranteed for text, links, controls and status colors
π Unified CSS Base Configuration deployment for all NGINX applications
π Dark mode via
prefers-color-schemeor an app-native switchπ§© Design script channel for a roleβs
design.js, behind the per-appINFINITO_DESIGNconfigπ« No duplication β tasks run once per deployment
β±οΈ Versioning logic to bust browser cache
π― Bootstrap override compatibility
π§© Theme support for Keycloak, Nextcloud, Gitea, LAM, Peertube, and more
CreditsΒΆ
Part of the Infinito.Nexus Project and maintained by Kevin Veen-Birkenbach. Licensed under the Infinito.Nexus Community License (Non-Commercial).