Skip to content

Bootstrap 3 → 5 upgrade; remove jumbotron parallax#48

Merged
jmxpearson merged 8 commits into
masterfrom
claude/bootstrap-5-upgrade
May 12, 2026
Merged

Bootstrap 3 → 5 upgrade; remove jumbotron parallax#48
jmxpearson merged 8 commits into
masterfrom
claude/bootstrap-5-upgrade

Conversation

@jmxpearson
Copy link
Copy Markdown
Member

Summary

Migrates the site from Bootstrap 3.3.5 to Bootstrap 5.3.3 and removes the
jQuery-based parallax scroll on the jumbotron header. jQuery is no longer
loaded; the BS5 bundle includes Popper for tooltips/popovers.

Six small commits, one concern each, in this order:

  1. 0a43d97 — drop jQuery + jumbo_scroll.js; load BS5 bundle JS
  2. e98879c — swap to BS5 CDN in head.html; delete the
    bootstrap-social.css plugin
  3. 679354d — rewrite navbar.html for BS5 markup
    (navbar-expand-md, navbar-dark bg-dark, data-bs-* attrs,
    nav-item/nav-link structure)
  4. e06071fperson.html: img-circlerounded-circle; unify
    the seven social links (site, github, email, linkedin, scholar,
    bluesky, orcid) under one .social-icon base class
  5. ae018d5css/custom.css: add the .social-icon utility that
    replaces the bootstrap-social plugin; add body { padding-top: 56px }
    so the .fixed-top navbar no longer overlays the jumbotron
  6. df0c85bimg-responsiveimg-fluid across the blog image
    include, research page/data file, and two legacy posts

Test plan

  • bundle exec jekyll build succeeds
  • Playwright screenshots at 1400×900: home, people, research,
    publications, about, location all render correctly with the navbar,
    jumbotron, and content positioned cleanly
  • Parallax effect removed (jumbotron now scrolls with the page)
  • Social icons on people page render at 34×34 with brand colors for
    both FA <i> glyphs and inline <svg> icons
  • Navbar collapses on narrow viewport via BS5 data-bs-toggle
  • Verify CI passes (pre-commit, site-health/lychee, HTML validator)
  • Spot-check mobile navbar toggle on the deployed preview

https://claude.ai/code/session_01S5QXfkxZBNSAf2Y1XAD8H7


Generated by Claude Code

claude added 6 commits May 12, 2026 20:54
Bootstrap 5 ships its own JS without jQuery and includes Popper in
the .bundle.min.js build. The parallax scroll on the jumbotron was a
jQuery-based effect we no longer want.

https://claude.ai/code/session_01S5QXfkxZBNSAf2Y1XAD8H7
Replaces the maxcdn BS3.3.5 stylesheet with the jsdelivr BS5.3.3 build.
The bootstrap-social.css plugin only existed for the .btn-social-icon
classes used on the people page; those move to a hand-rolled
.social-icon utility in custom.css.

https://claude.ai/code/session_01S5QXfkxZBNSAf2Y1XAD8H7
Bootstrap 5 flattens the navbar structure: no more .navbar-header
wrapper, .navbar-toggle becomes .navbar-toggler, data-toggle becomes
data-bs-toggle, nav items get explicit .nav-item / .nav-link classes,
and the inverse styling moves from .navbar-inverse to the
.navbar-dark .bg-dark combo.

https://claude.ai/code/session_01S5QXfkxZBNSAf2Y1XAD8H7
img-circle becomes rounded-circle in Bootstrap 5. The old social
button classes (btn-social-icon, btn-microsoft, btn-google, etc.)
came from the bootstrap-social plugin and the SVG-only icons used
a separate .person-svg-icon class. All seven (site, github, email,
linkedin, scholar, bluesky, orcid) now share one .social-icon base
with a brand-color modifier, regardless of whether the glyph is a
FontAwesome <i> or an inline SVG.

https://claude.ai/code/session_01S5QXfkxZBNSAf2Y1XAD8H7
Three related changes for the BS5 migration:

- New .social-icon / .social-icon-* utility class replaces the
  bootstrap-social plugin and the people-page-only .person-svg-icon
  rules. One class works for both FontAwesome <i> and inline <svg>
  children.
- body padding-top: 56px so the .navbar.fixed-top no longer
  overlays the jumbotron header.
- Rename .navbar-inverse selector to .navbar (BS5 dropped the
  -inverse variant).

https://claude.ai/code/session_01S5QXfkxZBNSAf2Y1XAD8H7
Bootstrap 5 renamed the responsive-image utility from .img-responsive
to .img-fluid. Mechanical rename across all remaining call sites:
the blog image include, the research page, the research data file,
and two legacy posts.

https://claude.ai/code/session_01S5QXfkxZBNSAf2Y1XAD8H7
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 12, 2026

Summary

Status Count
🔍 Total 794
✅ Successful 152
⏳ Timeouts 1
🔀 Redirected 44
👻 Excluded 597
❓ Unknown 0
🚫 Errors 0
⛔ Unsupported 0

Errors per input

Errors in _site/learning.html

Full Github Actions output

claude added 2 commits May 12, 2026 21:02
The .bg div was position: fixed to support the (now-removed) parallax
effect. Without parallax, a fixed-position background bleeds through
behind page content as the user scrolls, since the body has no opaque
background of its own. Move the chapel image directly onto the
.jumbotron element and drop the .bg div; the header and its background
now scroll away together as expected.

https://claude.ai/code/session_01S5QXfkxZBNSAf2Y1XAD8H7
The jumbotron ended flush against the first content block. Add a
2rem bottom margin to give the header room to breathe before the
page body begins.

https://claude.ai/code/session_01S5QXfkxZBNSAf2Y1XAD8H7
@jmxpearson jmxpearson merged commit 2ce401b into master May 12, 2026
1 of 2 checks passed
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