Skip to content

Add dark mode theme support to documentation website #266

@GaneshPatil7517

Description

@GaneshPatil7517

Summary

Add a dark mode toggle to the Apache Shiro documentation website to improve user experience and accessibility, especially for developers who prefer dark themes.

Current State

The website only supports a light theme. Many modern documentation sites (e.g., MDN, GitHub Docs) offer dark mode options.

Proposed Changes

  1. Add CSS variables for theme colors in src/site/assets/css/base.css
  2. Create dark mode stylesheet or CSS variables
  3. Add a theme toggle button in the header template (src/site/templates/header.ftl)
  4. Use JavaScript to persist user preference in localStorage
  5. Respect system preference via prefers-color-scheme media query

Acceptance Criteria

  • Dark mode toggle button visible in site header
  • Theme persists across page navigation and browser sessions
  • Respects OS-level dark mode preference as default
  • Code blocks (Highlight.js) have appropriate dark theme
  • All text remains readable with sufficient contrast (WCAG AA)
  • No visual glitches during theme transition

Technical Notes

  • Templates are in FreeMarker (.ftl files) in src/site/templates/
  • CSS files are in src/site/assets/css/

Labels: enhancement, accessibility, css

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions