Skip to content

Plugin or preset to easily integrate Oxygen UI with Docusaurus #500

@brionmario

Description

@brionmario

Problem

Integrating Oxygen UI with a Docusaurus-based documentation site currently requires ejecting and overriding several default theme components to achieve visual and behavioral consistency.

For example, we currently need to:

  • Eject and override the Theme Toggle component to align with Oxygen theming
  • Override the Navbar to use Oxygen styles and layout patterns
  • Customize the Footer for consistent branding
  • Adjust Layout wrappers to inject Oxygen providers
  • Override typography and spacing defaults to match Oxygen design tokens

This leads to:

  • Repeated boilerplate setup across repositories
  • Fragile overrides that may break with Docusaurus upgrades
  • Inconsistent implementation patterns between projects
  • Increased maintenance overhead

There is no standardized way to integrate Oxygen UI cleanly without manually ejecting components.

Proposed Solution

Create a dedicated Docusaurus plugin or preset for Oxygen UI that:

  • Automatically injects required Oxygen providers at the root level
  • Replaces or extends key theme components (Theme Toggle, Navbar, Footer, Layout) without manual ejecting
  • Synchronizes light/dark mode behavior with Oxygen theming
  • Applies Oxygen design tokens and base styles globally
  • Provides a recommended layout configuration out of the box

This would:

  • Eliminate the need for manual component ejection
  • Reduce maintenance burden during Docusaurus upgrades
  • Standardize documentation setup across SDK and product repos
  • Improve developer experience and consistency

Alternatives

Provide documentation to do this manually

Please select the package issue is related to

other

Version

N/A

Reporter Checklist

  • I have searched the existing issues and this is not a duplicate.
  • I have provided all the necessary information.
  • I have verified the feature on the latest version of the package.

Metadata

Metadata

Assignees

No one assigned
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions