Skip to content

feat: redesign OpenTDF.io homepage and update documentation styling#191

Merged
jp-ayyappan merged 16 commits intomainfrom
feat/site-redesign
Mar 3, 2026
Merged

feat: redesign OpenTDF.io homepage and update documentation styling#191
jp-ayyappan merged 16 commits intomainfrom
feat/site-redesign

Conversation

@vmorps
Copy link
Contributor

@vmorps vmorps commented Feb 20, 2026

Preview

opentdf-docs-preview-new-home.surge.sh

Summary

  • Redesigned the OpenTDF.io homepage with new messaging and contemporary design
  • Added new landing page sections: Hero, Problem/Solution, Developer First, Standards, Community, and Final CTA
  • Updated documentation CSS to reflect the new design system

Additional changes (post-review)

  • Favicon — restored favicon.svg (cyan diamond mark); a new brand mark for OpenTDF as an independent project is in progress and will be swapped in via a follow-up PR
  • Restored light/dark mode toggle and made navbar fully theme-aware (light/dark glass)
  • Removed orphaned logo marks (opentdf-icon.svg) — replaced by the above
  • Full light mode support for the homepage — all landing sections (Hero, ProblemSolution, DeveloperFirst, Standards, Community, FinalCTA) now adapt to light mode; code windows and diagrams intentionally stay dark
  • Fixed note admonition dark mode readability (decoupled :::note from amber styling; added proper dark amber for :::tip only)
  • Footer theme-aware — footer now switches colours in light mode
  • CLI card — replaced brew install opentdf/tap/otdfctl with a link to the latest otdfctl release
    — updated docusaurus-plugin-openapi-docs to 4.7.1 (was installed at 4.4.0 against a ^4.7.1 requirement); fixed post-processing script to remove duplicate *.info.mdx files the updated plugin now generates alongside index.mdx, which were breaking useCurrentSidebarCategory() during SSG

Test plan

  • Visit the homepage and verify all new sections render correctly
  • Toggle light/dark mode and confirm homepage, navbar, footer, and admonitions all adapt
  • Check the site on mobile and desktop screen sizes
  • Verify documentation pages reflect updated CSS styling
  • Confirm favicon and navbar logo display correctly in both light and dark mode
  • Confirm npm run build completes with zero errors

🤖 Generated with Claude Code

@vmorps vmorps requested a review from a team as a code owner February 20, 2026 21:40
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @vmorps, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the user experience and visual appeal of the OpenTDF.io website by introducing a modern, redesigned homepage and updating the overall documentation styling. The changes aim to provide clearer messaging, better highlight key features, and offer improved navigation for developers and community members, making it easier to understand and engage with the OpenTDF project.

Highlights

  • Homepage Redesign: The OpenTDF.io homepage has been completely redesigned with new messaging and a contemporary visual style, incorporating new sections like Hero, Problem/Solution, Developer First, Standards, Community, and a final Call to Action.
  • Documentation Styling Update: The documentation CSS has been updated to align with the new design system introduced on the homepage.
  • Favicon and Icon Assets: The site's favicon has been replaced with a new SVG, and a new OpenTDF icon asset has been added.
  • Java SDK Code Samples: New code samples for Java SDK encrypt/decrypt collection operations have been added to the documentation.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • code_samples/java/decrypt-collection-example.mdx
    • Added a new Java code sample demonstrating how to decrypt a collection of NanoTDF files.
  • code_samples/java/encrypt-collection-example.mdx
    • Added a new Java code sample demonstrating how to encrypt a collection of data into NanoTDF files.
  • docusaurus.config.ts
    • Updated the favicon path to use a new SVG icon.
    • Modified the custom CSS configuration to include a new 'landing.css' file for homepage specific styles.
    • Updated the navbar logo source to a new SVG icon.
    • Restructured the navbar links to include Quickstart, SDKs, Specification, and Community, while moving GitHub to the right.
    • Revised the footer links, organizing them into 'Project', 'Developers', 'Community', and 'Sponsor' categories, and removed the old footer logo and copyright format.
  • src/components/landing/Community.module.css
    • Added CSS styles for the new 'Community' landing page section, including responsive design for cards and text.
  • src/components/landing/Community.tsx
    • Added a new React component for the 'Community' section of the landing page, featuring links to GitHub, Discussions, and Contribution guidelines.
  • src/components/landing/DeveloperFirst.module.css
    • Added CSS styles for the new 'DeveloperFirst' landing page section, including responsive grid layouts for SDK cards and CTA buttons.
  • src/components/landing/DeveloperFirst.tsx
    • Added a new React component for the 'DeveloperFirst' section of the landing page, showcasing various SDKs with install commands and copy functionality.
  • src/components/landing/FinalCTA.module.css
    • Added CSS styles for the new 'FinalCTA' landing page section, including responsive design for call-to-action buttons and a background glow effect.
  • src/components/landing/FinalCTA.tsx
    • Added a new React component for the 'FinalCTA' section of the landing page, providing calls to action for tutorials, documentation, and source code.
  • src/components/landing/Hero.module.css
    • Added CSS styles for the new 'Hero' landing page section, including responsive grid layout, badge styling, and code window aesthetics.
  • src/components/landing/Hero.tsx
    • Added a new React component for the 'Hero' section of the landing page, featuring a prominent heading, descriptive text, call-to-action buttons, and a code preview window.
  • src/components/landing/ProblemSolution.module.css
    • Added CSS styles for the new 'ProblemSolution' landing page section, including responsive card layouts and text formatting.
  • src/components/landing/ProblemSolution.tsx
    • Added a new React component for the 'ProblemSolution' section of the landing page, outlining the challenges of traditional security and how OpenTDF provides solutions.
  • src/components/landing/Standards.module.css
    • Added CSS styles for the new 'Standards' landing page section, including responsive grid layout for content and a TDF object diagram.
  • src/components/landing/Standards.tsx
    • Added a new React component for the 'Standards' section of the landing page, detailing OpenTDF's adherence to standards like NIST ABAC and featuring a TDF object structure diagram.
  • src/components/landing/index.ts
    • Exported all new landing page components (Hero, ProblemSolution, DeveloperFirst, Standards, Community, FinalCTA) for easier import.
  • src/css/custom.css
    • Updated Docusaurus theme primary color variables to a new teal palette.
    • Modified the highlight code line background and border color.
    • Introduced new styling for 'tip' admonition blocks with amber colors.
    • Adjusted dark mode link, menu, and breadcrumb active colors to match the new primary color.
    • Removed specific dark mode navbar and footer styling, deferring to new global styles.
    • Updated navbar brand title color for dark mode.
    • Refactored footer styling to a new dark theme with updated link colors and copyright presentation.
    • Implemented a new navbar layout with brand on the left, nav items centered, and GitHub link on the right, including custom styling for the GitHub button.
  • src/css/landing.css
    • Added new CSS utility classes for the landing page, including grid backgrounds, gradient meshes, text gradients, glow effects, code block animation, and section background colors.
    • Defined custom accent colors for SDK cards and their hover effects.
  • src/pages/index.tsx
    • Updated the Open Graph description meta tag for the homepage.
    • Replaced the old homepage components (Hero, Columns, Features, Feedback) with the new set of landing page components (Hero, ProblemSolution, DeveloperFirst, Standards, Community, FinalCTA).
  • static/img/favicon.svg
    • Added a new SVG file to be used as the site's favicon, featuring a dark background with a teal diamond and circle.
  • static/img/filecontents.svg
    • Removed an outdated SVG image previously used to illustrate file contents.
  • static/img/opentdf-icon.svg
    • Added a new SVG file for the OpenTDF icon, featuring a teal diamond and circle.
Activity
  • No human activity has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a major redesign of the OpenTDF.io homepage and new Java SDK code samples for encryption and decryption. A security audit identified several high-severity vulnerabilities in the Java code samples, specifically hardcoded secrets and insecure data handling. Additionally, the Java examples contain a compilation-preventing typo and resource leaks. These issues, even in documentation, pose a significant risk. It is strongly recommended to replace hardcoded credentials with a secure secret management solution, enforce secure TLS connections, correct the typo, and resolve resource leaks to adhere to best practices.

@vmorps
Copy link
Contributor Author

vmorps commented Feb 21, 2026

Java sample files have been removed from the branch; they had nothing to do with my PR.

@jp-ayyappan
Copy link
Contributor

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a complete redesign of the OpenTDF.io homepage, replacing the old content with a modern, visually appealing design and updated messaging. It adds several new landing page sections (Hero, Problem/Solution, Developer First, Standards, Community, and Final CTA) as React components. The documentation's CSS has also been updated to align with the new design system, including new color schemes, navbar styling, and footer design.

The new components are well-structured, and the styling makes good use of modern CSS features like custom properties, color-mix, and animations. The changes significantly improve the look and feel of the site.

I've added a couple of suggestions to improve the new CSS for the navbar, focusing on layout robustness and maintainability. Overall, this is a fantastic update.

@jp-ayyappan
Copy link
Contributor

We also seem to have lost the light / dark switch functionality that is currently implemented in opentdf.io. We should fix that since it is used throughout the docs site.

jp-ayyappan added a commit that referenced this pull request Feb 22, 2026
- 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 <noreply@anthropic.com>
@vmorps vmorps requested a review from a team as a code owner February 22, 2026 13:49
jp-ayyappan added a commit that referenced this pull request Feb 23, 2026
## Summary

- Add \`scripts/update-openapi-index.ts\` post-processing script that
runs after \`docusaurus gen-api-docs\` to:
- Rename \`.info.mdx\` files to \`index.mdx\` (prevents duplicate
sidebar entries)
- Regenerate \`docs/OpenAPI-clients/index.md\` with correct
directory-based links
- Chain post-processing automatically via \`gen-api-docs-all\` npm
script
- Refactor \`preprocessing.ts\`: extract shared \`SERVICE_DESCRIPTIONS\`
and \`CATEGORY_MAPPING\` constants, add catch-all category for
uncategorized APIs
- Extend \`check-vendored-yaml\` to detect unregistered spec files in
the platform repo — walks \`docs/openapi/\` via the GitHub Contents API
and fails the build if a new API spec exists upstream without a
corresponding entry in \`openApiSpecsArray\`
- Add footer license info distinguishing Docs (CC BY 4.0) from Code (BSD
3-Clause)
- Add \`gray-matter\` dependency for frontmatter parsing

## Preview

🔗 **https://opentdf-docs-preview-openapi-processing.surge.sh**

### Before vs After

| | Before (Production) | After (Preview) |
|---|---|---|
| OpenAPI Clients Index |
[/OpenAPI-clients](https://opentdf.io/OpenAPI-clients) |
[/OpenAPI-clients](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients)
|

### Preview — API Endpoint Root Pages

These root pages previously did not resolve. This PR fixes them.

| Service | Preview Link |
|---|---|
| Well-Known Configuration |
[/OpenAPI-clients/wellknownconfiguration](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/wellknownconfiguration)
|
| KAS |
[/OpenAPI-clients/kas](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/kas)
|
| V1 Authorization |
[/OpenAPI-clients/authorization/v1](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/authorization/v1)
|
| V2 Authorization |
[/OpenAPI-clients/authorization/v2](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/authorization/v2)
|
| V1 Entity Resolution |
[/OpenAPI-clients/entityresolution/v1](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/entityresolution/v1)
|
| V2 Entity Resolution |
[/OpenAPI-clients/entityresolution/v2](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/entityresolution/v2)
|
| Policy Objects |
[/OpenAPI-clients/policy](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy)
|
| Policy Attributes |
[/OpenAPI-clients/policy/attributes](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/attributes)
|
| Policy Namespaces |
[/OpenAPI-clients/policy/namespaces](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/namespaces)
|
| Policy Actions |
[/OpenAPI-clients/policy/actions](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/actions)
|
| Policy Subject Mapping |
[/OpenAPI-clients/policy/subjectmapping](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/subjectmapping)
|
| Policy Resource Mapping |
[/OpenAPI-clients/policy/resourcemapping](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/resourcemapping)
|
| Policy Obligations |
[/OpenAPI-clients/policy/obligations](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/obligations)
|
| Policy Registered Resources |
[/OpenAPI-clients/policy/registeredresources](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/registeredresources)
|
| Policy KAS Registry |
[/OpenAPI-clients/policy/kasregistry](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/kasregistry)
|
| Key Management |
[/OpenAPI-clients/policy/keymanagement](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/keymanagement)
|
| Policy Unsafe Service |
[/OpenAPI-clients/policy/unsafe](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/unsafe)
|

## Related

- Homepage redesign: #191
- License update: #187 (merged)

## Test plan

- [ ] Run \`npm run gen-api-docs-all\` and verify no build warnings
about missing \`.info.mdx\` files
- [ ] Verify \`docs/OpenAPI-clients/index.md\` links resolve correctly
- [ ] Run \`npm run build\` and confirm no broken link errors on
\`/OpenAPI-clients\`
- [ ] Verify \`check-vendored-yaml\` fails if a new spec with API paths
exists in the platform repo but is not registered in
\`openApiSpecsArray\`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
jp-ayyappan added a commit that referenced this pull request Feb 23, 2026
## Summary

Addresses all review comments raised on #191. Includes a light mode pass
across the entire site since the theme toggle was broken.

## Changes

### Reviewer-requested fixes (jp-ayyappan)
- **Favicon**: reverted from `favicon.svg` back to `OpenTDF-Logo.png`
- **Navbar logo**: reverted from `opentdf-icon.svg` back to
`OpenTDF-Logo.png`; added `srcDark: "img/OpenTDF-Logo-White.png"` for
automatic dark/light logo switching via Docusaurus's built-in `srcDark`
config
- **Light/dark mode toggle restored**: navbar was hardcoded always-dark,
breaking the color mode switch; made fully theme-aware

### CSS improvements (gemini-code-assist)
- **Navbar layout robustness**: added `max-width` guard on the centered
nav links container to prevent overlap with the absolutely-positioned
brand and right items at narrow viewports
- **GitHub icon deduplication**: extracted the large SVG data URL into a
`--github-icon-svg` CSS custom property; both `-webkit-mask-image` and
`mask-image` now reference the variable

### Code hygiene
- **Removed orphaned assets**: `favicon.svg` and `opentdf-icon.svg` were
added by #191 and are now unreferenced — deleted
- **Added** `static/img/OpenTDF-Logo-White.png` for dark mode navbar
logo
- **Normalized dark mode selectors**: new `[data-theme='dark']` rules
aligned to `html[data-theme='dark']` to match the file's existing
convention and specificity

### Light mode for the full site
- **Navbar**: light glass background in light mode; dark glass in dark
mode — with adaptive text, nav links, and GitHub button colors
- **Footer**: was always-dark; now theme-aware with light gray
background, dark text, and adapted link colors in light mode
- **Landing page homepage**: all six sections (`Hero`,
`ProblemSolution`, `DeveloperFirst`, `Standards`, `Community`,
`FinalCTA`) now adapt to light mode — white/off-white section
backgrounds, dark text, corrected button borders. Code windows (Hero)
and TDF diagram (Standards) intentionally remain dark in both modes.
- **Design tokens**: added `html[data-theme='light']` overrides for all
`--otdf-*` CSS custom properties

### Admonition fixes
- **`:::tip` dark mode**: was unreadable (cream background + white
inherited text in dark mode); now uses a dark amber background
(`#451a03`) with light amber text in dark mode
- **`:::note` decoupled from amber**: the original rule incorrectly
targeted `alert--secondary` (note) alongside tip — removed; notes now
use Docusaurus's default dark-mode-safe secondary styling

## Preview

🔗 <a href="https://opentdf-docs-preview-191-review.surge.sh/"
target="_blank">https://opentdf-docs-preview-191-review.surge.sh/</a>

## Test plan
- [ ] Verify homepage renders correctly in both light and dark mode
- [ ] Verify navbar logo switches between color and white versions on
theme toggle
- [ ] Verify color mode toggle is visible and functional in the navbar
- [ ] Verify footer adapts to light/dark mode
- [ ] Verify `:::tip` admonitions are readable in both modes on a docs
page (e.g. `/quickstart`)
- [ ] Verify `:::note` admonitions render with default gray styling (not
amber)
- [ ] Check navbar layout at various viewport widths above the mobile
breakpoint

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
vmorps pushed a commit that referenced this pull request Feb 24, 2026
## Summary

Addresses all review comments raised on #191. Includes a light mode pass
across the entire site since the theme toggle was broken.

## Changes

### Reviewer-requested fixes (jp-ayyappan)
- **Favicon**: reverted from `favicon.svg` back to `OpenTDF-Logo.png`
- **Navbar logo**: reverted from `opentdf-icon.svg` back to
`OpenTDF-Logo.png`; added `srcDark: "img/OpenTDF-Logo-White.png"` for
automatic dark/light logo switching via Docusaurus's built-in `srcDark`
config
- **Light/dark mode toggle restored**: navbar was hardcoded always-dark,
breaking the color mode switch; made fully theme-aware

### CSS improvements (gemini-code-assist)
- **Navbar layout robustness**: added `max-width` guard on the centered
nav links container to prevent overlap with the absolutely-positioned
brand and right items at narrow viewports
- **GitHub icon deduplication**: extracted the large SVG data URL into a
`--github-icon-svg` CSS custom property; both `-webkit-mask-image` and
`mask-image` now reference the variable

### Code hygiene
- **Removed orphaned assets**: `favicon.svg` and `opentdf-icon.svg` were
added by #191 and are now unreferenced — deleted
- **Added** `static/img/OpenTDF-Logo-White.png` for dark mode navbar
logo
- **Normalized dark mode selectors**: new `[data-theme='dark']` rules
aligned to `html[data-theme='dark']` to match the file's existing
convention and specificity

### Light mode for the full site
- **Navbar**: light glass background in light mode; dark glass in dark
mode — with adaptive text, nav links, and GitHub button colors
- **Footer**: was always-dark; now theme-aware with light gray
background, dark text, and adapted link colors in light mode
- **Landing page homepage**: all six sections (`Hero`,
`ProblemSolution`, `DeveloperFirst`, `Standards`, `Community`,
`FinalCTA`) now adapt to light mode — white/off-white section
backgrounds, dark text, corrected button borders. Code windows (Hero)
and TDF diagram (Standards) intentionally remain dark in both modes.
- **Design tokens**: added `html[data-theme='light']` overrides for all
`--otdf-*` CSS custom properties

### Admonition fixes
- **`:::tip` dark mode**: was unreadable (cream background + white
inherited text in dark mode); now uses a dark amber background
(`#451a03`) with light amber text in dark mode
- **`:::note` decoupled from amber**: the original rule incorrectly
targeted `alert--secondary` (note) alongside tip — removed; notes now
use Docusaurus's default dark-mode-safe secondary styling

## Preview

🔗 <a href="https://opentdf-docs-preview-191-review.surge.sh/"
target="_blank">https://opentdf-docs-preview-191-review.surge.sh/</a>

