Skip to content

Follow-up: land website review fixes#2

Draft
alrobles wants to merge 1 commit into
masterfrom
refresh-2026-modernize-site
Draft

Follow-up: land website review fixes#2
alrobles wants to merge 1 commit into
masterfrom
refresh-2026-modernize-site

Conversation

@alrobles

Copy link
Copy Markdown
Owner

Summary

Follow-up to PR #1 with review fixes that landed on the branch after the original PR was merged.

Fixes

  • Add missing img/favicon.ico so favicon references no longer 404.
  • Improve WCAG AA contrast for R and C++ language badges.
  • Fix first-paint theme icon/state flicker by always setting data-theme from saved preference or system preference.
  • Add/update aria-pressed on theme toggles.
  • Clean JSON-LD email formatting.
  • Add missing twitter:card on the projects page.
  • Soften AI wording and normalize nav labels.
  • Remove dead backdrop filter, add scroll padding, move inline lead style to CSS, and keep static footer year.

Checks reported by implementation agent

  • HTML sanity: 0 errors, 0 unclosed, one <h1> per page.
  • Asset smoke test: all paths, including /img/favicon.ico, return 200.
  • No external CDN references in updated pages.
  • Favicon validates as ICO.
  • Badge contrast now passes AA: .lang.cpp 6.52, .lang.r 4.82 in light mode; 6.86 and 7.29 in dark mode.

Blocking fixes
- Add img/favicon.ico (16x16, 32bpp, accent-green "A" mark) so the
  /img/favicon.ico link tags resolve.
- Darken language badges for WCAG AA at 0.72rem:
  .lang.cpp #9b59b6 -> #7d3c98 (6.52:1 on light surface)
  .lang.r   #3498db -> #1e6fb8 (4.82:1 on light surface)
  Add dark-mode overrides for both (#c39bdf, #74b6ec).
- Always set data-theme on <html> in the inline boot script,
  computing from matchMedia when no saved value exists. Removes the
  first-paint icon flicker and lets the icon CSS collapse to two
  rules. Manual toggle behavior unchanged.

Medium fixes
- aria-pressed on the theme toggle, kept in sync with data-theme on
  init and on click.
- Unify nav across pages: single "Projects" link to /projects/, "CV",
  theme toggle. Drops the confusing Projects/All projects split.
- JSON-LD email: strip the mailto: prefix.
- Add twitter:card meta to projects/index.html (homepage already had
  it; 404 stays noindex).
- Static hardcoded year only; remove the JS overwrite + span#year on
  all three pages (no-JS users now see the same value as JS users).
- Drop backdrop-filter on .site-header — solid bg avoids the cost
  and the partial-support gotchas.
- Move the inline style on the projects-page lead paragraph into a
  .lead-muted class in the stylesheet.

Other nits from the review
- scroll-padding-top so in-page anchors clear the sticky header.
- Dark-mode contrast: .social a:hover and .skip use var(--bg) for
  text instead of #fff on bright-green accent.
- .lead text-align: left on mobile so the body copy doesn't go
  centered after the hero stacks.
- Slightly bump dark-mode --border for the avatar/card edge.
- Refine maxentcpp / softening copy to match upstream README
  (Rcpp-backed C++17 reimplementation; AI-assisted *development*,
  not workflows).

Docs links verified: maxentcpp and sobol both publish genuine
pkgdown reference sites, so "Docs" / "Documentation" labels stand.
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.

1 participant