Skip to Main Content

Changelog

A running log of changes to mattrugamas.com since the April 2026 redesign.

April 7, 2026 · fa87257

Added

  • GA4 custom event tracking across all pages via _includes/event-tracking.html, injected through the base layout. Tracks: navigation link clicks (with desktop vs. hamburger context), theme toggle direction, blog post clicks from the homepage listing, music page external link clicks with platform detection (Spotify / YouTube / SoundCloud / Instagram), social link clicks from the Elsewhere section, the About page music CTA, the résumé LinkedIn link, footer links, the résumé print button, and scroll depth at 25 / 50 / 75 / 100%. All gtag() calls are guarded with a typeof check, making the script a no-op in local development.
  • Save/Print button on the résumé page, placed inside the cv-header grid alongside the name. Triggers window.print() and fires a resume_print_click GA4 event. Styled to match the existing CTA button pattern from the About page. Hidden in print.
  • @media print stylesheet for the résumé. Hides site chrome, resets to black-on-white, sets print-appropriate font sizes and spacing, and appends full link URLs inline — suppressed on the contact link, which already displays as a URL.
  • This changelog page (/changelog), styled in the site theme with a dedicated SCSS partial (_sass/changelog.scss).

Changed

  • Résumé .cv-header restructured from a flexbox row into a two-column CSS grid. Name and Save/Print button share the top row; tagline and LinkedIn link sit below. Mobile stacks all items centered.
  • Footer year is now rendered dynamically via {{ 'now' | date: '%Y' }} instead of a hardcoded value.
  • All external links on the Music page and in the Elsewhere section on About now include target="_blank" rel="noopener noreferrer". Previously, clicking any of them navigated away from the site with no new-tab behavior.

Fixed

  • Hardcoded <link rel="canonical" href="https://mattrugamas.com"/> removed from base.html. Every page was incorrectly declaring the homepage as its canonical URL. The jekyll-seo-tag plugin already handles per-page canonicals correctly via the {% seo %} tag.
  • Print stylesheet was targeting header { display: none }, which hid all semantic <header> elements on the résumé — including the name/contact row and every job title header. Corrected to body > header to target only the site navigation wrapper.
  • Résumé .cv-role entries had break-inside: avoid set, which caused the Atlassian role (the longest entry) to push entirely to page two, leaving a blank gap on page one. Removed the rule from roles; added break-after: avoid on .cv-role-header instead, keeping each role's title attached to its content without blocking mid-role page breaks.

April 3, 2026 · 99181d7

Changed

  • Converted all SCSS placeholder selectors (%content-base, %link-setup, %nav-animate, etc.) to @mixin and added @use 'settings' as * imports to every SCSS partial, aligning with the Dart Sass module system.
  • Added --text-2xl, --text-3xl, and --content-gap to the design token set in _settings.scss.
  • Content area padding switched to clamp() for fluid responsive spacing instead of a fixed value.
  • Homepage blog listing redesigned: posts are now grouped by year, each row shows the date in a right-aligned aside alongside the post title and excerpt, and the full row gets a left-border highlight on hover at desktop widths. Markup in index.html restructured with group_by_exp to generate the year groups.
  • scrollbar-gutter: stable added to the root to prevent layout shift when the scrollbar appears on long pages.
  • Site description in _config.yml updated to reflect current role and location.

April 2, 2026 · 94e6ffa

Changed

  • Added --font-weight-normal, --font-weight-semi, and --font-weight-bold tokens; replaced all hardcoded font-weight values with token references.
  • Corrected --text-sm from 0.875rem to 0.8125rem.
  • Blog post typography overhauled: explicit h2/h3 styles with correct size, weight, and spacing; post date styled using --color-dates and body font; paragraph line-height set to 1.7; removed legacy breakpoint overrides that were fighting the new system.
  • Both blog posts converted from bold-text section headings (**Bold**) to proper Markdown H2s, which now render with the correct semantic hierarchy and visual treatment.

April 2, 2026 · c063f77

Added

  • Music page (music.html) with a full archive of projects, roles, and links to Spotify, YouTube, SoundCloud, and Instagram.
  • Résumé page (resume.html) as a proper web CV: semantic HTML with <article> per role, a <dl> for skills, and full employment history replacing placeholder content.
  • Music and Résumé added to site navigation in _data/navigation.yml.
  • Light/dark mode theme toggle with localStorage persistence. A flash-prevention script in <head> reads the stored preference before first paint. System prefers-color-scheme is used as the default when no stored value exists.
  • Hamburger navigation for mobile viewports, with animated icon, aria-expanded state tracking, and close-on-outside-click behavior.
  • Skip-to-main-content link for keyboard and assistive technology navigation.
  • Two blog posts: The Redesign (March 31) and Still on Jekyll, Probably Forever (April 2).
  • Music-specific SCSS partial (_sass/music.scss) and corresponding @use import in main.scss.

Changed

  • Full CSS rebuild. All stylesheets converted to mobile-first, all color values replaced with CSS custom properties, a spacing scale and type scale established. Dark mode is the default; light mode maps the same palette to warm-background equivalents via a data-theme attribute on the root element.
  • About page rebuilt with CSS Grid (heading → photo → text on mobile; two-column on desktop) in place of the previous column-reverse flexbox approach.
  • Font stack simplified: removed Rubik and Work Sans, retained Source Code Pro for monospace use only. Body and UI text now use the system font stack.
  • Google Fonts loading updated to use preconnect hints and the modern display=swap API.
  • Jekyll updated from 4.2.0 to 4.4.1. jekyll-sass-converter updated from 2.x to 3.x (Dart Sass via sass-embedded). Rouge updated from 3.x to 4.x. Various other dependency bumps in Gemfile.lock.