## Test plan
- [ ] Verify homepage renders correctly in both light and dark mode
- [ ] Verify navbar logo switches between color and white versions on
theme toggle
- [ ] Verify color mode toggle is visible and functional in the navbar
- [ ] Verify footer adapts to light/dark mode
- [ ] Verify `:::tip` admonitions are readable in both modes on a docs
page (e.g. `/quickstart`)
- [ ] Verify `:::note` admonitions render with default gray styling (not
amber)
- [ ] Check navbar layout at various viewport widths above the mobile
breakpoint

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
vmorps pushed a commit that referenced this pull request Feb 24, 2026
- Add \`scripts/update-openapi-index.ts\` post-processing script that
runs after \`docusaurus gen-api-docs\` to:
- Rename \`.info.mdx\` files to \`index.mdx\` (prevents duplicate
sidebar entries)
- Regenerate \`docs/OpenAPI-clients/index.md\` with correct
directory-based links
- Chain post-processing automatically via \`gen-api-docs-all\` npm
script
- Refactor \`preprocessing.ts\`: extract shared \`SERVICE_DESCRIPTIONS\`
and \`CATEGORY_MAPPING\` constants, add catch-all category for
uncategorized APIs
- Extend \`check-vendored-yaml\` to detect unregistered spec files in
the platform repo — walks \`docs/openapi/\` via the GitHub Contents API
and fails the build if a new API spec exists upstream without a
corresponding entry in \`openApiSpecsArray\`
- Add footer license info distinguishing Docs (CC BY 4.0) from Code (BSD
3-Clause)
- Add \`gray-matter\` dependency for frontmatter parsing

🔗 **https://opentdf-docs-preview-openapi-processing.surge.sh**

| | Before (Production) | After (Preview) |
|---|---|---|
| OpenAPI Clients Index |
[/OpenAPI-clients](https://opentdf.io/OpenAPI-clients) |
[/OpenAPI-clients](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients)
|

These root pages previously did not resolve. This PR fixes them.

| Service | Preview Link |
|---|---|
| Well-Known Configuration |
[/OpenAPI-clients/wellknownconfiguration](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/wellknownconfiguration)
|
| KAS |
[/OpenAPI-clients/kas](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/kas)
|
| V1 Authorization |
[/OpenAPI-clients/authorization/v1](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/authorization/v1)
|
| V2 Authorization |
[/OpenAPI-clients/authorization/v2](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/authorization/v2)
|
| V1 Entity Resolution |
[/OpenAPI-clients/entityresolution/v1](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/entityresolution/v1)
|
| V2 Entity Resolution |
[/OpenAPI-clients/entityresolution/v2](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/entityresolution/v2)
|
| Policy Objects |
[/OpenAPI-clients/policy](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy)
|
| Policy Attributes |
[/OpenAPI-clients/policy/attributes](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/attributes)
|
| Policy Namespaces |
[/OpenAPI-clients/policy/namespaces](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/namespaces)
|
| Policy Actions |
[/OpenAPI-clients/policy/actions](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/actions)
|
| Policy Subject Mapping |
[/OpenAPI-clients/policy/subjectmapping](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/subjectmapping)
|
| Policy Resource Mapping |
[/OpenAPI-clients/policy/resourcemapping](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/resourcemapping)
|
| Policy Obligations |
[/OpenAPI-clients/policy/obligations](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/obligations)
|
| Policy Registered Resources |
[/OpenAPI-clients/policy/registeredresources](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/registeredresources)
|
| Policy KAS Registry |
[/OpenAPI-clients/policy/kasregistry](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/kasregistry)
|
| Key Management |
[/OpenAPI-clients/policy/keymanagement](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/keymanagement)
|
| Policy Unsafe Service |
[/OpenAPI-clients/policy/unsafe](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/unsafe)
|

- Homepage redesign: #191
- License update: #187 (merged)

- [ ] Run \`npm run gen-api-docs-all\` and verify no build warnings
about missing \`.info.mdx\` files
- [ ] Verify \`docs/OpenAPI-clients/index.md\` links resolve correctly
- [ ] Run \`npm run build\` and confirm no broken link errors on
\`/OpenAPI-clients\`
- [ ] Verify \`check-vendored-yaml\` fails if a new spec with API paths
exists in the platform repo but is not registered in
\`openApiSpecsArray\`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
jp-ayyappan
jp-ayyappan previously approved these changes Feb 24, 2026
vmorps pushed a commit that referenced this pull request Feb 24, 2026
## Summary

Addresses all review comments raised on #191. Includes a light mode pass
across the entire site since the theme toggle was broken.

## Changes

### Reviewer-requested fixes (jp-ayyappan)
- **Favicon**: reverted from `favicon.svg` back to `OpenTDF-Logo.png`
- **Navbar logo**: reverted from `opentdf-icon.svg` back to
`OpenTDF-Logo.png`; added `srcDark: "img/OpenTDF-Logo-White.png"` for
automatic dark/light logo switching via Docusaurus's built-in `srcDark`
config
- **Light/dark mode toggle restored**: navbar was hardcoded always-dark,
breaking the color mode switch; made fully theme-aware

### CSS improvements (gemini-code-assist)
- **Navbar layout robustness**: added `max-width` guard on the centered
nav links container to prevent overlap with the absolutely-positioned
brand and right items at narrow viewports
- **GitHub icon deduplication**: extracted the large SVG data URL into a
`--github-icon-svg` CSS custom property; both `-webkit-mask-image` and
`mask-image` now reference the variable

### Code hygiene
- **Removed orphaned assets**: `favicon.svg` and `opentdf-icon.svg` were
added by #191 and are now unreferenced — deleted
- **Added** `static/img/OpenTDF-Logo-White.png` for dark mode navbar
logo
- **Normalized dark mode selectors**: new `[data-theme='dark']` rules
aligned to `html[data-theme='dark']` to match the file's existing
convention and specificity

### Light mode for the full site
- **Navbar**: light glass background in light mode; dark glass in dark
mode — with adaptive text, nav links, and GitHub button colors
- **Footer**: was always-dark; now theme-aware with light gray
background, dark text, and adapted link colors in light mode
- **Landing page homepage**: all six sections (`Hero`,
`ProblemSolution`, `DeveloperFirst`, `Standards`, `Community`,
`FinalCTA`) now adapt to light mode — white/off-white section
backgrounds, dark text, corrected button borders. Code windows (Hero)
and TDF diagram (Standards) intentionally remain dark in both modes.
- **Design tokens**: added `html[data-theme='light']` overrides for all
`--otdf-*` CSS custom properties

### Admonition fixes
- **`:::tip` dark mode**: was unreadable (cream background + white
inherited text in dark mode); now uses a dark amber background
(`#451a03`) with light amber text in dark mode
- **`:::note` decoupled from amber**: the original rule incorrectly
targeted `alert--secondary` (note) alongside tip — removed; notes now
use Docusaurus's default dark-mode-safe secondary styling

## Preview

🔗 <a href="https://opentdf-docs-preview-191-review.surge.sh/"
target="_blank">https://opentdf-docs-preview-191-review.surge.sh/</a>

## Test plan
- [ ] Verify homepage renders correctly in both light and dark mode
- [ ] Verify navbar logo switches between color and white versions on
theme toggle
- [ ] Verify color mode toggle is visible and functional in the navbar
- [ ] Verify footer adapts to light/dark mode
- [ ] Verify `:::tip` admonitions are readable in both modes on a docs
page (e.g. `/quickstart`)
- [ ] Verify `:::note` admonitions render with default gray styling (not
amber)
- [ ] Check navbar layout at various viewport widths above the mobile
breakpoint

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
@vmorps vmorps force-pushed the feat/site-redesign branch from fbf20c5 to bb0eff5 Compare February 24, 2026 12:44
@marythought
Copy link
Contributor

tagging in @cassandrabailey293 for architecture awareness and review

Copy link
Member

@jrschumacher jrschumacher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking this PR. There is a relevant meeting next week and @cassandrabailey293 will reach out after.

@marythought
Copy link
Contributor

marythought commented Mar 2, 2026

Overall I really like the changes here and think this is a good, developer focused change in the right direction! I wonder about the existing content on the front page and if we should move it anywhere ("Project Overview and Current State
" for example could go in the feature matrix section) -- that can happen as a followup.

Also need to ensure that the code snippets are actually working code (https://github.com/opentdf/web-sdk for reference), or maybe a shortened version of https://opentdf.io/sdks/quickstart/go#go-implementation-code since the Go SDK has more features than web. Due to my newness I am not sure if this example actually works:

import { OpenTDF } from '@opentdf/sdk';
// Connect to the platform
const client = await OpenTDF.connect('http://localhost:8080');
// Encrypt with attribute-based policy
const ciphertext = await client.encrypt(data, {
attributes: ['https://example.com/attr/class/value/secret'],

@jrschumacher
Copy link
Member

CleanShot 2026-03-02 at 15 49 13@2x

Looks like it was intended that the background of the first hero was to be

background-repeat: no-repeat;
background-size: cover;

@vmorps vmorps force-pushed the feat/site-redesign branch from fcb29f3 to 7586beb Compare March 2, 2026 23:14
@jrschumacher jrschumacher dismissed their stale review March 2, 2026 23:59

Alignment found

marythought
marythought previously approved these changes Mar 3, 2026
Copy link
Contributor

@marythought marythought left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

vmorps pushed a commit that referenced this pull request Mar 3, 2026
## Summary

- Add \`scripts/update-openapi-index.ts\` post-processing script that
runs after \`docusaurus gen-api-docs\` to:
- Rename \`.info.mdx\` files to \`index.mdx\` (prevents duplicate
sidebar entries)
- Regenerate \`docs/OpenAPI-clients/index.md\` with correct
directory-based links
- Chain post-processing automatically via \`gen-api-docs-all\` npm
script
- Refactor \`preprocessing.ts\`: extract shared \`SERVICE_DESCRIPTIONS\`
and \`CATEGORY_MAPPING\` constants, add catch-all category for
uncategorized APIs
- Extend \`check-vendored-yaml\` to detect unregistered spec files in
the platform repo — walks \`docs/openapi/\` via the GitHub Contents API
and fails the build if a new API spec exists upstream without a
corresponding entry in \`openApiSpecsArray\`
- Add footer license info distinguishing Docs (CC BY 4.0) from Code (BSD
3-Clause)
- Add \`gray-matter\` dependency for frontmatter parsing

## Preview

🔗 **https://opentdf-docs-preview-openapi-processing.surge.sh**

### Before vs After

| | Before (Production) | After (Preview) |
|---|---|---|
| OpenAPI Clients Index |
[/OpenAPI-clients](https://opentdf.io/OpenAPI-clients) |
[/OpenAPI-clients](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients)
|

### Preview — API Endpoint Root Pages

These root pages previously did not resolve. This PR fixes them.

| Service | Preview Link |
|---|---|
| Well-Known Configuration |
[/OpenAPI-clients/wellknownconfiguration](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/wellknownconfiguration)
|
| KAS |
[/OpenAPI-clients/kas](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/kas)
|
| V1 Authorization |
[/OpenAPI-clients/authorization/v1](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/authorization/v1)
|
| V2 Authorization |
[/OpenAPI-clients/authorization/v2](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/authorization/v2)
|
| V1 Entity Resolution |
[/OpenAPI-clients/entityresolution/v1](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/entityresolution/v1)
|
| V2 Entity Resolution |
[/OpenAPI-clients/entityresolution/v2](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/entityresolution/v2)
|
| Policy Objects |
[/OpenAPI-clients/policy](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy)
|
| Policy Attributes |
[/OpenAPI-clients/policy/attributes](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/attributes)
|
| Policy Namespaces |
[/OpenAPI-clients/policy/namespaces](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/namespaces)
|
| Policy Actions |
[/OpenAPI-clients/policy/actions](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/actions)
|
| Policy Subject Mapping |
[/OpenAPI-clients/policy/subjectmapping](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/subjectmapping)
|
| Policy Resource Mapping |
[/OpenAPI-clients/policy/resourcemapping](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/resourcemapping)
|
| Policy Obligations |
[/OpenAPI-clients/policy/obligations](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/obligations)
|
| Policy Registered Resources |
[/OpenAPI-clients/policy/registeredresources](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/registeredresources)
|
| Policy KAS Registry |
[/OpenAPI-clients/policy/kasregistry](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/kasregistry)
|
| Key Management |
[/OpenAPI-clients/policy/keymanagement](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/keymanagement)
|
| Policy Unsafe Service |
[/OpenAPI-clients/policy/unsafe](https://opentdf-docs-preview-openapi-processing.surge.sh/OpenAPI-clients/policy/unsafe)
|

## Related

- Homepage redesign: #191
- License update: #187 (merged)

## Test plan

- [ ] Run \`npm run gen-api-docs-all\` and verify no build warnings
about missing \`.info.mdx\` files
- [ ] Verify \`docs/OpenAPI-clients/index.md\` links resolve correctly
- [ ] Run \`npm run build\` and confirm no broken link errors on
\`/OpenAPI-clients\`
- [ ] Verify \`check-vendored-yaml\` fails if a new spec with API paths
exists in the platform repo but is not registered in
\`openApiSpecsArray\`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
@vmorps vmorps force-pushed the feat/site-redesign branch from c793331 to 367e024 Compare March 3, 2026 01:10
vmorps pushed a commit that referenced this pull request Mar 3, 2026
## Summary

Addresses all review comments raised on #191. Includes a light mode pass
across the entire site since the theme toggle was broken.

## Changes

### Reviewer-requested fixes (jp-ayyappan)
- **Favicon**: reverted from `favicon.svg` back to `OpenTDF-Logo.png`
- **Navbar logo**: reverted from `opentdf-icon.svg` back to
`OpenTDF-Logo.png`; added `srcDark: "img/OpenTDF-Logo-White.png"` for
automatic dark/light logo switching via Docusaurus's built-in `srcDark`
config
- **Light/dark mode toggle restored**: navbar was hardcoded always-dark,
breaking the color mode switch; made fully theme-aware

### CSS improvements (gemini-code-assist)
- **Navbar layout robustness**: added `max-width` guard on the centered
nav links container to prevent overlap with the absolutely-positioned
brand and right items at narrow viewports
- **GitHub icon deduplication**: extracted the large SVG data URL into a
`--github-icon-svg` CSS custom property; both `-webkit-mask-image` and
`mask-image` now reference the variable

### Code hygiene
- **Removed orphaned assets**: `favicon.svg` and `opentdf-icon.svg` were
added by #191 and are now unreferenced — deleted
- **Added** `static/img/OpenTDF-Logo-White.png` for dark mode navbar
logo
- **Normalized dark mode selectors**: new `[data-theme='dark']` rules
aligned to `html[data-theme='dark']` to match the file's existing
convention and specificity

### Light mode for the full site
- **Navbar**: light glass background in light mode; dark glass in dark
mode — with adaptive text, nav links, and GitHub button colors
- **Footer**: was always-dark; now theme-aware with light gray
background, dark text, and adapted link colors in light mode
- **Landing page homepage**: all six sections (`Hero`,
`ProblemSolution`, `DeveloperFirst`, `Standards`, `Community`,
`FinalCTA`) now adapt to light mode — white/off-white section
backgrounds, dark text, corrected button borders. Code windows (Hero)
and TDF diagram (Standards) intentionally remain dark in both modes.
- **Design tokens**: added `html[data-theme='light']` overrides for all
`--otdf-*` CSS custom properties

### Admonition fixes
- **`:::tip` dark mode**: was unreadable (cream background + white
inherited text in dark mode); now uses a dark amber background
(`#451a03`) with light amber text in dark mode
- **`:::note` decoupled from amber**: the original rule incorrectly
targeted `alert--secondary` (note) alongside tip — removed; notes now
use Docusaurus's default dark-mode-safe secondary styling

## Preview

🔗 <a href="https://opentdf-docs-preview-191-review.surge.sh/"
target="_blank">https://opentdf-docs-preview-191-review.surge.sh/</a>

## Test plan
- [ ] Verify homepage renders correctly in both light and dark mode
- [ ] Verify navbar logo switches between color and white versions on
theme toggle
- [ ] Verify color mode toggle is visible and functional in the navbar
- [ ] Verify footer adapts to light/dark mode
- [ ] Verify `:::tip` admonitions are readable in both modes on a docs
page (e.g. `/quickstart`)
- [ ] Verify `:::note` admonitions render with default gray styling (not
amber)
- [ ] Check navbar layout at various viewport widths above the mobile
breakpoint

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
vmorps and others added 16 commits March 2, 2026 17:34
Redesigned the OpenTDF.io homepage with new messaging and contemporary
design, including new landing page components (Hero, ProblemSolution,
DeveloperFirst, Standards, Community, FinalCTA). Updated documentation
CSS to reflect the new design. Adds new favicon and OpenTDF icon, and
includes Java SDK encrypt/decrypt collection code samples.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
…separately)

Signed-off-by: Mike Morper <mike.morper@virtru.com>
- Replace opentdf-social.png with new dark-themed brand-compliant 1200x630
  image featuring gradient headline, code window, opentdf.io URL, license text, and TDF/services pills
- Add complete og:type, og:site_name, og:url, og:image:width/height tags
- Add Twitter/X Card meta tags to homepage
- Fix Schema.org JSON-LD logo URL to opentdf.io

Closes #192

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
Local Claude instructions should never be pushed to the remote.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
Remove navbar logo image entirely — "OpenTDF" text wordmark only.
Revert favicon back to OpenTDF-Logo.png pending icon direction decision.
Retains favicon.svg and opentdf-icon.svg on disk for PR #196 to clean up.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
Move og-concepts.html, og-export.html, and brand-guide.html into
design/ subfolder. Update .gitignore to ignore design/ as a single
rule instead of individual file entries.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
## Summary

Addresses all review comments raised on #191. Includes a light mode pass
across the entire site since the theme toggle was broken.

## Changes

### Reviewer-requested fixes (jp-ayyappan)
- **Favicon**: reverted from `favicon.svg` back to `OpenTDF-Logo.png`
- **Navbar logo**: reverted from `opentdf-icon.svg` back to
`OpenTDF-Logo.png`; added `srcDark: "img/OpenTDF-Logo-White.png"` for
automatic dark/light logo switching via Docusaurus's built-in `srcDark`
config
- **Light/dark mode toggle restored**: navbar was hardcoded always-dark,
breaking the color mode switch; made fully theme-aware

### CSS improvements (gemini-code-assist)
- **Navbar layout robustness**: added `max-width` guard on the centered
nav links container to prevent overlap with the absolutely-positioned
brand and right items at narrow viewports
- **GitHub icon deduplication**: extracted the large SVG data URL into a
`--github-icon-svg` CSS custom property; both `-webkit-mask-image` and
`mask-image` now reference the variable

### Code hygiene
- **Removed orphaned assets**: `favicon.svg` and `opentdf-icon.svg` were
added by #191 and are now unreferenced — deleted
- **Added** `static/img/OpenTDF-Logo-White.png` for dark mode navbar
logo
- **Normalized dark mode selectors**: new `[data-theme='dark']` rules
aligned to `html[data-theme='dark']` to match the file's existing
convention and specificity

### Light mode for the full site
- **Navbar**: light glass background in light mode; dark glass in dark
mode — with adaptive text, nav links, and GitHub button colors
- **Footer**: was always-dark; now theme-aware with light gray
background, dark text, and adapted link colors in light mode
- **Landing page homepage**: all six sections (`Hero`,
`ProblemSolution`, `DeveloperFirst`, `Standards`, `Community`,
`FinalCTA`) now adapt to light mode — white/off-white section
backgrounds, dark text, corrected button borders. Code windows (Hero)
and TDF diagram (Standards) intentionally remain dark in both modes.
- **Design tokens**: added `html[data-theme='light']` overrides for all
`--otdf-*` CSS custom properties

### Admonition fixes
- **`:::tip` dark mode**: was unreadable (cream background + white
inherited text in dark mode); now uses a dark amber background
(`#451a03`) with light amber text in dark mode
- **`:::note` decoupled from amber**: the original rule incorrectly
targeted `alert--secondary` (note) alongside tip — removed; notes now
use Docusaurus's default dark-mode-safe secondary styling

## Preview

🔗 <a href="https://opentdf-docs-preview-191-review.surge.sh/"
target="_blank">https://opentdf-docs-preview-191-review.surge.sh/</a>

## Test plan
- [ ] Verify homepage renders correctly in both light and dark mode
- [ ] Verify navbar logo switches between color and white versions on
theme toggle
- [ ] Verify color mode toggle is visible and functional in the navbar
- [ ] Verify footer adapts to light/dark mode
- [ ] Verify `:::tip` admonitions are readable in both modes on a docs
page (e.g. `/quickstart`)
- [ ] Verify `:::note` admonitions render with default gray styling (not
amber)
- [ ] Check navbar layout at various viewport widths above the mobile
breakpoint

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
- Fix npm build by removing duplicate *.info.mdx files generated by
  docusaurus-plugin-openapi-docs v4.7.1; the plugin now generates both
  index.mdx and *.info.mdx with identical IDs, breaking Docusaurus's
  category index association and causing useCurrentSidebarCategory()
  errors during SSG
- Bump docusaurus-plugin-openapi-docs and docusaurus-theme-openapi-docs
  to 4.7.1 to match package.json constraint
- Replace brew install CLI card with a link to the latest otdfctl release

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
Re-adds the cyan diamond favicon SVG and updates docusaurus.config.ts
to reference it; the PNG was a temporary stand-in pending a new brand
mark from marketing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
Lock file was out of sync after rebase conflict resolution, causing
npm ci to fail in CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
Conflict markers from a prior merge were baked into the commit history,
causing a parse error during build.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
Update all landing page sections with consistent light-mode styling:
refined border colors, hover interactions, button styles, and text
contrast. Switch navbar logo to new SVG mark. Update license text
to "BSD 3-Clause Clear".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
- Replace hero code preview with eng-provided SDK snippet (createTDF,
  read, full encrypt/decrypt flow)
- Restore lockup SVGs (mark + wordmark) as navbar logo for light/dark
- Update favicon to overlapping-circles mark instead of diamond icon

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
…gram

- Change "JS Quickstart" button to "Quickstart"
- Fix Java SDK coordinate to io.opentdf.platform:sdk:<version>
- Point SDK card links to package registries (npm, pkg.go.dev, Maven Central)
- Update CLI card href to https://opentdf.io/components/cli
- Add target="_blank" rel="noopener noreferrer" to external SDK links
- Correct TDF diagram nesting per spec (encryptionInformation children, assertions placement)
- Add pl12 indent class for deeper diagram nesting

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
- Replace social image with clean brand-focused design (lockup + headline + URL)
- Add og:site_name, og:image:width, og:image:height meta tags globally
- Fix Schema.org JSON-LD logo URL to use opentdf-social.png
- Widen hero grid split to prevent heading text wrap
- Remove "Start here" badge from Web SDK card

Closes #192

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mike Morper <mike.morper@virtru.com>
@vmorps vmorps force-pushed the feat/site-redesign branch from 367e024 to 1472a29 Compare March 3, 2026 01:34
Copy link
Contributor

@marythought marythought left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@jp-ayyappan jp-ayyappan merged commit 5c17b7d into main Mar 3, 2026
3 checks passed
@jp-ayyappan jp-ayyappan deleted the feat/site-redesign branch March 3, 2026 02:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants