diff options
| author | eltrac <hi@eltr.ac> | 2026-03-08 17:39:57 +0800 |
|---|---|---|
| committer | eltrac <hi@eltr.ac> | 2026-03-08 17:39:57 +0800 |
| commit | 7702eb7bcc9a9647ee0e45385973f07cd7ce5930 (patch) | |
| tree | e36be2700e6f3db3eda9d6b12e160bb4d09fa4f6 | |
| parent | 6b44fa62ff4e98132c50755fadf248851cc3fdfb (diff) | |
docs: update draft
| -rw-r--r-- | content/article/site-report-5.md | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/content/article/site-report-5.md b/content/article/site-report-5.md index 1e617086..587f90ef 100644 --- a/content/article/site-report-5.md +++ b/content/article/site-report-5.md @@ -9,5 +9,82 @@ draft = true toc = true +++ +在周末打开终端,`cd` 进极客死亡计划的项目目录,然后打开 Neovim 开始在自己的代码里到处晃悠,删删改改,对我而言是很放松的体验。我时常在浏览器里注意到某个网页元素,回忆起源代码的位置,立马打开编辑器看看有没有需要去毛球(lint)的地方。这种感觉,其实很像是园丁在自己的花园里闲逛,做些简单的修枝剪叶吧? +总之,某个寻常的周末,我冲了一杯非常好喝的瑰夏,在书桌前坐下,开始在代码之间漫游,发觉修枝剪叶的工作都做完了,此时,一个积压在脑后已久的想法突然涌现。我拿起铲子,盯着其中两个花圃,兴致勃勃地说道:“好,那就开始铲土,重新想象园林设计吧!”——这两个花圃就是[前不久](/weekly/57/#博客的内容分区变动)才被移植过的「议论」和「散文」。是的,我把他们又合并了。<!--more--> + +--- + +## 用词说明 + +为了避免误解,我们先理清一些术语。 + +下文的「分区」指 Hugo 的 [section](https://gohugo.io/quick-reference/glossary/#section),也就是顶层的内容目录,比如 `/posts` 下有 `/posts/xxx` 和 `/post/yyy` 等页面,这个 `/posts` 就是一个分区。 + +「分类」是指 Hugo 的 [taxonomy](https://gohugo.io/quick-reference/glossary/#taxonomy),本站有两种分类,一是「[文章系列](/categories/)」,二是「[标签](/tags/)」。不过,出于一些历史原因(其实就是我懒得改),「文章系列」这个分类的代码写作 `categories`,本意是分类。 + +--- + +## 命途多舛的极客死亡大地 + +最初,极客死亡计划上只有一个内容分区,即 `/posts` 分区,所有的文章都放在这下面,其他的页面是如 `/about` 和 `/linkroll` 这样的顶层页面。那是段纯真简单的时光,直到某个名叫 Eltrac 的疯子突然决定要把自己写的~~垃圾~~小说都搬过来,于是网站上就多了一个 `/fictions` 分区。 + +骇人听闻的事件没有停止,这个疯子决定要给自己读过的每一本书在网站上留一个位置。他先对[稻草人](/weekly/)下了手,心狠手辣地把「书评」分区从周刊手里夺走了,把那些残缺的短评放进了他引以为傲的、单独的 Markdown 文件里,大喊着「原子性!」「双向链接!」的口号,使用名为短代码的邪恶武器将书评嵌入了稻草人的身体里,随后又在他飘忽不定的思绪影响下,把那短代码从整个~~奥兹国~~代码库里剥去。由于操作习惯拙劣,Git 历史的可读性极低,他的罪行也就没有留下证据,那些被他摧残的文件都改了名,或者进了垃圾桶,连 `git blame` 的机会都没有! + +简而言之,极客死亡计划又多了一个 `/library` 分区,纯真简单的小骷髅就这么被知识玷污了,眼神里失去了光! + +这便是「议叙文大分裂事变」的历史背景,在那之后,Eltrac 短暂地休息了一会儿,可没过多久,他便又舞起键盘,对网站历史最悠久的古迹下了狠手。一向忠心耿耿 `/posts` 分区被他无情地斩成两半,有超过半数的页面作为 `/essays` 分区的新臣民被分离了出去,就这样背井离乡。大魔头对此的辩解是: + +> 你也可以理解为,我把文章分成了 T 和 F 两部分(仔细想想,其实更像是 J 和 P 的两部分,判断和感知的区分)。做这个拆分是因为,我发现自己的 T 和 F 可能会在某个时间段宕机其中一个,把这个分开能让我更安心地在情绪崩溃时发疯、在好奇心超负荷运转时写一写没人关心的新话题。 + +{{< right "——《[稻草人周刊 Vol.57](/weekly/57/)》" >}} + +何其可悲!何其可悲!仅仅是因为他自己沉迷于*愚蠢的*大众心理学理论(MBTI),就祸害了全体网站公民的身心健康!更不用说,此举损人不利己,如今大魔头每次在写作时,都会纠结要把他拙劣的文字放在哪边,`/essays` 和 `/posts` 说起来有别,但实际上本是同源,都是他那扭曲头脑不能停止转动的产物。不过,我们也不要太苛责这个敌人,毕竟他自己也尝到了苦头,那便是永远不能停止分类和修整的痛苦,如西西弗斯一般永世不能停下!别听那个叫加缪的老头儿乱说,天天推石头可不幸福! + +终于,感谢上天的宽恕,误入迷途的魔头 Eltrac 得到了分类之神 cartlE 的指点。cartlE 刚莅临网站,就立刻发觉稻草人不应与 `/posts` 的子民待在一起。看着 Eltrac 在代码里给稻草人周刊写下的各种特例,神明 cartlE 皱起了眉头,发出疑问:“你是在解鸡兔同笼问题吗?把鸡放鸡笼里,兔放兔笼里不行吗?” + +于是,`/posts/weekly` 从极客死亡计划的土地上消失了,取而代之的,是新成立的 `/weekly`。天下苦稻草人周刊久矣!为了恕罪,也向 cartlE 神明展示自己的悔意,Eltrac 立马给稻草人修好了[黄砖路](/weekly/),供他自由通行。 + +很快,高明的 cartlE 发现了 `/posts` 和 `/essays` 之间的裂谷,便命信息与沟通之神墨丘利去唤来双子座,让它用蟒蛇架起桥梁,把两块大陆合二为一了。终于,失散已久的家人又重聚了,现在 `/posts` 和 `/essays` 不再分裂,他们有了共同的新名字——`/article`。墨丘利还提议,尽管两个大陆合二为一,但旧的居民仍然保留旧的地址,避免书信不能送达,尤其是来自联邦宇宙和万维网提及的消息。[^1]新的居民以 `/article/xxx` 为地址,而旧的居民仍然保留 `/essays/xxx` 和 `/posts/xxx` 的地址。 + +为了展示自己真的回心转意,大魔王 Eltrac 主动提出,应该把 `/fictions` 分区更名为 `/fiction`,因为目前的其他分区分别是 `/article` `/weekly` 和 `/library`,只留一个复数形式的名字有些眨眼。神明 cartlE 听完,满意地离去了。 + +就这样,暮光闪闪和他的小伙伴们终于让混沌之王无序痛改前非,懂得了友谊的魔力,小马国又恢复到了祥和之中。 + +*等等,你串台到哪儿去了?* + +## ESC to Reality + +*我的天哪,究竟是什么样的读者才能读懂上面那一大坨自我意识过剩的产物……* + +让我按下 Escape 键(指切换为 Neovim 的 `NORMAL MODE`,正常模式),来认真解释一下极客死亡计划目前的内容分类设计。 + +首先,博客目前只有四个分区: + +1. [文章](/article/):一般来说,我突然想写点什么东西发出来,都会放在这。 +2. [周刊](/weekly/):每周一更新的刊物,包含这周读到的有趣的文章、听到的播客和发现的不错的项目等等,是我整理和收集信息的地方。 +3. [书目](/library/):我读完一本书都会写书评放在这里。 +4. [虚构](/fiction/):我写的各类小说。 + +其他分区几乎都是不言自明的,只有「文章」需要特别说明。正如《命途多舛的极客死亡大地》一节中所述,这个分区原本是 `/posts`,一开始被称作「议叙」页面,因为它既包含议论文,又包含叙事文和散文。后来,我觉得这两种文体或许需要分开,于是新增了一个 `/essays` 分区,把议论文都放到这里来。 + +其实在一开始创建 `/essays` 分区的时候,我就发现了问题,我很难判断一篇文章的归属,我记得当时我花了一个下午的时间给文章重新分区。这种分区在后来又造就了更多的问题,比如:同一个「文章系列」应不应包含来自两个分区的内容?我有一个文章系列叫《代码炼金术》,这里面可能包含我尝试新技术的经历和感受,重点在于「我做了什么」,写得比较散,应该归为 `/posts`;而有的时候,我可能发现了一种新的构建软件的方式,比如[用 Lisp 而不是 HTML 写网页](/posts/webpage-as-lists/),这种有深思熟虑且形成可复用的体系的文章,似乎应该归为 `/essays`。可是,它们都是和写代码相关的,不应该都放到《代码炼金术》这个文章系列里吗?如果一个文章系列里既有议论文,又有记叙文,那不是乱套了吗? + +就算不考虑文章系列,确定一篇文章属于 `/posts` 还是 `/essays` 也不容易。前者是写「我做了什么」,后者是写「我思考并的出了什么」,实际上有相当一部分文章的写作逻辑是「我做了一件事情,并且借此有了新的思考,产生了新的想法」,那这还要怎么分区? + +从盒子里跳出来想问题:给议论文和记叙文分区真的是有必要的吗? + +最后我接受了自己的风格就是叙中有议、议中有叙的,于是把两个分区合并到了一起。不过周刊里的东西实在是太杂了,给它单独设立分区会更合理。 + +## Tag, You're It + +你可能会以为,这个前不久还重新装修过[标签](/tags)和[文章系列](/categories)页面的 Eltrac,又要阴晴不定地把标签和文章系列的其中一个分类给扬掉了,毕竟已经有分区了,再算上这两个分类,网站实际上有三个维度的分类,这太复杂了! + +当然,看到「你可能会以为」几个字就知道,我不会这么干。 + +保留文章系列其实很好理解,保留标签是为了什么? + +之前在 [Jim Nielsen](https://blog.jim-nielsen.com/2022/visualizing-my-blogs-links/) 的博客上读到过这样的观点:你不需要创建标签,链接就是标签。这里的链接是指在文章中链接到的其他文章,文章之前相互引用所形成的关联,就足够让文章物以类聚了,不需要手动打标签,做额外的分类。这的确是很诱人的想法,所以我给博客做了[视觉化的双向链接图谱](https://www.geedea.pro/graph.html),然后就把「用链接替代标签」这个想法抛之脑后了。 + +[^1]: OK,我知道我有点放飞自我了,所以我~~暂时脱离精神分裂状态~~来解释一下,这里说的是:我用 Gemini(双子座)生成了一个 Python(蟒蛇)脚本,让它把两个分区合成一个了,之所以提到墨丘利(Mercury),是因为双子座的守护行星是水星(Mercury)。由于 Webmention 依赖 URL 标识源地址和目标地址,如果改了地址,仅仅作重定向是不够的,会导致旧的 Webmention 失效,除非重新发送一遍,所以就用 Python 脚本给每篇文章都添加了 `url` 属性,这样就算文件放在 `/article/xxx.md` 下,URL 也还是 `/posts/xxx` 或者 `/essays/xxx`。 |
