近期我对博客做了什么

最近又折腾了一轮博客。

一开始只是觉得 Blog 页面不好用。文章越来越多,每次想找以前写过的东西,都像在旧抽屉里翻发票。明明自己写过,明明大概知道关键词,但就是找不到。好记性不如烂笔头,结果烂笔头太多了,也会变成一团毛线。

所以第一件事就是加搜索。

搜索这东西听起来很简单,真做起来才发现,问题不是只有一个输入框。搜索框放哪里?Blog 页面要不要一打开就看到?列表里面的 markdown 链接、删除线、代码块要不要正确渲染?如果只是把原文粗暴截断,[Luo et al. (2021)](...) 这种链接就会在列表里露馅,像衣服穿反了一样。

于是又修了 Blog 列表的摘要渲染。现在列表里的链接、删除线、代码块这些东西,至少不会再以奇怪的原始文本形式跳出来。博客点开之后能正常渲染是一回事,列表里也能像个人样是另一回事。

然后我又加了 Thoughts

本来想叫“说说”,后来觉得这个名字太有既视感其实是别人用过,怕有版权问题啊,就改成了 Thoughts。它不是正式 blog,也不是 RSS 里的文章,只是短想法。今天想到什么,记一下。以后点进去还能看到历史。这个东西对我还挺有用,因为很多想法还没有长到能写成文章,但如果不记下来,基本就是当天蒸发。

Thoughts 里还有一个小细节:同一天多条想法会自然排在一起。不是非要我每天只写一条,也不是要搞成日记模板。想说几句就几句,系统帮我按时间放好。这对我这种经常突然想一句废话的人很重要。

再后来就是页面设计。

Blog 页面之前有点丑。严格说不是一点丑,是那种“功能都有了,但每个功能都在抢镜头”的丑。搜索框、标签、归档、文章列表,全在喊“看我看我”。于是我把 Blog 页面改成了比较安静的索引形式:左边是文章列表,右边只放 Topics。每篇文章显示日期、标题、两行摘要、轻量标签。少一点边框,少一点胶囊按钮,少一点“我正在努力设计”的痕迹。

Archives 也单独拿出来放到了顶部导航里,位置在 BlogAbout 中间。这个决定我还挺喜欢的。归档本来就是一级入口,不应该塞在 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.pytemplates/docs/css/style.css 这些源码如果没有自己 git addgit commitgit 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

← Paper Reading (56) Blog