椒盐豆豉

Add random post picker to Hugo without json index

September 20, 2023
重启电脑 | English
code | project | tutorial | hugo | blog

I want to add a random article picker to my blog as another way to discover past posts, aside from categories and tags on the right side and making it easier on mobile.

I couldn’t find a simple enough solution that suits my needs after brief Googling. The options I found were either to randomize at build time, which means the article doesn’t change with each click or refresh, or to generate a JSON index, which I had trouble with probably because my lack of understanding of Hugo.

I thought such a simple feature should be achievable with just JS + HTML, so I decided to write my own. Performance shouldn’t be an issue for a blog with a few tens to thousands of articles. Here’s a solution I came up with for reference.

...


给 Hugo 博客添加随机文章入口

September 20, 2023
重启电脑
code | project | tutorial | hugo | blog

我想给自己的博客加一个随机文章入口,作为页面右边的分类和 tag 之外的另一个发掘文章入口,移动端也更容易。在网上一搜,Google 第一页没有看到太显眼的简单适合我博客的答案:要么是最简单的 build time randomize,不能每次点击/刷新都出新文章;要么要生成 json 索引,对 hugo 语言和 config 不是很熟悉的我折腾了一下没搞出来,遂放弃。

想说这么简单个功能不至于不能纯拿 JS + html 写吧,博客少则几十多则几千的随机数性能应该也不成问题,随自己折腾出来个方案供大家参考。

...


什么是链接追踪,如何简单规避 UTM

September 17, 2023
重启电脑
code | project | tutorial

在大众对上网隐私问题逐渐关注和各种公司变本加厉收集用户隐私、隐私泄露事件层出不穷的今天,互联网甚至传统行业(如汽车)的隐私收集无处不在,普通用户很难躲避厂商花招频出的追踪手法。不过,作为最常用一种追踪方法,UTM(Urchin Tracking Module)链接追踪的规避还是相对容易的。本文就来介绍一下什么是 UTM、如何规避这种链接追踪,以及提供一款逻辑简单的 Chrome 小插件来方便地在网页端去除链接中的追踪参数。

写这篇文章的起因是,昨天和女朋友一起在手机上看 B 站视频,期间想到个段子,我想让女朋友发视频链接给我好做 reference,女朋友犹豫了一下说 app 分享会有追踪隐私问题不大想用。B 站账号几百年前注册的中国手机早已停用所以大概连月活都算不上的我突然来了兴趣想看看墙内 app 的追踪有多凶,就让她把链接发来然后从头到尾解释了一遍如何去掉里面的追踪参数。今早起来遂产生了这么简单的逻辑顺手写个插件吧的想法。那插件写都写了,只能在桌面端用够不到追踪更严重的手机端,干脆顺便写个全套科普好了。

...


如何建立写博客的习惯

August 27, 2023
重启电脑
tutorial | blog

前两天写的博客安利文《2023 年了你为什么需要写博客》反响出乎我预期,短短一周一跃成为我博客迁移三个月以来最受欢迎的文章。但”想写“和”开始写“从来都不是“成功”写博客的最大难点。有受到博客安利写了几篇之后就逐渐断更的,也有我上迁移时候提到的那种建站狂魔倒腾完站就不发内容了的。有点像是健身,好处很明显,门槛也很低,但真正能长期坚持并最终成为生活习惯的一部分的人,才能真正受益。一开始建立习惯的过程或许需要一定意志力,但当习惯形成之后,乐趣和收获是可以同步进行的。

这篇文章我来试图回顾一下写博客的近二十年里哪些事情帮助我不知不觉中把博客变成了自然而然一个爱好而不是需要逼自己“坚持”的任务。开始之前几点说明:

  • 不是每个人都适合或需要写博客,虽然觉得这是不言自明不需要 justify or defend 的观点但是还是提前说明一下
  • 我(至少现在)不写技术博客也不写情感博客,这两类挺常见的博客题材不一定适合本文和我的所有博客安利文
...


2023 年了你为什么需要写博客

August 17, 2023
重启电脑
brain dump | blog | patreon

