最近又折腾了一轮博客。
一开始只是觉得 Blog 页面不好用。文章越来越多,每次想找以前写过的东西,都像在旧抽屉里翻发票。明明自己写过,明明大概知道关键词,但就是找不到。好记性不如烂笔头,结果烂笔头太多了,也会变成一团毛线。
所以第一件事就是加搜索。
搜索这东西听起来很简单,真做起来才发现,问题不是只有一个输入框。搜索框放哪里?Blog 页面要不要一打开就看到?列表里面的 markdown 链接、删除线、代码块要不要正确渲染?如果只是把原文粗暴截断,[Luo et al. (2021)](...) 这种链接就会在列表里露馅,像衣服穿反了一样。
于是又修了 Blog 列表的摘要渲染。现在列表里的链接、删除线、代码块这些东西,至少不会再以奇怪的原始文本形式跳出来。博客点开之后能正常渲染是一回事,列表里也能像个人样是另一回事。
然后我又加了 Thoughts。
本来想叫“说说”,后来觉得这个名字太有既视感其实是别人用过,怕有版权问题啊,就改成了 Thoughts。它不是正式 blog,也不是 RSS 里的文章,只是短想法。今天想到什么,记一下。以后点进去还能看到历史。这个东西对我还挺有用,因为很多想法还没有长到能写成文章,但如果不记下来,基本就是当天蒸发。
Thoughts 里还有一个小细节:同一天多条想法会自然排在一起。不是非要我每天只写一条,也不是要搞成日记模板。想说几句就几句,系统帮我按时间放好。这对我这种经常突然想一句废话的人很重要。
再后来就是页面设计。
Blog 页面之前有点丑。严格说不是一点丑,是那种“功能都有了,但每个功能都在抢镜头”的丑。搜索框、标签、归档、文章列表,全在喊“看我看我”。于是我把 Blog 页面改成了比较安静的索引形式:左边是文章列表,右边只放 Topics。每篇文章显示日期、标题、两行摘要、轻量标签。少一点边框,少一点胶囊按钮,少一点“我正在努力设计”的痕迹。
Archives 也单独拿出来放到了顶部导航里,位置在 Blog 和 About 中间。这个决定我还挺喜欢的。归档本来就是一级入口,不应该塞在 Blog 页右侧底下。现在想按年份翻旧文章,直接点 Archives 就行。
不过 Archives 页一开始也不好看。好多横线,像考研政治重点一样。后来把大标题和年份标题下面的线都去掉了,页面安静不少。
主页也改了一点。
左侧边栏原来头像下面空得有点尴尬。于是加了一个 Daily Line,每天一句俏皮话。比如:
先别优化,先保存。
这句话是写给我自己的。因为很多时候不是不会优化,是优化之前忘了保存。科研如此,写代码如此,人生可能也差不多。
下面又加了一个 Status:
- Posts
- Words
- Running
- Visitors
前三个是构建时自动算的。Posts 是文章总数,Words 是中文字符加英文词的粗略统计,Running 从我这个站开始的时间算。Visitors 用的是现有的访问统计脚本,不重新造轮子。统计数字本身没什么了不起,但放在那里有一种“这个站确实在慢慢长大”的感觉。
About 页面也改了。
这个页面一开始我有点纠结。写太少,像没睡醒;写太多,又像把简历和户口本都贴到了墙上万一被人扒拉可不太好。后来想了想,About 不应该是完整 CV,它只是告诉陌生读者:我是谁,大概做什么,这个站是干什么的。
所以我把它改轻了。单位不写得太细,完整教育经历和 publication list 先撤掉,只保留研究方向、What is this place 和联系方式。What is this place 这一节我还挺喜欢,它说这个站主要放 notes, fragments, and records。也就是我的研究笔记、paper reading、小技巧、Linux/Python/GMT/LaTeX 这些工具记录,以及一些学习、工作、生活里的想法。
完整信息当然不是不要了。辛辛苦苦整理出来的东西,删掉也挺可惜。但公开网页和私人档案不是一回事。公开页面应该是一个入口,不是一个数据库。数据库可以放在自己笔记里,网页上就别太实诚了。做人已经很实诚了,网页就稍微聪明一点。
这里还顺便学到一个重要教训:do_deploy.bash 只是部署网站,不等于提交源码。
它会运行 build.py,然后把 site/ 推到 gh-pages 分支。也就是说,网页可以更新,但 build.py、templates/、docs/css/style.css 这些源码如果没有自己 git add、git commit、git push,其实并没有进入源码分支。
这个坑有点隐蔽。因为你刷新网站,一切都对,看起来像是“已经推送成功了”。但从长期维护看,这些源码才是真正的房梁。只推生成出来的页面,就像只把饭端出去,厨房没收拾。当天能吃,明天就不好说了。
所以以后流程应该是:
git status
git add build.py templates/index.html templates/blog.html templates/base.html templates/archives.html docs/css/style.css
git commit -m "Update blog layout and homepage sidebar"
git push
bash do_deploy.bash
当然具体 add 哪些文件要看 git status,不要闭着眼复制。闭着眼复制命令这件事,通常会以另一个博客结尾。
这一轮改完之后,我感觉这个站终于更像一个我自己真的会用的笔记站了。
不是那种很漂亮的作品集,也不是标准学术主页。它更像一个研究者的工作台:有纸,有笔,有旧便签,有一些工具,有些地方还乱,但至少现在东西开始有地方放了。
Comments