From 41e4d761efc476099df2911b1a8d2469804d450a Mon Sep 17 00:00:00 2001 From: jp-ayyappan Date: Sat, 21 Feb 2026 21:17:56 -0500 Subject: [PATCH 1/2] chore: address PR #191 review comments - Revert favicon and navbar logo to OpenTDF-Logo.png per reviewer suggestion - Add srcDark logo (OpenTDF-Logo-White.png) for dark mode navbar - Remove orphaned favicon.svg and opentdf-icon.svg assets - Restore light/dark mode toggle: make navbar theme-aware (was always-dark) - Fix navbar layout robustness: max-width prevents center links overlapping brand - Deduplicate GitHub icon SVG into --github-icon-svg CSS custom property - Normalize dark mode selectors to html[data-theme='dark'] throughout - Add light mode support to landing page homepage (sections, cards, text, buttons) - Fix tip admonition: amber readable in both modes; decouple note from amber rule - Fix footer: add theme-aware light mode styling - Add html[data-theme='light'] design token overrides for landing page tokens Co-Authored-By: Claude Sonnet 4.6 --- docusaurus.config.ts | 5 +- src/components/landing/Community.module.css | 15 ++ .../landing/DeveloperFirst.module.css | 14 ++ src/components/landing/FinalCTA.module.css | 17 +++ src/components/landing/Hero.module.css | 13 ++ .../landing/ProblemSolution.module.css | 16 +++ src/components/landing/Standards.module.css | 18 +++ src/css/custom.css | 130 +++++++++++++++--- src/css/landing.css | 19 +++ static/img/OpenTDF-Logo-White.png | Bin 0 -> 41325 bytes static/img/favicon.svg | 5 - static/img/opentdf-icon.svg | 4 - 12 files changed, 224 insertions(+), 32 deletions(-) create mode 100644 static/img/OpenTDF-Logo-White.png delete mode 100644 static/img/favicon.svg delete mode 100644 static/img/opentdf-icon.svg diff --git a/docusaurus.config.ts b/docusaurus.config.ts index a072da01..2e4bbc2d 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -26,7 +26,7 @@ const javaSdkVersion = "0.11.1"; const config: Config = { title: "OpenTDF", tagline: "Enabling secure data sharing through open, data-centric security", - favicon: "img/favicon.svg", + favicon: "img/OpenTDF-Logo.png", // Set the production url of your site here url: "https://docs.opentdf.io", @@ -110,7 +110,8 @@ const config: Config = { title: "OpenTDF", logo: { alt: "OpenTDF - Protect the Data, Build the Future", - src: "img/opentdf-icon.svg", + src: "img/OpenTDF-Logo.png", + srcDark: "img/OpenTDF-Logo-White.png", width: 32, height: 32, }, diff --git a/src/components/landing/Community.module.css b/src/components/landing/Community.module.css index 5b042b71..32eb633d 100644 --- a/src/components/landing/Community.module.css +++ b/src/components/landing/Community.module.css @@ -108,3 +108,18 @@ padding: 0 2rem; } } + +/* Light mode overrides */ +:global(html[data-theme='light']) .card { + background: #ffffff; + border-color: rgba(0, 0, 0, 0.07); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); +} + +:global(html[data-theme='light']) .body { + color: #4b5563; +} + +:global(html[data-theme='light']) .cardIcon { + color: #6b7280; +} diff --git a/src/components/landing/DeveloperFirst.module.css b/src/components/landing/DeveloperFirst.module.css index 641f362c..3b3251e4 100644 --- a/src/components/landing/DeveloperFirst.module.css +++ b/src/components/landing/DeveloperFirst.module.css @@ -211,3 +211,17 @@ padding: 0 2rem; } } + +/* Light mode overrides — install cmd and copy button intentionally stay dark (code) */ +:global(html[data-theme='light']) .card { + background: #ffffff; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06); +} + +:global(html[data-theme='light']) .subheading { + color: #4b5563; +} + +:global(html[data-theme='light']) .btnSecondary { + border-color: rgba(0, 0, 0, 0.15); +} diff --git a/src/components/landing/FinalCTA.module.css b/src/components/landing/FinalCTA.module.css index 81bd6744..14b20ee6 100644 --- a/src/components/landing/FinalCTA.module.css +++ b/src/components/landing/FinalCTA.module.css @@ -110,3 +110,20 @@ padding: 0 2rem; } } + +/* Light mode overrides */ +:global(html[data-theme='light']) .body { + color: #4b5563; +} + +:global(html[data-theme='light']) .btnSecondary { + border-color: rgba(0, 0, 0, 0.15); +} + +:global(html[data-theme='light']) .btnGhost { + border-color: rgba(0, 0, 0, 0.08); +} + +:global(html[data-theme='light']) .btnGhost:hover { + border-color: rgba(0, 0, 0, 0.2); +} diff --git a/src/components/landing/Hero.module.css b/src/components/landing/Hero.module.css index 7e2e7665..cd781f51 100644 --- a/src/components/landing/Hero.module.css +++ b/src/components/landing/Hero.module.css @@ -210,3 +210,16 @@ padding: 0 1.5rem; } } + +/* Light mode overrides — code window intentionally stays dark */ +:global(html[data-theme='light']) .bodyPrimary { + color: #4b5563; +} + +:global(html[data-theme='light']) .btnSecondary { + border-color: rgba(0, 0, 0, 0.15); +} + +:global(html[data-theme='light']) .btnSecondary:hover { + border-color: #22d3ee; +} diff --git a/src/components/landing/ProblemSolution.module.css b/src/components/landing/ProblemSolution.module.css index 244fed80..e5ffc25d 100644 --- a/src/components/landing/ProblemSolution.module.css +++ b/src/components/landing/ProblemSolution.module.css @@ -142,3 +142,19 @@ padding: 0 2rem; } } + +/* Light mode overrides */ +:global(html[data-theme='light']) .card { + background: #ffffff; + border-color: rgba(0, 0, 0, 0.07); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); +} + +:global(html[data-theme='light']) .bodyPrimary, +:global(html[data-theme='light']) .cardBody { + color: #4b5563; +} + +:global(html[data-theme='light']) .btn { + border-color: rgba(0, 0, 0, 0.15); +} diff --git a/src/components/landing/Standards.module.css b/src/components/landing/Standards.module.css index 2402afdb..237a2067 100644 --- a/src/components/landing/Standards.module.css +++ b/src/components/landing/Standards.module.css @@ -179,3 +179,21 @@ font-size: 2.25rem; } } + +/* Light mode overrides — diagram intentionally stays dark */ +:global(html[data-theme='light']) .body, +:global(html[data-theme='light']) .featureItem { + color: #4b5563; +} + +:global(html[data-theme='light']) .btnSecondary { + border-color: rgba(0, 0, 0, 0.15); +} + +:global(html[data-theme='light']) .btnGhost { + border-color: rgba(0, 0, 0, 0.08); +} + +:global(html[data-theme='light']) .btnGhost:hover { + border-color: rgba(0, 0, 0, 0.2); +} diff --git a/src/css/custom.css b/src/css/custom.css index 51463281..a1dd8077 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -82,8 +82,7 @@ border-left: 2px solid #0891b2; } -/* Tip admonition — amber secondary from homepage palette */ -.alert--secondary, +/* Tip admonition — amber, light mode */ div[class*="admonition-tip"], div[class*="admonitionTip"] { --ifm-alert-background-color: #fffbeb; @@ -91,6 +90,14 @@ div[class*="admonitionTip"] { --ifm-alert-color: #92400e; } +/* Tip admonition — amber, dark mode */ +html[data-theme='dark'] div[class*="admonition-tip"], +html[data-theme='dark'] div[class*="admonitionTip"] { + --ifm-alert-background-color: #451a03; + --ifm-alert-border-color: #d97706; + --ifm-alert-color: #fde68a; +} + html[data-theme='dark'] { /* Override primary to teal in dark mode */ --ifm-color-primary: #22d3ee; @@ -137,11 +144,6 @@ html[data-theme='dark'] { --vds-homepage-subtitle-color: #aaa; } -/* Dark mode: brand stays white (already set globally, this just reinforces it) */ -html[data-theme='dark'] .navbar .navbar__brand .navbar__title { - color: #fff; -} - /* Dark mode cookie consent */ html[data-theme='dark'] .cookie-consent-banner a { color: var(--ifm-color-primary-light); @@ -225,6 +227,44 @@ a[class*="embed_documentation_footer-"] { color: #67e8f9; } +/* Footer — light mode overrides */ +html[data-theme='light'] .footer { + background-color: #f1f5f9; + border-top: 1px solid rgba(0, 0, 0, 0.06); +} + +html[data-theme='light'] .footer__title { + color: #0f172a; +} + +html[data-theme='light'] .footer__link-item { + color: #4b5563; +} + +html[data-theme='light'] .footer__link-item:hover { + color: #0891b2; +} + +html[data-theme='light'] .footer__bottom { + border-top: 1px solid rgba(0, 0, 0, 0.06); +} + +html[data-theme='light'] .footer__copyright { + color: #6b7280; +} + +html[data-theme='light'] .footer__sponsor-text { + color: #4b5563; +} + +html[data-theme='light'] .footer__sponsor-text a { + color: #0891b2; +} + +html[data-theme='light'] .footer__sponsor-text a:hover { + color: #0e7490; +} + /************** ** COOKIE CONSENT BANNER ***************/ @@ -318,34 +358,53 @@ Breakpoints: } /************** -** NAVBAR — ALWAYS DARK (matches reference design) +** NAVBAR — THEME-AWARE (light + dark) ***************/ +/* GitHub icon as a reusable CSS variable (avoids duplicating the long data URL) */ +:root { + --github-icon-svg: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.166 6.839 9.49.5.092.682-.217.682-.482 0-.237-.009-.866-.013-1.7-2.782.604-3.369-1.34-3.369-1.34-.454-1.156-1.11-1.463-1.11-1.463-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0112 6.836c.85.004 1.705.115 2.504.337 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.163 22 16.418 22 12c0-5.523-4.477-10-10-10z'/%3E%3C/svg%3E"); +} + +/* Light mode: clean white glass */ .navbar { - background-color: rgba(10, 12, 16, 0.9); + background-color: rgba(255, 255, 255, 0.9); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); - border-bottom: 1px solid rgba(255, 255, 255, 0.05); + border-bottom: 1px solid rgba(0, 0, 0, 0.06); box-shadow: none; } -/* Brand: white bold text */ +/* Dark mode */ +html[data-theme='dark'] .navbar { + background-color: rgba(10, 12, 16, 0.9); + border-bottom: 1px solid rgba(255, 255, 255, 0.05); +} + +/* Brand: size/weight only; color inherits from Docusaurus theme */ .navbar .navbar__brand .navbar__title { - color: #fff; font-size: 1.125rem; font-weight: 700; } +html[data-theme='dark'] .navbar .navbar__brand .navbar__title { + color: #fff; +} + .navbar .navbar__brand:hover .navbar__title { color: #22d3ee; } -/* Nav links: muted gray, teal on hover/active */ +/* Nav links: font size in both modes */ .navbar .navbar__link { - color: #9ca3af; font-size: 0.875rem; } +/* Dark mode: muted gray nav links */ +html[data-theme='dark'] .navbar .navbar__link { + color: #9ca3af; +} + /* Hide external-link icon on navbar items */ .navbar [class*="iconExternalLink"] { display: none; @@ -354,7 +413,7 @@ Breakpoints: .navbar .navbar__link:hover, .navbar .navbar__link--active { color: #22d3ee; - background: rgba(255, 255, 255, 0.05); + background: rgba(34, 211, 238, 0.07); text-decoration: none; } @@ -383,10 +442,12 @@ Breakpoints: align-items: center; } -/* Left items container: shrink-to-fit so parent can center it */ +/* Left items container: shrink-to-fit so parent can center it. + max-width prevents centered links from overlapping absolutely-positioned brand/right items. */ .navbar__inner > .navbar__items:not(.navbar__items--right) { flex: 0 0 auto; justify-content: center; + max-width: calc(100% - 2 * (var(--ifm-navbar-padding-horizontal) + 8rem)); } .navbar .navbar__items--right { @@ -405,21 +466,25 @@ Breakpoints: align-items: center; gap: 0.375rem; padding: 0.375rem 0.75rem; - border: 1px solid #374151; + border: 1px solid #d1d5db; border-radius: 0.5rem; font-size: 0.875rem; - color: #9ca3af; transition: border-color 0.2s ease, color 0.2s ease; } +html[data-theme='dark'] .navbar__items--right .navbar__item.navbar__link[href*="github.com"] { + border-color: #374151; + color: #9ca3af; +} + .navbar__items--right .navbar__item.navbar__link[href*="github.com"]::before { content: ""; display: inline-block; width: 1.125rem; height: 1.125rem; background-color: currentColor; - -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.166 6.839 9.49.5.092.682-.217.682-.482 0-.237-.009-.866-.013-1.7-2.782.604-3.369-1.34-3.369-1.34-.454-1.156-1.11-1.463-1.11-1.463-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0112 6.836c.85.004 1.705.115 2.504.337 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.163 22 16.418 22 12c0-5.523-4.477-10-10-10z'/%3E%3C/svg%3E"); - mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.166 6.839 9.49.5.092.682-.217.682-.482 0-.237-.009-.866-.013-1.7-2.782.604-3.369-1.34-3.369-1.34-.454-1.156-1.11-1.463-1.11-1.463-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0112 6.836c.85.004 1.705.115 2.504.337 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.163 22 16.418 22 12c0-5.523-4.477-10-10-10z'/%3E%3C/svg%3E"); + -webkit-mask-image: var(--github-icon-svg); + mask-image: var(--github-icon-svg); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; @@ -428,10 +493,16 @@ Breakpoints: } .navbar__items--right .navbar__item.navbar__link[href*="github.com"]:hover { + border-color: #22d3ee; + color: #22d3ee; + background: transparent; + text-decoration: none; +} + +html[data-theme='dark'] .navbar__items--right .navbar__item.navbar__link[href*="github.com"]:hover { border-color: #6b7280; color: #fff; background: transparent; - text-decoration: none; } /************** @@ -486,3 +557,20 @@ html[data-theme='dark'] div[class*="language-shell"] code::before { --otdf-gradient-mesh: radial-gradient(ellipse at 20% 50%, rgba(34, 211, 238, 0.08) 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, rgba(245, 158, 11, 0.05) 0%, transparent 50%); } + +/* Light mode: flip landing page design tokens */ +html[data-theme='light'] { + --otdf-bg-deepest: #f8fafc; + --otdf-bg-deep: #f1f5f9; + --otdf-bg-surface: #ffffff; + --otdf-bg-raised: #f8fafc; + --otdf-bg-subtle: #e2e8f0; + + --otdf-text-primary: #0f172a; + --otdf-text-secondary: #334155; + --otdf-text-tertiary: #64748b; + + --otdf-accent-glow: rgba(34, 211, 238, 0.08); + --otdf-gradient-mesh: radial-gradient(ellipse at 20% 50%, rgba(34, 211, 238, 0.05) 0%, transparent 50%), + radial-gradient(ellipse at 80% 20%, rgba(245, 158, 11, 0.03) 0%, transparent 50%); +} diff --git a/src/css/landing.css b/src/css/landing.css index 5d640d6b..9db6e8d4 100644 --- a/src/css/landing.css +++ b/src/css/landing.css @@ -80,3 +80,22 @@ border-color: var(--sdk-color, #22d3ee); box-shadow: 0 0 30px color-mix(in srgb, var(--sdk-color, #22d3ee) 15%, transparent); } + +/* ---- Light mode overrides ---- */ +html[data-theme='light'] .section-dark { + background-color: #f8fafc; +} + +html[data-theme='light'] .section-darker { + background-color: #ffffff; +} + +html[data-theme='light'] .bg-grid { + background-image: linear-gradient(rgba(34, 211, 238, 0.05) 1px, transparent 1px), + linear-gradient(90deg, rgba(34, 211, 238, 0.05) 1px, transparent 1px); + background-size: 64px 64px; +} + +html[data-theme='light'] .sdk-card { + border-color: rgba(0, 0, 0, 0.08); +} diff --git a/static/img/OpenTDF-Logo-White.png b/static/img/OpenTDF-Logo-White.png new file mode 100644 index 0000000000000000000000000000000000000000..97f87fe9a3e2cf64e09fe963a80a16e51943b7d0 GIT binary patch literal 41325 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 literal 0 HcmV?d00001 diff --git a/static/img/favicon.svg b/static/img/favicon.svg deleted file mode 100644 index e6906bc5..00000000 --- a/static/img/favicon.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/static/img/opentdf-icon.svg b/static/img/opentdf-icon.svg deleted file mode 100644 index 55a60843..00000000 --- a/static/img/opentdf-icon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - From c1d7653b8e9d2e959a205975a631b89e53945196 Mon Sep 17 00:00:00 2001 From: jp-ayyappan Date: Sat, 21 Feb 2026 21:34:25 -0500 Subject: [PATCH 2/2] chore: remove redundant background: transparent from dark hover rule Co-Authored-By: Claude Sonnet 4.6 --- src/css/custom.css | 1 - 1 file changed, 1 deletion(-) diff --git a/src/css/custom.css b/src/css/custom.css index a1dd8077..d7d347ad 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -502,7 +502,6 @@ html[data-theme='dark'] .navbar__items--right .navbar__item.navbar__link[href*=" html[data-theme='dark'] .navbar__items--right .navbar__item.navbar__link[href*="github.com"]:hover { border-color: #6b7280; color: #fff; - background: transparent; } /**************