Skip to content

Bump nokogiri from 1.19.0 to 1.19.1 in the bundler group across 1 directory#7

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/bundler/bundler-6efc7144a8
Open

Bump nokogiri from 1.19.0 to 1.19.1 in the bundler group across 1 directory#7
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/bundler/bundler-6efc7144a8

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Feb 22, 2026

Copy link
Copy Markdown
Contributor

Bumps the bundler group with 1 update in the / directory: nokogiri.

Updates nokogiri from 1.19.0 to 1.19.1

Release notes

Sourced from nokogiri's releases.

v1.19.1 / 2026-02-16

Security

cfdb0eafd9a554a88f12ebcc688d2b9005f9fce42b00b970e3dc199587b27f32  nokogiri-1.19.1-aarch64-linux-gnu.gem
1e2150ab43c3b373aba76cd1190af7b9e92103564063e48c474f7600923620b5  nokogiri-1.19.1-aarch64-linux-musl.gem
0a39ed59abe3bf279fab9dd4c6db6fe8af01af0608f6e1f08b8ffa4e5d407fa3  nokogiri-1.19.1-arm-linux-gnu.gem
3a18e559ee499b064aac6562d98daab3d39ba6cbb4074a1542781b2f556db47d  nokogiri-1.19.1-arm-linux-musl.gem
dfe2d337e6700eac47290407c289d56bcf85805d128c1b5a6434ddb79731cb9e  nokogiri-1.19.1-arm64-darwin.gem
1e0bda88b1c6409f0edb9e0c25f1bf9ff4fa94c3958f492a10fcf50dda594365  nokogiri-1.19.1-java.gem
110d92ae57694ae7866670d298a5d04cd150fae5a6a7849957d66f171e6aec9b  nokogiri-1.19.1-x64-mingw-ucrt.gem
7093896778cc03efb74b85f915a775862730e887f2e58d6921e3fa3d981e68bf  nokogiri-1.19.1-x86_64-darwin.gem
1a4902842a186b4f901078e692d12257678e6133858d0566152fe29cdb98456a  nokogiri-1.19.1-x86_64-linux-gnu.gem
4267f38ad4fc7e52a2e7ee28ed494e8f9d8eb4f4b3320901d55981c7b995fc23  nokogiri-1.19.1-x86_64-linux-musl.gem
598b327f36df0b172abd57b68b18979a6e14219353bca87180c31a51a00d5ad3  nokogiri-1.19.1.gem
Changelog

Sourced from nokogiri's changelog.

v1.19.1 / 2026-02-16

Security

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps the bundler group with 1 update in the / directory: [nokogiri](https://github.com/sparklemotion/nokogiri).


Updates `nokogiri` from 1.19.0 to 1.19.1
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](sparklemotion/nokogiri@v1.19.0...v1.19.1)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-version: 1.19.1
  dependency-type: indirect
  dependency-group: bundler
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code labels Feb 22, 2026
garywei944 pushed a commit that referenced this pull request Jun 6, 2026
…#3634)

## Summary

Fixes the broken navigation bar on the live demo
(https://alshedivat.github.io/al-folio/) introduced by the v1.0 upgrade
(#2968), plus two related production/deploy-only issues found while
auditing for the same class of bug.

## Root cause of the navbar break

The v1.0 upgrade made the site **Tailwind-first**. The deploy builds
with `JEKYLL_ENV=production`, which activates **jekyll-minifier**. Its
CSS compressor (`cssminify2`) mangles Tailwind v4 spacing tokens
**inside `calc()`**:

```
calc(var(--spacing)*0)   ->   calc(var( -  - spacing)*0)   // invalid
```

`cssminify2` treats the `--` inside `calc(var(--…))` as minus operators
and inserts spaces, producing an invalid custom-property name. This
silently breaks **every** spacing/positioning utility — most visibly
`.fixed-top`, so the fixed navbar is no longer pinned (`top/left/right`
drop out) and renders incorrectly. On the live site this affects 33
`var(--spacing)` references in `tailwind.css`.

It only manifests in **production**: a local `bundle exec jekyll serve`
is development mode (minifier off), and the `visual-regression` workflow
also serves in dev mode — so neither caught it.

### Why this fix

`tailwind.css` is already minified by al_folio_core's Tailwind build,
and `main.css` is compiled by Sass with `style: compressed`.
Re-minifying them with `cssminify2` adds nothing (it actually makes
`tailwind.css` ~315 bytes **larger**) and only introduces this
corruption. So we disable redundant CSS minification, mirroring the
existing `compress_javascript: false` (terser handles JS).

Verified end-to-end:
- The gem source `tailwind.css` has 82 intact `var(--spacing)`;
`cssminify2` corrupts all 82.
- jekyll-minifier (`lib/jekyll-minifier.rb:1061`): `return
output_file(path, content) unless config.compress_css?` — with
`compress_css: false`, `.css` files are written verbatim.
- A real `JEKYLL_ENV=production` build now emits `tailwind.css` with 82
intact `var(--spacing)`, 0 corrupted, and
`.fixed-top{...;position:fixed}` intact.
- PurgeCSS (the next deploy stage) preserves `calc(var(--spacing)*0)`
unchanged.

## Changes

1. **`_config.yml` — `jekyll-minifier.compress_css: false`** (the navbar
fix).
2. **`test/integration_css_minify.sh` + `unit-tests.yml`** — a
regression test that builds in **production mode** (the mode that
exposes this bug class) and asserts no `var( - - )` corruption, intact
`var(--spacing)`, a valid `.fixed-top`, and a non-empty `main.css`.
Passes with the fix; fails without it (83 corruptions). Closes the CI
blind spot that let this ship.
3. **`_config.yml` — drop dead `jekyll-minifier` exclude**
`assets/js/search/*.js`. That is a v0 path; in v1 the search runtime
ships under `assets/al_search/js/...`, so the glob matched nothing.
4. **`purgecss.config.js` — safelist `medium-zoom-overlay` /
`medium-zoom-image--opened`.** These classes are injected at runtime, so
they never appear in the static HTML PurgeCSS scans; their `z-index:999`
overlay rule was being purged on the deployed site, letting the
scroll-progress bar / ToC bleed through a zoomed image. Verified: the
rule survives purge with the safelist and is dropped without it.

## Broader audit — plugin fixes (released + pinned here)

I audited for the same bug class (regressions invisible to dev-mode
builds / leftovers from the v1 jQuery removal). The confirmed
plugin-owned issues were each fixed in their own repo, merged after
green CI, released to RubyGems, and pinned in this PR's `Gemfile`:

- **al_folio_core 1.0.10**
([#18](al-org-dev/al-folio-core#18)) —
`main.css` cache-bust was permanently the empty-string MD5
(`bust_css_cache` globbed a non-existent `assets/_sass`) → stale CSS
after deploys; `bib.liquid` "N more authors" used `$(this)` → threw and
never expanded; `figure.liquid` `onerror` used `$()` → dead broken-image
fallback.
- **al_charts 1.0.1**
([#7](al-org-dev/al-charts#7)) —
`chartjs-setup.js` was jQuery → `chartjs` charts threw `$ is not
defined` and never rendered.
- **al_folio_distill 1.0.2**
([#2](al-org-dev/al-folio-distill#2)) —
`overrides.js` top-level `$(window).on("load")` → distill
footnote/citation theming never applied + console error.

Verified end-to-end with a production build after the pin bumps:
`main.css` now cache-busts to a real hash (`9278fad1…`, not
`d41d8cd9…`), zero jQuery `$(` in the built HTML, and the Tailwind
spacing utilities / `.fixed-top` navbar are intact.

Also noted (not fixed here): the `visual-regression` workflow only
renders in dev mode, so it can't catch production-only CSS regressions —
`test/integration_css_minify.sh` is the immediate guard; a production
screenshot leg would be a fuller backstop.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants