So!azy

博客新增「Movies」页面

新的 Movies 页面(日间和夜间模式)

▲ 新的 Movies 页面(日间和夜间模式)

逛博客经常能刷到其他博友把自己的观影记录写成页面,作为博客内的独立项目存在。今天闲来无事,也想着写一套属于自己的。

列一下我看到后想要参考的案例:

可能还有其他的,但是已经记不起来,索性也不去深究。毕竟这种东西,还是要根据自己博客站内的特点去实现的。

针对 Bear Blog 的架构特性,我根据 1900 在 《Ghost博客实现豆瓣观影清单》 一文中介绍的 Douban sync for GitHub Actions 项目进行了实践。

🫘 第一步:同步豆瓣数据(GitHub Actions)

首先需要在 GitHub 创建一个仓库,用于存放豆瓣观影记录的个人数据。参考 Douban sync for GitHub Actions 这个项目的文档,在 .github/workflows 下创建同步任务,确保输出格式包含 JSON。设置每日定时任务之后,就能获得一份自己名下的豆瓣观影记录文件 movie.json

🐻 第二步:在 Bear Blog 配置全局框架

由于 Bear Blog 主要支持静态页面,所以需要重样式渲染、轻数据逻辑。在全局的 Setting 中分别处理 HeaderFooterHeader 主要用于定下 Movies 页面的框架样式,Footer 则用于编写脚本读取 JSON 并动态生成 HTML。

此方案完全使用原生 JS,不依赖任何第三方库,符合 Bear Blog 的轻量化理念。

🖼 第三步:创建挂载页面

最后一步只需要像写博文一样,在后台创建一个页面,并在页面正文中插入一个用于挂载电影列表的 div 容器即可。

🔩 第四步:细节的修补与调优

其实第四步才是最花时间的。有很多异常流需要在这一步发现并且调优:

至此,完成。

#daily