你好,世界

欢迎来到这个博客。如果你是从主页副屏的卡片点进来的,应该已经见过那张带着头像的个人卡片、底部的四个链接,以及背景里若隐若现的网格——这个站点从一开始就不只是「展示信息」,而是想让人愿意多停留一会儿。

很多人做个人主页,目标是把链接堆在一起、头像放中间,然后就算完工了。我也走过这条路,但很快发现:静态名片的问题不是「不够好看」,而是「没有理由让人回来」。博客是解决这个问题的一种方式——它给站点一个持续更新的理由,也给访客一个愿意多翻几页的理由。

为什么开始写

写博客的动机其实很功利:我踩过的坑,过三个月自己就忘了;当时觉得「这还用记?」的细节,半年后又要重新搜一遍。把过程写下来,本质上是在给未来的自己省时间。

另一个动机是「思考的整理」。很多问题在脑子里是模糊的,一旦要写成能给别人看的文字,漏洞就会冒出来。写不出来,通常意味着还没想明白——这比写出一篇完美文章更有价值。

这个站点怎么组织内容

主页仍然保持原来的双屏结构:intro 首屏负责第一印象和入场动画,main 副屏是个人卡片和链接入口。博客、关于、联系则作为独立子页面挂在外面,共用一套样式表和构建流水线。

这样做的好处是边界清晰——主页不需要路由,子页面不需要复刻首页的复杂交互。每次改博客版式,不用担心把首屏的 WebGL 流体背景搞坏;每次调整首页动画,也不影响文章页的阅读体验。

为什么用手写 Pug,而不是 Markdown

我决定把博客做成手写 Pug 模板,而不是接入 Markdown 引擎或 CMS。原因很朴素:

  • 构建链路一致: 和主页走同一套 Gulp 任务,不额外引入解析器、插件链和模板约定
  • 版式自由: 每篇文章可以按需插入不同的结构——引用块、代码段、提示框,不必被 Markdown 语法限制
  • 部署简单: 产物仍然是纯静态 HTML,丢到 GitHub Pages 就能跑,没有运行时、没有数据库
  • 体积可控: 整个站点刻意保持轻量,CSS + JS 不加框架包袱

代价也明显:每发一篇新文章,需要新建一个 .pug 文件,并在 blog.json 里登记元数据。对我来说,发文频率不高,这点成本完全可以接受。

会写些什么

这个博客不会追求日更,但会尽量让每篇都有「可以带走的东西」。大致会覆盖这几类:

  • 工程笔记: Gulp 流水线、目录约定、静态站点部署踩坑
  • 前端互动: Canvas 网格、页面切换状态机、性能取舍
  • 视觉实现: WebGL 背景、CSS 动画、暗色主题的层次处理
  • 后端实践: Spring Boot 项目结构、接口约定、日常开发习惯
  • 随笔: 偶尔记录想法,不一定和技术有关
写下来,是为了让未来的自己少踩一遍同样的坑。

给同样在维护个人站点的人

如果你也在做一个轻量的个人站点,有几条我自己的体会,或许有用:

  • 先让站点「能部署、能打开」,再考虑炫技。一个稳定可访问的朴素页面,好过本地华丽但线上跑不起来的 Demo
  • 把内容和样式分开——我用 JSON 存元数据,用 Pug 管结构,改标题不用碰模板
  • 别急着上框架。页面少、交互简单时,原生 HTML/CSS/JS 往往是最省心的答案
  • 留一点「还没做完」的空间。站点是慢慢长出来的,不必第一版就齐全

感谢你读到这里。后续文章会陆续补上,希望这些文字对你有一点点参考价值——哪怕只是触发你自己想写点什么的念头,也算值了。