大概是 2020 年底,在墙内社交平台辗转近二十年之后,我又重回了自建独立博客这条路的时候开始在长毛象上提 make blogging great again/博客伟大复兴这个有些自嘲意味的口号(毕竟无论中文还是英文语境里这俩句式都有不怎么招待见的政治意味)。这些年多多少少也试图安利一些友人写博客,最近换到静态博客也零散写了两篇建站倒腾,不过都收效甚微。毕竟,像小学语文老师反复强调的,光讲苹果真好吃苹果有益健康,不提具体什么口感怎么个有益健康法的是烂作文。

博客圈里中文英文的反反复复有太多人写过“为什么要写博客”这个命题了,但网上不缺信息只缺发现渠道,如果恰好在这个天时地利人和的时机看到这篇文章的人里有千分之一能拾起这个习惯并且有所收获,那也值了。

今天我们就来老生常谈,从我的角度又写一遍你为什么需要写博客。

...


我就是不想 grow - 一份 career 不发展挣扎记录

July 23, 2023
重启电脑
career | patreon | software engineer

关于职业发展的话题之前也写过不少,尤其上一篇就是一篇关于career ladder 的小科普,可能会给没关注我其它社交平台的大家造成我是一个上进的职业博主的印象。其实完全不然,我感觉我至少近几年来的职业发展核心完全就是——我就是不想 grow,我的职业发展如何才能不发展。

听上去很简单但实际操作中还是遇到了种种困难和挣扎,躺平的自由真的得靠争取……本文大致梳理一下我的职业“不发展”都兜了哪些圈子。

本文是我 7 月 Patreon 博客选题投票 ,其实不大想写没想到如此大比例胜出,险些难产。还好我改进了我的 blog backlog 管理方法,应该会攒很多想写的话题,8 月博客投票就是其中一些欢迎大家投票

  • 2023 年了为什么你应该写博客
  • 2023 年小白入坑游戏平台选择
  • 美国能买到的亚洲面食类方便食品个人红黑榜
...


又双叒叕一篇小白个人博客选什么工具或平台

June 11, 2023
重启电脑
tutorial | patreon | wordpress | hugo | code | blog

之前忘记在哪看到一篇建站教程 ,给了类似这么一张图,实在找不到原文/图了,大意翻译一下:

其实就是自嘲了一下博客圈都喜欢捣腾建站啦 refactor 啦什么的,建站教程/折腾日志写得越欢的实际后续博客文章数量越少。

(后来象友评论补充了我想找的那张原图在这里

本写了二十年博客的话痨今天就来打破一下 stereotype,建完站之后的因为新鲜劲和 performance improvement 倒是已经井喷了三篇文章了。

趁着前两天刚捣腾过一次建站还记忆犹新,也来老生常谈又双叒叕写一篇面向小白的“个人博客选什么工具或平台“的建站文。

本文其实是我 6 月 Patreon 博客选题投票 trending 胜出选项,没想到吧因为新博客表达欲过于旺盛已经学会抢答了(highly unlikely 但是万一最后另一个选项胜出大不了两篇都写),以前不拖到当月结束就不错了。7 月博客投票提前释出敬请投票!

  • 我就是不想 grow —— 一份码农生涯躺平挣扎记录
  • 电驭游宅好伴侣,Aer 背包全家桶体验
  • 纯远程工作讨厌做饭厨渣如何糊弄吃饭问题

TLDR #

本文受众是纯小白,有一定技术基础的相信可以根据自己需求选择。简化起见在此只讨论几种最常见的建博客方式:Github Pages,Wordpress 自建站,免费第三方托管(Medium, wordpress.com,telegra.ph 等),Notion(其实也是第三方托管的一种),付费第三方托管(wordpress.com, squarespace 等)。

私以为纯博客的话只有如下两种选择 make sense:

  • 刚开始/还没开始写博客,想培养写作习惯,不会/不想花时间在学习 git 和一些 command line 基本操作:Notion
  • 有写作习惯,或熟悉 git 和 command line 基本操作的人:无脑选静态生成(其中 github pages 是最流行且免费的托管平台)
...