Static GitHub Pages site for www.davidbreyer.com.
This used to be a Jekyll blog. It is now a small landing page with no build step, no analytics, no comments, and no social-media embeds.
index.html- the landing page.404.html- the fallback page for old blog URLs and missing pages.programming/2016/06/20/...- preserved static article pages at old Jekyll-style URLs.assets/css/site.css- landing page styles.assets/css/error.css- 404 page styles.assets/css/article.css- preserved article styles.CNAME- keeps GitHub Pages pointed atwww.davidbreyer.com..nojekyll- tells GitHub Pages to serve the files directly.assets/images/logo.png- restored lizard mark used in the page chrome.assets/images/site-preview.png- Open Graph/social preview image.favicon*,apple-icon*,android-icon*,ms-icon*- restored icon set from the old site.manifest.jsonandbrowserconfig.xml- browser/platform metadata.
This site can be opened directly in a browser, but a local HTTP server is better because the page uses root-relative asset paths:
python -m http.server 8123Then open:
http://127.0.0.1:8123/
Pushes to master deploy through GitHub Pages.
There is no package manager, framework, bundler, or generated _site directory. Keep it that way unless the site grows beyond a single static page.
The footer includes a version stamp in this format:
yyyyMMdd-HHmm
Example:
20260531-0942
The stamp is updated by a pre-commit hook:
.githooks/pre-commitruns before each commit.scripts/update-version.ps1rewrites the marked footer version inindex.html.- The same script updates stylesheet cache-busting query strings such as
/assets/css/site.css?v=20260531-0942. - The hook stages the affected HTML files again so the updated stamp is included in the commit.
Enable the tracked hooks in a fresh checkout with:
git config core.hooksPath .githooks- Keep copy short and plain.
- Keep the lizard mark.
- Do not reintroduce the old blog, comments, analytics, or social links.
- Add project links only when there is something real to point at.
- Keep CSS in static files so the site can use
style-src 'self'in a Content Security Policy.