Skip to content

Feat/doc site update#77

Merged
ekizito96 merged 2 commits into
mainfrom
feat/doc-site-update
May 18, 2026
Merged

Feat/doc site update#77
ekizito96 merged 2 commits into
mainfrom
feat/doc-site-update

Conversation

@ekizito96
Copy link
Copy Markdown
Contributor

Pull Request

Description

Fixes the globe/world icon appearing on every sidebar nav item when the documentation site is deployed to nexus.developers.prescottdata.io.

Root cause: The ::before CSS selectors for the three Home external link icons (Website, Community, Blog) used substring href*= matching. In production, every internal nav link's href gets resolved by the browser to an absolute URL containing nexus.developers.prescottdata.io — so href*="developers.prescottdata.io" matched all of them, stamping the globe ::before icon on every single nav item. This was the identical bug fixed in JarvisCore at commit 165562b.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Refactor

Changes Made

File Summary
docs/stylesheets/extra.css Changed all three ::before icon selectors from broad href*= substring matching to exact href= matching scoped to .md-sidebar--primary. Also added [target="_blank"] > svg { display: none } to suppress Material's injected globe SVG on external links.

Before (broken in production):

.md-nav__link[href*="developers.prescottdata.io"]:not([href*="blog"])::before,
.md-nav__link[href*="discord.gg"]::before,
.md-nav__link[href*="blog"]::before { ... }

After (exact match, scoped to primary sidebar):

.md-sidebar--primary .md-nav__link[href="https://developers.prescottdata.io"]::before,
.md-sidebar--primary .md-nav__link[href="https://discord.gg/AbskSXypq"]::before,
.md-sidebar--primary .md-nav__link[href="https://developers.prescottdata.io/blog"]::before { ... }

How to Test

  1. Merge and deploy to nexus.developers.prescottdata.io
  2. Open any doc page — sidebar nav items (Architecture, The Broker, Auth Strategies, etc.) should have only their frontmatter page icon, no globe
  3. Expand the Home section — Website, Community, and Blog links should show their correct custom icons (globe, Discord, RSS) from the ::before pseudo-element, not on any other item
  4. Verify locally at localhost:8001 — no visible change expected since the bug only manifests when the resolved href domain matches the pattern

Migration / Breaking Changes

  • Database migration required
  • No migration required

Checklist

  • Commit messages use present tense, imperative mood, ≤72 chars
  • No secrets or credentials committed
  • Code follows the Go styleguide — N/A, CSS only
  • Documentation updated where applicable — N/A, this is the docs site itself

Copilot AI review requested due to automatic review settings May 18, 2026 13:04
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Fixes a production-only bug where Material for MkDocs' globe icon (and a custom ::before icon) appeared on every sidebar item once the docs were served from nexus.developers.prescottdata.io. The broad href*= substring selectors matched browser-resolved absolute URLs of internal nav links, so the Home section's external-link icons were stamped on unrelated sidebar entries.

Changes:

  • Replace href*= substring matching with exact href= matches for the Website, Community, and Blog ::before icons, scoped to .md-sidebar--primary.
  • Update the Material globe-hiding rule to target the bare > svg direct child of .md-nav__link[target="_blank"] (instead of .md-nav__icon) so frontmatter page icons inside span.md-nav__icon are preserved.
  • Refresh the explanatory block comment to describe the new DOM-structure-based approach.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 756 to +772
/* Website — globe/web icon */
.md-nav__link[href*="developers.prescottdata.io"]:not([href*="blog"])::before {
/* Website — globe/web icon */
.md-sidebar--primary .md-nav__link[href="https://developers.prescottdata.io"]::before {
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.36 14C16.44 13.34 16.5 12.68 16.5 12S16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12S19.9 13.36 19.74 14M14.59 19.56C15.19 18.45 15.65 17.25 15.97 16H18.92C17.96 17.65 16.43 18.93 14.59 19.56M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.91C13.5 17.43 12.83 18.76 12 19.96M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M12 2C6.47 2 2 6.5 2 12A10 10 0 0 0 12 22A10 10 0 0 0 22 12A10 10 0 0 0 12 2Z'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.36 14C16.44 13.34 16.5 12.68 16.5 12S16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12S19.9 13.36 19.74 14M14.59 19.56C15.19 18.45 15.65 17.25 15.97 16H18.92C17.96 17.65 16.43 18.93 14.59 19.56M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.91C13.5 17.43 12.83 18.76 12 19.96M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M12 2C6.47 2 2 6.5 2 12A10 10 0 0 0 12 22A10 10 0 0 0 22 12A10 10 0 0 0 12 2Z'/%3E%3C/svg%3E");
}

/* Community — Discord bubble */
.md-nav__link[href*="discord.gg"]::before {
/* Community — Discord bubble */
.md-sidebar--primary .md-nav__link[href="https://discord.gg/AbskSXypq"]::before {
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.492c-1.53-.69-3.17-1.2-4.885-1.49a.075.075 0 0 0-.079.036c-.21.369-.444.85-.608 1.23a18.566 18.566 0 0 0-5.487 0 12.36 12.36 0 0 0-.617-1.23A.077.077 0 0 0 8.562 3c-1.714.29-3.354.8-4.885 1.491a.07.07 0 0 0-.032.027C.533 9.093-.32 13.555.099 17.961a.08.08 0 0 0 .031.055 20.03 20.03 0 0 0 5.993 2.98.078.078 0 0 0 .084-.026c.462-.62.874-1.275 1.226-1.963.021-.04.001-.088-.041-.104a13.201 13.201 0 0 1-1.872-.878.075.075 0 0 1-.008-.125c.126-.093.252-.19.372-.287a.075.075 0 0 1 .078-.01c3.927 1.764 8.18 1.764 12.061 0a.075.075 0 0 1 .079.009c.12.098.245.195.372.288a.075.075 0 0 1-.006.125c-.598.344-1.22.635-1.873.877a.075.075 0 0 0-.041.105c.36.687.772 1.341 1.225 1.962a.077.077 0 0 0 .084.028 19.963 19.963 0 0 0 6.002-2.981.076.076 0 0 0 .032-.054c.5-5.094-.838-9.52-3.549-13.442a.06.06 0 0 0-.031-.028zM8.02 15.278c-1.182 0-2.157-1.069-2.157-2.38 0-1.312.956-2.38 2.157-2.38 1.21 0 2.176 1.077 2.157 2.38 0 1.312-.956 2.38-2.157 2.38zm7.975 0c-1.183 0-2.157-1.069-2.157-2.38 0-1.312.955-2.38 2.157-2.38 1.21 0 2.176 1.077 2.157 2.38 0 1.312-.946 2.38-2.157 2.38z'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.492c-1.53-.69-3.17-1.2-4.885-1.49a.075.075 0 0 0-.079.036c-.21.369-.444.85-.608 1.23a18.566 18.566 0 0 0-5.487 0 12.36 12.36 0 0 0-.617-1.23A.077.077 0 0 0 8.562 3c-1.714.29-3.354.8-4.885 1.491a.07.07 0 0 0-.032.027C.533 9.093-.32 13.555.099 17.961a.08.08 0 0 0 .031.055 20.03 20.03 0 0 0 5.993 2.98.078.078 0 0 0 .084-.026c.462-.62.874-1.275 1.226-1.963.021-.04.001-.088-.041-.104a13.201 13.201 0 0 1-1.872-.878.075.075 0 0 1-.008-.125c.126-.093.252-.19.372-.287a.075.075 0 0 1 .078-.01c3.927 1.764 8.18 1.764 12.061 0a.075.075 0 0 1 .079.009c.12.098.245.195.372.288a.075.075 0 0 1-.006.125c-.598.344-1.22.635-1.873.877a.075.075 0 0 0-.041.105c.36.687.772 1.341 1.225 1.962a.077.077 0 0 0 .084.028 19.963 19.963 0 0 0 6.002-2.981.076.076 0 0 0 .032-.054c.5-5.094-.838-9.52-3.549-13.442a.06.06 0 0 0-.031-.028zM8.02 15.278c-1.182 0-2.157-1.069-2.157-2.38 0-1.312.956-2.38 2.157-2.38 1.21 0 2.176 1.077 2.157 2.38 0 1.312-.956 2.38-2.157 2.38zm7.975 0c-1.183 0-2.157-1.069-2.157-2.38 0-1.312.955-2.38 2.157-2.38 1.21 0 2.176 1.077 2.157 2.38 0 1.312-.946 2.38-2.157 2.38z'/%3E%3C/svg%3E");
}

/* Blog — RSS feed */
.md-nav__link[href*="blog"]::before {
/* Blog — RSS feed */
.md-sidebar--primary .md-nav__link[href="https://developers.prescottdata.io/blog"]::before {
@ekizito96 ekizito96 merged commit b33d7be into main May 18, 2026
15 checks passed
@ekizito96 ekizito96 deleted the feat/doc-site-update branch May 18, 2026 13:10
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