手写代码

每个页面都是手写的HTML、CSS和原生JavaScript,没有框架,也没有打包工具。本站的每个工具都是一个独立的HTML文件,可以单独运行。

构建脚本

有一个小脚本build.js,负责把源文件变成上线的网站。它会:

  • 把简历从Markdown文件渲染成HTML
  • 为每个已翻译的页面生成中文版本
  • 生成网站地图
  • 检查每一个内部链接,链接失效就让构建失败

这背后没有用静态网站生成器。本站大约有30个页面,改动不频繁,在文件之间复制一点标记,比换一套新工具更省事。

中文页面

每个中文页面都是在构建时生成的。构建脚本会把页面里的英文文本和一个翻译文件做匹配,然后换成中文。这些翻译是借助机器完成的,还没有请母语是中文的人检查过。

测试与代码检查

测试用Jest运行,代码检查和格式化用ESLint、Prettier、Stylelint和HTMLHint。Git钩子会在提交前运行检查工具,在推送前运行测试,只有构建、测试和检查全部通过,网站才会部署到GitHub Pages。

设计

主题切换器可以在浅色、深色和跟随系统之间切换。全站支持键盘快捷键——按?可以查看快捷键列表。文字用的是你系统自带的字体,不是额外下载的字体。

源代码

在GitHub上查看源代码