Personal static site for givan.se (Netlify project givanse). Markdown posts, about, Disqus, and share buttons. Svelte 5, SvelteKit, Vite, @sveltejs/adapter-static.
Production branch is svelte (SvelteKit migration). Requires Node.js 18.13 or newer.
npm install
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --opennpm run buildThe static output is written to build/ (the Netlify publish directory). Preview it with npm run preview.
All sites on this Netlify account share 300 credits/month. A production deploy costs ~15 credits. Do not auto-ship every push to svelte. Do not burn a production deploy just to land netlify.toml or the ignore script.
Site settings and publishes are CLI only (netlify / netlify api). skip_prs is already true. allowed_branches is already ["svelte"] (broccoli-taco removed) via netlify api updateSite. stop_builds stays false.
How to ship https://givan.se
Intentional production publish is netlify deploy --prod or a build hook POST.
# from a linked clone (site name givanse); builds then publishes production
netlify deploy --prod --site givanseBuild hook (always builds; Netlify does not honor ignore for hooks):
# once
netlify api createSiteBuildHook --data '{"site_id":"givanse","body":{"title":"manual svelte","branch":"svelte"}}'
# each ship
curl -sS -X POST -d '{}' "$HOOK_URL"Unless the merge is the intentional ship, squash-merge with [skip netlify] in the squash commit message so Netlify does not start a production build:
Explicit Netlify deploys only (skip PR previews, path ignore on prod) [skip netlify]
Closes #41
This ignore/README/toml PR is not an intentional ship — squash with [skip netlify], then ship later with netlify deploy --prod or a hook POST when the live site should change.
- No Deploy Preview on every PR:
[context.deploy-preview] ignore = "exit 0".skip_prsis already true via CLI. - Production path ignore (safety net):
bash ./scripts/netlify-ignore.shskips whensrc/,static/, and SvelteKit/Vite config did not change. It fails open (runs the build) ifCACHED_COMMIT_REF/COMMIT_REFare missing or git cannot tell. It honors[build].baseby diffing fromNETLIFY_REPO_PATH(or git toplevel) so a leftover Base directory cannot always-skip real site paths. stop_buildsstays false. That would also blocknetlify deploy --prodand build hooks.
Header or CSP edits in netlify.toml reach the CDN only on an intentional ship (netlify deploy --prod or hook POST).
repo_branch is svelte. allowed_branches used to list leftover broccoli-taco. It is already ["svelte"] via netlify api updateSite. If it regresses:
netlify api updateSite --data '{"site_id":"givanse","body":{"build_settings":{"repo_branch":"svelte","allowed_branches":["svelte"],"skip_prs":true,"stop_builds":false}}}'




