文章目录
今天没有完成什么宏大的项目,只做了两件终于能用的小事。
一件是给这个博客增加了一个 Cloudflare Pages 入口。另一件,是花六个多小时做出了一款记录宝宝成长的 PWA,我给它取名叫“芽时”。
它们看起来没有太大关系:一个是博客部署,另一个是给父母用的小工具。做完之后再回头看,我才发现自己在意的其实是同一件事——把重要的东西留下来,也把控制权尽量留在自己手里。
给博客多留一个入口
这个博客原来部署在 GitHub Pages。我的日常流程是:在私有源码仓库里用 Markdown 写文章,推送到 GitHub,再由 GitHub Actions 自动构建 Hugo 站点并发布。
这套流程本身没有问题,但在国内网络下,GitHub Pages 的访问并不总是稳定。今天我保留了原来的地址,同时增加了 Cloudflare Pages 入口:
现在每次把新文章推送到源码仓库,自动流程只构建一次,再把同一份静态页面分别部署到两个入口。我不需要多维护一套文章,也不用在发布后手工同步 Cloudflare。
在我当前使用的国内网络下,新的入口已经可以正常打开。不过,这只是增加了一条可访问路径,并不等于获得了 Cloudflare 中国网络的服务保障。对一个个人博客来说,先让读者多一个选择,已经足够实用。
六个多小时,做出“芽时”
第二件事更私人一些。
手机里的宝宝照片一天比一天多。拍下来的那一刻明明有很多话想说,可过一阵再翻相册,常常只记得照片里拍了什么,想不起那天发生的小事,也想不起当时真正想留给孩子的那句话。
市面上的育儿产品已经把许多事情做得很成熟:有的连接孕育知识、商城和社区,有的把一家人的照片放进云空间,还有的可以精确统计每次喂奶、睡眠和换尿布。
我不想再做一套大而全的育儿工具。芽时只想解决一个经常被复杂功能盖住的小遗憾:照片还在,照片背后的那句话却很容易丢。
所以它选择少做一些。
不要求注册,没有广告和社区打扰,默认不把宝宝照片上传到业务服务器。一天、一周,或者一个月,挑一张照片,写下一句话。等时间久了,再在手机本地把这些瞬间排成一本可以保存、分享和打印的成长册。
目前的版本已经可以:
- 在 iPhone 上添加到桌面,像普通 App 一样打开;
- 继续使用同一个域名,功能发布后自动获得新版界面;
- 把照片保存在本地,减少宝宝影像离开设备的风险;
- 按时间查看成长记录;
- 使用 3 种免费主题导出 PDF;
- 完整导出和恢复数据,换手机时也能把记录带走。
它是一款 PWA,不需要上架 App Store,也没有应用商店的上架费用。对我来说,这让一个想法可以用很低的成本先变成真正能用的产品,而不是一直停在待办清单里。
当然,“保存在本地”也意味着用户需要主动做好备份。芽时提供完整导出和恢复,正是为了让隐私和可迁移性同时成立,而不是把数据锁在某一台手机里。
为什么把这两件事记在一起
博客把公开表达保存在自己维护的源码里,再从两个入口交付给读者;芽时把私人记忆默认留在父母自己的设备里,需要时再完整导出。
一个面向公开世界,一个留给家人。它们都不复杂,也远远谈不上完成,但今天至少从“想做”走到了“能用”。这比列出更多计划更让我踏实。
芽时不是要替代所有育儿软件。它更像父母为孩子留在家里的一个私人抽屉:安静、克制,钥匙始终握在自己手里。
DISCUSSION
评论与勘误
欢迎指出错误、补充资料或分享实践经验。评论由 GitHub Discussions 托管,登录 GitHub 后即可参与。