Repository navigation
Clear three of four Sass deprecation categories - #789
Merged
Merged
Conversation
Restoring the real sass-embedded (dart-sass) toolchain in item 3 surfaced deprecation warnings in four categories. This clears three of them: color-functions, global-builtin and slash-div. Only @import remains. - lighten()/darken() -> color.adjust() with explicit percentages - bare `/` division -> math.div() - global built-ins namespaced: round() -> math.round(), unquote() -> string.unquote() Remove the minima theme. It contributed no layouts (all six in _layouts/ are standalone with no parent layout), no includes, and no styles the site loads -- only an assets/main.css that nothing references. Removing it cleared roughly 40% of the warnings and dropped three dead artifacts from the built site. The gem goes too, which also removes its unused jekyll-seo-tag dependency; no {% seo %} tag exists anywhere in the site. Font Awesome and Magnific Popup under _sass/vendor/ are patched in place, each with a comment noting the patch must be re-applied if the library is updated. Every change was verified by rebuilding and byte-comparing the compiled assets/css/main.css against a baseline: byte-identical at every step, with no HTML page changed. The only output difference across the whole site is the removal of the three unused minima artifacts. Deliberately unchanged: three declarations in _sass/forms.scss of the form `margin-bottom: 5px / 2`. Sass never evaluated these -- two literals with no parentheses emit the slash verbatim, so the published CSS carries an invalid `margin-bottom:5px/2` that browsers discard. Converting them would newly apply a margin that has never been in effect, which is a styling decision rather than a deprecation fix. They emit no warning. The @import migration is deferred: it would touch ~25 files including 13 imports inside the frozen vendored libraries, and migrating only our own files would not clear the category. @import is functional until Dart Sass 3.0, which has no release date. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Member
Author
|
Copilot review: Merge Readiness and Risk Assessment Overall status: low risk and in good shape for merge |
This was referenced Sep 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses item 4 of the upgrade backlog.
Item 3 restored the real
sass-embedded(dart-sass) toolchain in place of thesassc(libsass) fallback, which surfaced deprecation warnings in fourcategories. This clears three.
color-functionsglobal-builtinslash-divimportChanges
lighten()/darken()→color.adjust()with explicit percentages/division →math.div()round()→math.round(),unquote()→string.unquote()minimatheme removed, config and gemVerification
Every step was verified by rebuilding and byte-comparing the compiled
assets/css/main.cssagainst a baseline captured before any change.main.cssis byte-identical at every stepartifacts:
assets/main.css,assets/main.css.map,assets/minima-social-icons.svgWhy minima was removed rather than patched
It contributed nothing the site uses: all six layouts in
_layouts/arestandalone with no parent layout, the site has its own
_includes, and the onlystylesheet it produced (
assets/main.css) is referenced nowhere. Removing itcleared roughly 40% of the warnings on its own. Dropping the gem also removed its
unused
jekyll-seo-tagdependency — there is no{% seo %}tag anywhere.A bug found and deliberately NOT fixed
_sass/forms.scsshas three declarations of the formmargin-bottom: 5px / 2.Sass never evaluated these: with two literals and no parentheses it emits the
slash verbatim, so the published CSS contains
margin-bottom:5px/2— invalid,and silently discarded by browsers.
Converting them to
math.div()would newly apply a 2.5px margin that has neverbeen in effect. That is a styling decision, not a deprecation fix, so they are
left as-is. They emit no warning. Flagged for a human call.
Why
@importis deferredIt would touch ~25 files:
assets/css/main.scss, twelve partials that rely onvariables.scss/mixins.scssbeing in global scope, and 13@importstatements inside the vendored Font Awesome and Magnific Popup. Migrating only
our own files would not clear the category, since the vendored imports would
still warn.
@importworks until Dart Sass 3.0, which has no release date, andmigrating a frozen Font Awesome 4.x is throwaway work. The natural trigger is
whenever those vendored libraries are replaced.
Vendored files patched here each carry a comment noting the patch must be
re-applied if the library is updated.
Separately noted
_includes/_head.htmlloadsassets/css/main_pretty.css— a committed,optimised artifact, not the
main.csscompiled from_sass/. The two havedrifted: 1120 selectors in the compiled CSS vs 1118 in the shipped one, with 5
present only in the SCSS (never regenerated, so not live) and 3 only in the
shipped file. Nothing in the repo regenerates it; the Gruntfile has no CSS task.
Recorded as its own backlog item.
🤖 Generated with Claude Code