本站说明
这个站是怎么搭的。
做出来是为了好读,也为了能核对。没有构建魔法,不向外发一个请求,整套源码都摆在外面。
构建
一个用 Jekyll 生成、托管在 GitHub Pages 上的静态站点——
没有 JavaScript 框架,不做客户端渲染,除了 Jekyll 本身再没有别的构建步骤。组成很精简:github-pages gem,外加
jekyll-feed、jekyll-seo-tag 和
jekyll-sitemap;一份手写、基于一套设计变量(design tokens)的样式表;以及分散在 7 个职责集中的文件里、合计约 570 行的原生 JavaScript。这些
JavaScript 全是渐进增强——把它关掉,每个页面照样能用。
字体
标题字用 EB Garamond,中文回退到 Noto Serif SC 或系统衬线体;正文用系统无衬线体;小号技术标签用 IBM Plex Mono。
拉丁字体都自托管在本站——不走字体 CDN,不向 Google Fonts 发请求。中文字形由你自己的系统提供。
如何核对
「这里不追踪你」不是一句空话,而是被强制执行的。一条严格的 Content-Security-Policy 把 script-src
钉死在本站(外加两段内联的主题与动效脚本,按哈希放行),并设了
connect-src 'self'——页面无法向别处发起请求:没有站点分析(analytics)、没有 CDN、没有远程调用。
每一处改动都由构建后校验器(scripts/validate_site.rb)把关,
CI 在每个 pull request 和推送到 main 时都会跑它:核对元数据、双语
hreflang、安全策略和静态资源完整性。源码公开:可读、可 clone、可开 issue。
隐私
没有站点分析(analytics),没有 cookie,没有第三方资源——没有追踪。主题选择以 frankxue.theme 保存在浏览器本地;本站不会传输它,清除站点数据即可移除。也没有联系表单、不收集邮箱;找我的方式是在 GitHub 上开公开的 issue 或
discussion,让对话留在代码旁边。
- 生成器仅 Jekyll
- 托管GitHub Pages
- 字体EB Garamond 与 IBM Plex Mono
- JavaScript7 个文件、约 570 行,渐进增强
- 站点分析无
- 源码在 GitHub 上查看