Skip to content

Fix mixed-content livereload leak and Jekyll asset exclusion in static export - #6

Merged
michielbdejong merged 1 commit into
mainfrom
claude/github-pages-action-wqjpiv
Jul 24, 2026
Merged

Fix mixed-content livereload leak and Jekyll asset exclusion in static export#6
michielbdejong merged 1 commit into
mainfrom
claude/github-pages-action-wqjpiv

Conversation

@michielbdejong

Copy link
Copy Markdown
Member

Summary

Follow-up to #1, fixing two issues found by testing the live deploy at hyperdraft.pondersource.com:

  • Mixed-content warning: the crawler booted the server without NODE_ENV=production, so OLSKExpress's dev-only livereload script got baked into every static page and tried to load an insecure http:// script once served over HTTPS.
  • 404s on _shared/... and open-write/__compiled/...: GitHub Pages treats underscore-prefixed folders (_shared, __compiled) as Jekyll-reserved and silently excludes them from serving unless a .nojekyll marker file exists at the artifact root. The generated HTML already referenced the correct absolute paths (verified locally) — the files just weren't being served.

Changes

  • static-export.js: set NODE_ENV: 'production' on the spawned server process
  • static-export.js: write an empty .nojekyll file into the export output alongside the copied os-app assets

Test plan

  • Rebuilt locally and re-ran npm run static-export
  • Confirmed .static/.nojekyll exists
  • Confirmed no livereload string appears in any crawled page
  • Re-deploy via the Pages workflow and confirm hyperdraft.pondersource.com/en/write/ loads without mixed-content warnings or 404s

https://claude.ai/code/session_01AcjKc8vk2fb84yYZsE8k5d


Generated by Claude Code

…c export

- set NODE_ENV=production when booting the server for crawling, so the
  dev-only livereload script (injected by OLSKExpress whenever
  NODE_ENV !== production) doesn't get baked into the static pages and
  trip mixed-content blocking once served over HTTPS
- write an empty .nojekyll to the export root; GitHub Pages otherwise
  treats underscore-prefixed folders (_shared, __compiled) as
  Jekyll-reserved and silently excludes them, 404ing every asset under
  them despite the generated HTML referencing the correct paths

Found by testing the live deploy from #1 at hyperdraft.pondersource.com.
@michielbdejong
michielbdejong merged commit e8b6df7 into main Jul 24, 2026
0 of 2 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.

2 participants