Skip to content

feat: adopt the purged-by-default styles pipeline (hinode v3.6.0)#614

Merged
markdumay merged 2 commits into
mainfrom
styles/s4-adopt-pipeline
Jul 18, 2026
Merged

feat: adopt the purged-by-default styles pipeline (hinode v3.6.0)#614
markdumay merged 2 commits into
mainfrom
styles/s4-adopt-pipeline

Conversation

@markdumay

Copy link
Copy Markdown
Collaborator

What

Adopts the modernized styles pipeline that shipped in hinode v3.6.0 (program slices S1-S3):

  • Bump hinode/v3 v3.0.0 → v3.6.0 (hugo mod get; transitive module drag from v3.6.0's
    requirements is included and vendored).
  • Replace config/postcss.config.js with the current hinode baseline: plugin order
    purgecss → autoprefixer → cssnano (purge first), cssnano default preset (drop the
    advanced preset + the cssnano-preset-advanced dependency), and reason-commented safelist.
  • Pin Bootstrap 5.3.8's browserslist in package.json so autoprefixer targets the browsers
    Bootstrap supports.
  • Drop the now-redundant explicit style.purge = true — v3.6.0 defaults it on.
  • Stop committing hugo_stats.json and gitignore it (build.buildStats regenerates it).

Evidence (fresh-site build, hugo --gc --minify)

  • Green, 0 ERROR, 0 panic, no purge/postcss warnings.
  • Purged CSS served: main.css 198 KB, autoprefixer prefixes present (67 -webkit-).
  • Deterministic: run-vs-run byte-identical.
  • Vendored hinode confirmed at v3.6.0 (+vendor, S2 guard present, default purge = true).

Part of the styles-pipeline modernization program (slice S4). Held for review.

Bump hinode v3.0.0 -> v3.6.0 (S1-S3 styles pipeline) and align the starter:
- Replace config/postcss.config.js with the current hinode baseline (purge-first
  order purgecss -> autoprefixer -> cssnano default; drop cssnano-preset-advanced).
- Pin Bootstrap 5.3.8's browserslist in package.json for autoprefixer.
- Drop the now-redundant explicit style.purge = true (v3.6.0 defaults it on).
- Stop committing hugo_stats.json and gitignore it (build.buildStats regenerates it).

Fresh-site build: green, purged CSS served (main.css 198 KB, autoprefixer
prefixes present), no purge/postcss warnings, run-vs-run deterministic.
@netlify

netlify Bot commented Jul 17, 2026

Copy link
Copy Markdown

Deploy Preview for gethinode-template ready!

Name Link
🔨 Latest commit cfc5f72
🔍 Latest deploy log https://app.netlify.com/projects/gethinode-template/deploys/6a5b0efb941bcf00077f30e2
😎 Deploy Preview https://deploy-preview-614--gethinode-template.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

… < 0.164)

The starter deploys with Hugo 0.158/0.161, where mod-flexsearch v5.1.0's
templates.Defer search index collides with the theme's resources.PostProcess and
leaks a raw __hdeferred token into the navbar search box. mod-flexsearch v5.1.1
version-gates that (eager publish on Hugo < 0.164); hinode v3.6.1 adds the
sidebar cycle guard. _vendor is gitignored, so the deploy vendors these from
go.mod at build time.

Fresh-site build on Hugo 0.161: 0 __hdeferred leaks, search index published,
purged CSS served (main.css 198 KB), green.
@markdumay

Copy link
Copy Markdown
Collaborator Author

Added a dependency bump (cfc5f72) to fix the __hdeferred/…__d= token that was leaking into the navbar search box on the deploy preview:

_vendor is gitignored here, so the deploy vendors these from go.mod at build time (prebuildmod:vendor). Local fresh-site build on Hugo 0.161: 0 __hdeferred leaks, search index published, purged CSS served (main.css 198 KB), green. The re-triggered deploy preview should now render the search box normally.

@markdumay
markdumay merged commit 43fc97c into main Jul 18, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant