Repository navigation
Add Dart Sass to the check-links tool requirements - #52
Merged
Merged
Conversation
The Spine Hugo theme is moving from LibSass to Dart Sass, because Hugo deprecated LibSass in v0.153.0 and will remove it. Hugo does not bundle Dart Sass: it runs the `sass` binary it finds on `PATH`, and a site on a theme that asks for Dart Sass fails to build without one. CI installs it since SpineEventEngine/config#824; the local skill did not mention it. - Tooling: add a Dart Sass row (`brew install sass/sass/sass`) and say why Hugo needs it; "four binaries" becomes "five". - Preflight: check `hugo env | grep -q 'github.com/sass/dart-sass'`. A miss is a warning, not a stop, because a site still on LibSass builds without `sass`. - Build: a `TOCSS-DART` "You need to install Dart Sass" failure becomes a Must-fix with the install hint, so the build decides which case applies. - Pinned versions: `DART_SASS_VERSION` in `check-links.yml` is the CI pin; the skill uses whichever `sass` is on `PATH`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Contributor
There was a problem hiding this comment.
🟢 Approved
No active review issues block approval of the Dart Sass guidance update.
No open issues 🎉
What changed in this PR
Updates the shared check-links skill for the Spine Hugo theme’s move to Dart Sass, aligning local guidance with the CI workflow while preserving support for LibSass-based sites.
Changes:
- Adds Dart Sass tooling requirements and clarifies CI pinning versus local version handling.
- Adds a non-blocking preflight check for Dart Sass availability.
- Provides installation guidance when a site build fails because Dart Sass is missing.
| File | Description |
|---|---|
skills/check-links/SKILL.md |
Documents Dart Sass tooling, preflight warnings, and missing-Sass build failure handling. |
Review effort: Balanced
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.
Part of SpineEventEngine/site-commons#38. Companion to SpineEventEngine/config#824.
Why
The Spine Hugo theme is moving from LibSass to Dart Sass, because Hugo deprecated LibSass in
v0.153.0 and will remove it. Hugo does not bundle Dart Sass. It runs the
sassbinary it findson
PATH, so once a site updates to that theme version, its build fails without one.SpineEventEngine/config#824 (merged) installs Dart Sass in the shared
check-links.ymlworkflow. The local
check-linksskill mirrors that workflow, but its tool list still named onlyHugo, Node, npm, and Lychee.
The change
All of it is in
skills/check-links/SKILL.md:brew install sass/sass/sass). "Four binaries" becomes"five". A short paragraph says why Hugo needs
sass, and that a site still on LibSassdoesn't.
hugo env | grep -q 'github.com/sass/dart-sass'.A miss is a warning, not a Must-fix. A site on a LibSass theme builds fine without
sass.Telling the two cases apart up front would mean finding the
"transpiler" "dartsass"optionin the theme or in a site's own override of the stylesheet partial. The build already does
that reliably.
TOCSS-DARTand "You need to install DartSass", stop with Must-fix: "Install Dart Sass (
brew install sass/sass/sass)."DART_SASS_VERSIONin.github/workflows/check-links.ymlis the CIpin. The value isn't copied here. The skill doesn't install Dart Sass or check its version,
and uses whichever
sassis on$PATH. A Sass version skew can change the CSS, but not thelinks in the HTML that Lychee checks.
Verification
Checked on macOS with Hugo 0.169.0 and Homebrew
sass1.99.0:hugo env | grep -q 'github.com/sass/dart-sass'exits 0 withsassonPATH, and 1without it.
css.Sasswith"transpiler" "dartsass"builds withsassonPATH. Without it, the build fails withTOCSS-DART: failed to transform … You need to install Dart Sass. That's the error text step 4 now matches.resources/_gencache hid the missingsassuntil I deleted it. A buildthat passed once can pass again without
sass. For link checking this is harmless, since theHTML is the same.
git diff --checkis clean. No added line is over 100characters. The
review-docsskill found no Must-fix items. It raised three Should-fixitems, all fixed before the commit: two sentences that started with a code token, and one
runt line.
🤖 Generated with Claude Code