我的 Wiki 站点建好之后有个问题:内容是我手动加的,而我不会每天去加。
一个几乎不更新的站点,跟一个死掉的站点,在访客看来没什么区别。
所以我想让它自己每天有点动静。最后做的事很简单:每天早上,服务器自动往 Wiki 发一条 60 秒新闻。
为什么是新闻
不是因为新闻有价值——恰恰相反,这类”60 秒读懂今日要闻”的内容到处都是,多我一个不多。
选它是因为它满足三个条件:
- 每天都有新内容,不用担心断更
- 格式固定,几十条短讯,结构一模一样,容易自动化
- 我不用审核,它不是我写的东西,发错了也不至于误导谁
第三点很重要。如果自动发的是我自己写的东西,我会忍不住每天检查一遍,那还不如手动发。正是因为我对它的内容质量没有心理负担,这套东西才能真正自动跑起来。
用脚本解决具体问题,比学一门语言有用 我写过类似的判断:脚本的价值取决于它替你省下的时间,而不是它有多巧妙。这个脚本不巧妙,但它让我一年少手动操作三百多次。
脚本做了什么
逻辑直白到没什么可讲的:
定时触发
↓
抓取当日 60 秒新闻数据
↓
拼成 WordPress 文章(标题 + 正文 + 配图)
↓
调接口发布到 wiki 站点数据源用的是现成的项目,我这边只负责取、拼、发。跑在一台常年开机的机器上,cron 定时触发。
为什么用 PHP
因为它要发布的目标是 WordPress,而 WordPress 本身就是 PHP 的。直接用 PHP 写发布脚本,可以走它自己的接口和函数,不用绕一圈 HTTP。这不是什么技术选型,就是顺手。
真正花时间的是后面几轮
脚本第一版跑通只花了一个下午。后面改了好几轮,每一轮都是因为”发出去的东西我不太想看”。
第一轮:砍掉来源
第一版是照搬数据源的原始格式,每条新闻后面挂着来源链接,还带一堆标签。
发出去一看,太吵了。几十条短讯挤在一起,每条尾巴上还挂个链接,视觉上全是噪点。
我把来源链接和来源标签全去掉了。这些新闻本来就是二手信息聚合,标个来源不会让它更可信,只会让它更难读。砍掉之后条目紧凑了很多。
第二轮:图片整合进脚本
一开始图片要我手动配,等于每天还得人工介入一次,那自动化就白做了。
后来把配图逻辑也写进发布脚本,从图库里按规则取图,随文章一起发布。这一步做完,整个流程才真正无人值守。
第三轮:视觉往简洁走
Wiki 用的主题本身比较花,新闻条目套进去之后更花。我调整了样式,往 iOS 那种感觉靠:系统蓝做强调色、白色卡片、区块之间用细分隔线,条目紧凑但块间距留大。
改完之后的判断标准很简单——我自己会不会停下来把它读完。第一版我不会,第三版我会。
踩到的一个限制
Wiki 那套主题对自动发布的文章有 token 限制,超出会发布失败。我是在某天新闻条数特别多的时候撞上的。
处理方式不优雅但有效:控制单篇篇幅,条数过多时截断。这不是什么好方案,只是这类限制下最实际的选择。
相比之下 GitHub Actions 跑了半年,这些坑我替你踩过了 里的坑还更值得较真,因为那些会影响构建。这个只是影响一条新闻的完整性,不值得为它重构。
一个判断
做这个东西之前,我以为难点是”怎么让它自动发”。做完之后发现,难点是”怎么让它发出来的东西值得看”。
技术上,自动发布是一下午的事。让它不发垃圾,是后面那几轮的事。
现在这个脚本每天安静地跑,往 Wiki 上添一条新闻。它不产生什么价值,但它让那个站点保持活着的样子——对一个个人站点来说,这本身就是价值。