Hugo

共 6 篇文章。

作弊条:在 Nginx 中正确配置自定义 404 页面

Cheatsheets

最近给 blog 增加了一个自定义的 404 错误页面。像 Hugo 这样的静态网站生成器在构建时, 默认会把渲染好的 404 页面直接输出在网站根目录下,即 /404.html

针对这类页面,我们通常希望:

  1. 当访客访问不存在的网址时,服务器呈现该页面的内容,并且 HTTP 状态码必须是 404
  2. 当有人(或爬虫)直接在浏览器中访问 /404.html 时,同样呈现其内容,但返回的 HTTP 状态码依然必须是 404,而不是 200 OK
阅读全文… ( 本文约 1234 字,阅读大致需要 3 分钟 )

Hugo blog 主题模板重构

Development

借着 Vibe Coding 的东风,我为 blog 重新设计了一套模板,希望解决一些此前用的基于 ink 模板中存在的一些问题,并彻底清理掉一些历史包袱。

这件事还要从 Search Console 的 Core Web Vitals 报告说起。报告显示,旧主题使用的 Noto Serif SC 网页字体加载缓慢, 并在渲染过程中导致了显著的累积布局偏移(CLS)问题。

在调整网站 CSS 的过程中,我逐渐意识到原有主题模板存在不少结构性问题;与其零碎修补,倒不如直接推倒重来。 我的想法是,首先用 Hugo 新建一个最新版的最小模板,然后逐渐在上面添加我需要的功能,于是我列了一个需求 wishlist 清单:

阅读全文… ( 本文约 1367 字,阅读大致需要 3 分钟 )

采用了基于 isso 的评论系统

Cheatsheets

上回书 说到从 Movable Type 搬到 Hugo 上之后, 就彻底失去了评论和 pingback 的功能。 因为现时正经写 blog 的人已经越来越少, 因此 pingback 似乎意义不太大了,但是能够收集评论反馈还是有一些意义的。

早前,Movable Type 实现的评论系统与其自身的账户系统有集成,并且还支持包括 Facebook、 Google 在内的一系列其他 OpenID 的系统。这个功能的一个好处是对于经常访问的人来说比较友好, 例如站主可以将某个 ID 设置为受信任的 ID,从而避免先审后发。

阅读全文… ( 本文约 1073 字,阅读大致需要 3 分钟 )

把 blog 从 Movable Type 迁移到了 Hugo

Development

花了些时间把 blog 从 Movable Type 迁移到了 Hugo

说起来 Movable Type 已经用了有十七年之久了,不过 Movable Type 商业化以后便基本没有更新了, 由于它是 Perl 写的,因此我也没什么动力去持续维护。

阅读全文… ( 本文约 1146 字,阅读大致需要 3 分钟 )