其实在现在这个时代,博客已经是“过时”的“淘汰”产物,更不要说是自建博客。
从我这次重新搭建博客中也能发现,虽然 Hugo 的主题确实挺多的,但是大多数都已经无人维护,最后一次更新都在几年前了。
我也不是第一次搭建博客了,从我高中开始就陆陆续续搭建过很多次博客,每次都因为服务器到期没钱续费而“倒闭”。
其中使用的技术也从动态网站到现在使用 Hugo 的静态网页。
我之所以这次会选择使用静态网页作为我的博客选型方案,还是因为吸取之前几次失败的博客搭建经历:如果使用动态程序作为博客载体,那么备份程序将变得很繁琐,即使很多成熟的程序支持一键备份数据库,但是备份的数据不太友好,也只能恢复到原程序,还大概率会恢复出错,搭建环境也是一个大问题。
实话说,之前搭建的好几次博客在倒闭前我都将数据库备份后保存了起来,但是,现在完全没有动力去恢复这些数据,就是因为太过于繁琐。
而使用 Hugo 这类静态网页程序就不会存在这个问题,所有内容的载体都不过是纯文本的 Markdown。即使这次也一样“倒闭”了,备份和恢复数据将变得十分简单,毕竟 Markdown 本身就是可读性很好的内容。
不同于其他大多数选择 Hugo 作为博客程序的人,都是使用 GitHub 或 Gitee 作为存放网页的平台。
我选择了使用自己购买的服务器作为存放平台,一来考虑 Github 对国内用户不太友好,Gitee又太多限制,哪天直接把我账号 ban 了我都不会觉得意外。二来,自建服务器自由度十分高,我不仅可以使用 Hugo 还可以混合使用其他程序满足我的需求。
所以最终我选择将 Hugo 配置文件和 md 原文件托管于 Gitee,并使用 one drive 实时备份(同时我搭建了一个 NAS,实时备份 one drive 文件),然后在 Gitee 中添加一个 webhook 到我的服务器上,每次 push 到 Gitee 都会发送一个 POST 请求给服务器,服务器在接收到请求后会 pull Gitee 的新内容,并立即编译生成新的网页复制到指定目录,达到更新的目的。
而服务器端,我采用 Nginx 处理博客的静态内容,搭配 Flask 作为更新时的 Hook 服务器端。
最后,这次之所以时隔这么多年,又突然想起来搭建一个博客原因有二:
- 现在备案检查越来越严苛,我之前的某个 APP 的官网和隐私政策等在线内容是通过挂在非 80 和 443 端口来规避备案检查,但是最近检查越来越严格,不仅会屏蔽 80 和 443 端口,其他任何只要是有返回内容的端口都会被屏蔽,没有办法,只能妥协去备案,但是备案完必须得有一个内容啊,不然空网站容易被注销备案,所以正好试试最近流行的静态博客技术,我也顺手搭建了一个博客作为网站内容。
- 之前写的在某大厂打工的经历,一直因为没有找到合适的平台发布而没有公开过,但是我又十分想把这段经历公开,正好借此契机,可以把这些内容放到自己的博客上。
关于上面提到的打工经历可以在 这里 看。
博客系统更新记录
之前没有想到加上一个更新记录,现在想起来了,那就从现在开始记录吧。
2025.01.24
现在,新的板块 - 摄影 已经开发完成了。
有其相对独立的展示方式,更加适合展示大量的只有图片的内容,并且支持显示图片的 Exif 信息。
网页端的内容生成使用 Hugo 的短代码能力自定义了一个生成规则。
图片的上传与 Exif 读取使用 Compose for Desktop 写了一个客户端,有需要的可以看看:hugoGalleryUploader 。
图片的缩略图采用了 OBS 自带的图片处理(PS:我客户端都写完了才发现原来 OBS 的图片处理在请求量小于 10T 时是免费……)
2025.01.01
- 用华为的 OBS 给博客搭了个图床,现在可以放心的上传大图片而不用再担心图片文件太大污染 git 仓库或者是被 Gitee Ban 掉了。 不过加图床只是为了分享我拍的一些照片,博文中重要的配图还是继续采用本地静态图的方式。
- 调整了一下首页入口顺序
- 增加一个新的板块–摄影
2024.12.05
现在全面转向 HTTPS,使用 Let’s Encrypt 的免费证书,由定时任务运行 CertBot 自动更新证书。
2024.11.27
- 接入了 waline,新增以下能力:
- 增加文章评论功能,现在可以直接评论文章了
- 增加文章浏览量统计,从现在开始统计,所以可能很多文章的浏览量目前都还是 0 ~
- 新增了每篇文章的最后修改时间和对应的 Commit Log 。 因为之前每次提交时的信息都是瞎写的,所以旧文章的历史看起来会比较混乱,不过从现在开始我会认真写 Commit Message 。