Skip to content

fix(docs): add brand logo + favicons and align docs CI node version#455

Open
billpliske wants to merge 1 commit into
constructorfabric:developfrom
billpliske:feature/354-fix-docs-deployment
Open

fix(docs): add brand logo + favicons and align docs CI node version#455
billpliske wants to merge 1 commit into
constructorfabric:developfrom
billpliske:feature/354-fix-docs-deployment

Conversation

@billpliske

@billpliske billpliske commented Jun 8, 2026

Copy link
Copy Markdown
  • Add theme-aware navbar logo (light/dark variants)
  • Add favicon set (svg/ico), apple-touch-icon, PWA icons + web manifest, wired via VitePress head with base-path prefixing
  • Bump docs.yml Node 22 -> 25.x to match main.yml and docs README

Closes #354

Summary by CodeRabbit

  • New Features

    • Added support for light and dark theme logos in documentation
    • Introduced web app manifest for improved installability and branding
  • Chores

    • Updated documentation deployment Node.js runtime

@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR addresses docs deployment workflow issues by upgrading Node.js to 25.x in CI, refactoring the VitePress configuration to extract and use a base constant throughout, adding favicon/manifest link tags, replacing the single logo with light/dark variants, and introducing a web app manifest file for static asset support.

Changes

Docs Deployment and Static Assets

Layer / File(s) Summary
CI Workflow Node.js Version Update
.github/workflows/docs.yml
Node.js runtime upgraded from version 22 to 25.x in the Setup Node action step to align with documentation build requirements.
VitePress Configuration and Branding
packages/docs/src/.vitepress/config.ts
base is now derived from a local constant sourcing process.env.VITE_BASE, icon and manifest link tags are added to head with ${base}-prefixed href values, and themeConfig.logo changes from a single string to an object with separate light and dark logo variants.
Web App Manifest
packages/docs/src/public/site.webmanifest
New manifest file defines app name, short name, icon entries (192px and 512px PNG), theme colors, background color, and standalone display mode.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A hop, skip, and branding leap,
Node twenty-five makes the CI deep,
Light and dark logos now shine bright,
With a manifest web in the night,
Docs deploy with pure delight!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR partially addresses issue #354. It updates Node version (25.x) [#354] and adds logo/favicon assets [#354], but fails to fix the critical output path mismatch in docs.yml [#354]. Fix the build output path in docs.yml from packages/docs/src/.vitepress/dist to packages/docs/dist as required by issue #354.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly captures the main changes: adding brand logos/favicons and updating the Node version in docs CI, matching the primary objectives.
Out of Scope Changes check ✅ Passed All changes are in scope: Node version alignment and logo/favicon assets directly address issue #354 requirements, with no unrelated modifications detected.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
packages/docs/src/public/site.webmanifest (1)

8-9: 💤 Low value

Consider using theme-neutral colors for better dark mode support.

Both theme_color and background_color are set to #ffffff (white). While the VitePress config now supports light/dark logo variants, the manifest colors don't adapt to the user's theme preference.

For a better user experience in dark mode, consider using a theme-neutral color or a color that matches your primary brand color instead of pure white.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/docs/src/public/site.webmanifest` around lines 8 - 9, Update the
site.webmanifest entries "theme_color" and "background_color" to use a
theme-neutral or brand-specific color instead of pure white; locate the
"theme_color" and "background_color" keys in site.webmanifest and replace
"`#ffffff`" with a neutral/brand hex that works in both light and dark modes (or
wire them to a project-wide color constant if supported) so the manifest adapts
visually in dark mode.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@packages/docs/src/public/site.webmanifest`:
- Around line 8-9: Update the site.webmanifest entries "theme_color" and
"background_color" to use a theme-neutral or brand-specific color instead of
pure white; locate the "theme_color" and "background_color" keys in
site.webmanifest and replace "`#ffffff`" with a neutral/brand hex that works in
both light and dark modes (or wire them to a project-wide color constant if
supported) so the manifest adapts visually in dark mode.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: f5ebc090-77f8-42ed-af4f-de318b94fa7e

📥 Commits

Reviewing files that changed from the base of the PR and between fe4d8c3 and 5a12c99.

⛔ Files ignored due to path filters (7)
  • packages/docs/src/public/apple-touch-icon.png is excluded by !**/*.png
  • packages/docs/src/public/favicon.ico is excluded by !**/*.ico
  • packages/docs/src/public/favicon.svg is excluded by !**/*.svg
  • packages/docs/src/public/icon-192.png is excluded by !**/*.png
  • packages/docs/src/public/icon-512.png is excluded by !**/*.png
  • packages/docs/src/public/logo-dark.svg is excluded by !**/*.svg
  • packages/docs/src/public/logo.svg is excluded by !**/*.svg
📒 Files selected for processing (3)
  • .github/workflows/docs.yml
  • packages/docs/src/.vitepress/config.ts
  • packages/docs/src/public/site.webmanifest

…onstructorfabric#354)

- Add theme-aware navbar logo (light/dark variants)
- Add favicon set (svg/ico), apple-touch-icon, PWA icons + web manifest,
  wired via VitePress head with base-path prefixing
- Bump docs.yml Node 22 -> 25.x to match main.yml and docs README

Signed-off-by: Bill Pliske <Bill.Pliske@acronis.com>
@billpliske
billpliske force-pushed the feature/354-fix-docs-deployment branch from 5a12c99 to 64a460b Compare June 8, 2026 20:05
@billpliske

Copy link
Copy Markdown
Author

PR notes for reviewer

This PR addresses #354 (docs logo + favicons + CI Node version). A few notes on the automated checks:

On the "output path mismatch" (CodeRabbit warning + issue item #1): Left intentionally unchanged — the current path is already correct. package.json runs vitepress build src, so VitePress emits to src/.vitepress/dist (its default outDir relative to the src root), which is exactly what docs.yml line 52 uploads. Verified locally:
VITE_BASE=/FrontX/ npm run docs:build

→ packages/docs/src/.vitepress/dist/index.html produced

→ packages/docs/dist is never created

Switching the upload to packages/docs/dist (as the bot suggests) would upload a nonexistent directory and break the deploy. The issue's "output path" item appears to predate the current config. Happy to change it if you know of context I'm missing.

On cli-pr-e2e and Main CI / validate failures: These are unrelated to this change — the diff only touches packages/docs/** and .github/workflows/docs.yml (nothing under packages/cli or app/test code). They appear to be pre-existing on develop. Let me know if you'd like me to look anyway.

On the manifest theme_color/background_color nitpick: [pick one] Left as #ffffff for now — fine as a default. / Updated theme_color to the brand blue #3b82f6.

DCO: Fixed — commit now signed off.

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.

2 participants