From 8573b24497a2296d16ebb6170b012ea1a66c0e49 Mon Sep 17 00:00:00 2001 From: Rolfe Dlugy-Hegwer Date: Mon, 1 Jun 2026 11:05:54 -0400 Subject: [PATCH] Switch from sassc to sass-embedded (Dart Sass) for faster builds Bump jekyll-sass-converter to ~> 3.0, which replaced sassc (LibSass) with sass-embedded (Dart Sass) in v3.0.0. Dart Sass ships prebuilt platform binaries, so bundle install no longer compiles a native C++ extension (the main install/CI bottleneck). Jekyll is already 4.4.1, which permits jekyll-sass-converter < 4.0, so no Jekyll bump is needed. - Gemfile: jekyll-sass-converter ~> 2.0 -> ~> 3.0 - Gemfile.lock: drop sassc, add sass-embedded; add x86_64-linux platform (sass-embedded is platform-specific; CI runs on ubuntu-latest) - Rename _sass/includes/brand.css -> brand.scss: it uses Sass variables, which LibSass tolerated in imported .css but Dart Sass rejects as plain CSS - blog.scss: darken() -> color.adjust() (deprecated global color function) Fixes #2551 --- Gemfile | 2 +- Gemfile.lock | 23 ++++++++++++++++++----- _sass/includes/{brand.css => brand.scss} | 0 _sass/layouts/blog.scss | 4 +++- 4 files changed, 22 insertions(+), 7 deletions(-) rename _sass/includes/{brand.css => brand.scss} (100%) diff --git a/Gemfile b/Gemfile index dc68b841494..b57c709b071 100644 --- a/Gemfile +++ b/Gemfile @@ -11,7 +11,7 @@ source "https://rubygems.org" # This will help ensure the proper Jekyll version is running. # Happy Jekylling! gem "jekyll", "~> 4.4.1" -gem "jekyll-sass-converter", "~> 2.0" +gem "jekyll-sass-converter", "~> 3.0" # This is the default theme for new Jekyll sites. You may change this to anything you like. gem "minima", "~> 2.0" diff --git a/Gemfile.lock b/Gemfile.lock index 2c4a2196db5..b715a40a6d6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,6 +5,7 @@ GEM public_suffix (>= 2.0.2, < 8.0) asciidoctor (2.0.15) base64 (0.3.0) + bigdecimal (4.1.2) colorator (1.1.0) concurrent-ruby (1.3.6) csv (3.3.5) @@ -14,7 +15,14 @@ GEM http_parser.rb (~> 0) eventmachine (1.2.7) ffi (1.17.4) + ffi (1.17.4-x86_64-linux-gnu) forwardable-extended (2.6.0) + google-protobuf (4.35.0) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.0-x86_64-linux-gnu) + bigdecimal + rake (~> 13.3) http_parser.rb (0.8.1) i18n (1.14.8) concurrent-ruby (~> 1.0) @@ -49,8 +57,8 @@ GEM jekyll (>= 3.7, < 5.0) jekyll-paginate-v2 (3.0.0) jekyll (>= 3.0, < 5.0) - jekyll-sass-converter (2.2.0) - sassc (> 2.0.1, < 3.0) + jekyll-sass-converter (3.1.0) + sass-embedded (~> 1.75) jekyll-seo-tag (2.7.1) jekyll (>= 3.8, < 5.0) jekyll-watch (2.2.1) @@ -78,14 +86,18 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (7.0.5) + rake (13.4.2) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) rexml (3.4.4) rouge (4.7.0) safe_yaml (1.0.5) - sassc (2.4.0) - ffi (~> 1.9) + sass-embedded (1.100.0) + google-protobuf (~> 4.31) + rake (>= 13) + sass-embedded (1.100.0-x86_64-linux-gnu) + google-protobuf (~> 4.31) stringio (3.1.0) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) @@ -97,6 +109,7 @@ GEM PLATFORMS ruby + x86_64-linux DEPENDENCIES jekyll (~> 4.4.1) @@ -105,7 +118,7 @@ DEPENDENCIES jekyll-auto-authors jekyll-feed (~> 0.6) jekyll-paginate-v2 - jekyll-sass-converter (~> 2.0) + jekyll-sass-converter (~> 3.0) minima (~> 2.0) open-uri (~> 0.4.1) tzinfo-data diff --git a/_sass/includes/brand.css b/_sass/includes/brand.scss similarity index 100% rename from _sass/includes/brand.css rename to _sass/includes/brand.scss diff --git a/_sass/layouts/blog.scss b/_sass/layouts/blog.scss index 2966022bc2a..36a98593204 100644 --- a/_sass/layouts/blog.scss +++ b/_sass/layouts/blog.scss @@ -1,3 +1,5 @@ +@use "sass:color"; + body.post { div.post-page { h1, h2, h3, h4, h5, h6, p, small, strong, em, @@ -106,7 +108,7 @@ body.post { margin: 0 0 1rem 0; &:hover { - color: darken( #ee802f, 10%); + color: color.adjust(#ee802f, $lightness: -10%); } } .paginator-btns a:not(:last-of-type) {