Skip to content

fix(css): hide globe only on external nav links (target=_blank); rest…#76

Merged
ekizito96 merged 1 commit into
mainfrom
feat/doc-site-update
May 18, 2026
Merged

fix(css): hide globe only on external nav links (target=_blank); rest…#76
ekizito96 merged 1 commit into
mainfrom
feat/doc-site-update

Conversation

@ekizito96
Copy link
Copy Markdown
Contributor

Pull Request

Description

Fixes two issues with the Nexus documentation site (nexus.developers.prescottdata.io):

  1. Build failuremkdocs build was aborting with custom_dir does not exist because the empty docs/overrides/ directory wasn't tracked by Git. Added .gitkeep to fix this.
  2. Globe icon on every nav item — MkDocs Material's instant-navigation JS compares all nav hrefs against site_url to determine if a link is external. The configured site_url pointed to the old GitHub Pages URL (prescott-data.github.io/nexus-framework) instead of the actual deployed domain, so every internal link was flagged as external and got a globe icon. Fixed by correcting site_url + a CSS rule that hides the globe on genuinely external links only (scoped to [target="_blank"] to avoid hiding legitimate frontmatter page icons).

Also modernises all three CI workflows to opt into Node.js 24 ahead of the GitHub Actions forced cutover on June 2, 2026.

Type of Change

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

Changes Made

File Summary
mkdocs.yml Changed site_url from prescott-data.github.io/nexus-frameworknexus.developers.prescottdata.io. Root cause of the globe icon regression.
docs/overrides/.gitkeep Sentinel file so Git tracks the empty overrides/ directory. Without it, CI checkout omits the folder and mkdocs build aborts.
docs/stylesheets/extra.css Added .md-nav__link[target="_blank"] .md-nav__icon { display: none } — hides the auto-injected globe icon only on external links, preserving all frontmatter page icons (icon: material/...) on internal links.
.github/workflows/docs.yml Added feat/doc-site-update to branch trigger; conditioned Pages deploy to main only; added FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true.
.github/workflows/docker-publish.yml Added FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true to existing env block.
.github/workflows/release.yml Added FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true env block.

How to Test

  1. Merge and trigger a deployment to nexus.developers.prescottdata.io
  2. Open any internal page (e.g. /concepts/broker/) — the sidebar should show the page's frontmatter icon (database lock) with no globe icon alongside it
  3. Expand the Home section in the sidebar — the Website, Community, and Blog external links should show no globe (hidden by CSS) while still having their custom ::before icons (globe, Discord, RSS)
  4. Check the Table of Contents panel on any page — no globe icons on any heading
  5. Confirm the CI Build job on this branch passes without the custom_dir does not exist error
  6. Confirm no Node.js 20 deprecation warnings in any workflow run

Migration / Breaking Changes

  • Database migration required
  • No migration required

Note: site_url is now set to the canonical deployed domain. If you ever move the site back to GitHub Pages at the old URL, revert this value.

Checklist

  • Commit messages use present tense, imperative mood, ≤72 chars
  • Documentation updated where applicable
  • No secrets or credentials committed
  • Code follows the Go styleguide — N/A, no Go changes in this PR

Copilot AI review requested due to automatic review settings May 18, 2026 12:26
@ekizito96 ekizito96 merged commit 92fc2ad into main May 18, 2026
14 checks passed
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

This PR updates the MkDocs Material navigation styling so external-link globe icons are hidden only for nav links that open in a new tab, while preserving internal page/frontmatter icons.

Changes:

  • Replaced broad sidebar SVG-hiding rules with a narrower selector scoped to external nav links using target="_blank".

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

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