維護記錄
完成的工作
- 刪除
layouts/partials/footer.html(1 行 wrapper) - 刪除
layouts/partials/custom_footer.html(156 行,PaperMod footer 的本地 fork) - 刪除
hugo.toml中[params.cloudflareAnalytics]配置塊 - Hugo
--minify構建通過,確認 Cloudflare Web Analytics 注入消失(cf-beacon匹配 0 次),PaperMod 自帶 footer 功能保留(top-link/scroll-to-topJS / 版權 / Powered by)
決策
- 移除 Cloudflare 站點統計:
custom_footer.html相對於 PaperMod 原版 footer 唯一真正的差異就是 Cloudflare beacon 注入;既然沒用價值,把 footer 部分整體還原回 PaperMod 默認,避免 PaperMod 升級 footer 時本地 fork 不同步的問題(2026-08-01已記錄此風險) - 保留
layouts/_partials/cover.html:該 override 解決了 PaperModresources.ByType "image"不識別 SVG 封面導致 404 的問題,不能刪
下次建議
- 如果以後又想加自定義站點統計,可以直接在 Hugo 配置啟用內置埋點,或 inline 在
layouts/partials/extend_footer.html(PaperMod 已留 hook),不需要再 fork 整個 footer
維護記錄
完成的工作
- 修正
CLAUDE.md中 prettier 安裝命令的事實錯誤:實際是deno install -g -A npm:prettier@3.9.6落到~/.deno/bin/,不需要setup-node - 修正
scripts/format-markdown.ts頂部 docstring 的過時描述 - 給
check-dead-links.yml/test-scripts.yml/validate-posts.yml三個 push-trigger workflow 加上if: github.actor != 'github-actions[bot]'守衛,跟deploy.yml/sync-covers.yml/update-papermod.yml一致;節省 bot 推送後再次觸發 CI 的時間 - 刪除
assets/images/covers/covers/死目錄(220 個 SVG,5.4MB):該批封面是2026-07-21第一次批量生成時落在assets/images/covers/的;後來gen-covers.ts的COVERS_DIR改成static/images/covers/,但舊的沒清;grep 確認沒有任何.ts/.md/.yml/.toml引用該路徑
下次建議
- 第三方 action 仍用浮動 tag(
@v4/@v3/@v2);可考慮釘 SHA 防供應鏈投毒 format-markdown.ts(27 行)/optimize-images.ts(182 行) 仍無單測
維護記錄
完成的工作
- 刪除全部 31 篇文章中的
categories:字段(都是 inlinecategories: ["X"]格式)— 決定只用 tag 做分類 hugo.toml的[taxonomies]中刪掉category = "categories"行;現在只剩tag = "tags"和series = "series"(series 也無人使用,可後續考慮一併刪除)- Hugo
--minify構建通過(221 篇,466 ms)
決策
- 分類統一用 tag:之前 categories 和 tags 語義重疊(categories 僅 3 種且只覆蓋 31 篇;tag 是文章主要分類手段);統一後所有文章都通過 tag 分組,
/tags/頁面真正反映全部分類
下次建議
series = "series"在[taxonomies]中也是死配置(無人用 series:),可順手刪
維護記錄
完成的工作
- 把 14 篇文章中的
軟路由tag 改為硬件(語義上軟路由是軟件配置路由器,硬件是更廣義的物理設備類目;後續硬件折騰文也歸這裡)
下次建議
- tag 表仍偏多(8 個),繼續精簡可考慮:把
日誌(97 篇,大雜燴)拆成雜記+ 併入開發/思考;刪除學習(已基本退役,2021 起再沒用過);刪除雜談(3 篇,可併入雜記/思考)
維護記錄
完成的工作
- 把 50 篇文章的
開發tag 改為學習(包括 2 篇原本就有學習的:Stack by Rust / Tree by Rust,dedup 後剩 1 個學習) - 順手修了
20200406-Rails-ENV-u0k.md的tag:單數 typo(之前是死配置,Hugo 不會識別),改為tags: ["學習"] - Hugo
--minify通過(370 ms,221 篇)
決策
學習現在承擔"技術學習/開發"語義(吸收了原開發),覆蓋 58 篇;原學習主要貼在 2020 年早期學習筆記上,語義自然延伸
下次建議
- 當前 tag:
日誌97 /學習58 /思考40 /硬件14 /安全6 /雜談3 /書評1 - 仍有
日誌(大雜燴)和雜談(3 篇,邊緣)可以繼續精簡
維護記錄
完成的工作
- 給全部 221 篇文章補全
description:字段(原來只有 9 篇有內容、30 篇是空"",其餘完全缺失) - 日誌類 94 篇:直接寫日期(
2020年04月06日風格),機械處理 - 非日誌類 117 篇:4 個 subagent 並行讀取正文,生成 80-150 字中文摘要(已驗證 PaperMod 把 description 渲染到
meta[name=description]、og:description、twitter:description三處) - 2 篇 draft 但空正文(
20200407-Linux-Process-0ca/20250115-AHK的快捷鍵腳本方案-0ca)用標題生成了佔位描述 - Hugo
--minify通過(288 ms,221 篇全部有 description)
決策
- 全部 description 用中文雙引號包裹(
description: "..."),保持博客中文環境一致 - 插入位置統一在
date:行之後;空description: ""直接在原位替換 - 摘要規則:不重複標題信息、客觀中性、長度可控
下次建議
- 部分早期文章(2020-2021)的標題比較模糊(如
Log 14、2020-9-19),AI 生成的 description 可能不太有意義,但仍優於完全缺失 - 沒有動
hugo.toml中[params]的description = ""(全站 fallback);如果想統一,可以改為 blog 簡介
維護記錄
完成的工作
- 啟用 Hugo 多語言:在
hugo.toml加[languages]塊,簡體zh(默認,URL 不帶前綴)+ 繁體zh-tw(URL 帶/zh-tw/);defaultContentLanguageInSubdir = false讓默認語言留在根路徑 - 用
pip install opencc-python-reimplemented裝到.tools/pip/(sandbox 不讓裝到 HOME),用OpenCC('s2tw')把所有內容轉繁中臺灣標準 - 轉換 222 個
content/posts/*.md→*.zh-tw.md;16 個content/claudelog/*.md→*.zh-tw.md;另外about.md/archives.md/search.md/posts/_index.md也都加了對應 zh-tw 版本 - 每個 zh-tw 文件 front matter 加
language: "zh-tw"(Hugo 多語言約定) - 複製 PaperMod 的
themes/PaperMod/i18n/zh-tw.yaml到本地i18n/zh-tw.yaml(UI 文案:分鐘/字/目錄/上一頁/下一頁/語言 等) - zh-tw 菜單用中文繁體顯示名:文章 / 維護日誌 / 原始碼 / 彙整 / 搜尋 / 標籤 / 關於;
homeInfoParams.Content也轉繁中(假如我走進海裡, 你會拉住我麼?) - Hugo 修復
languageCode棄用警告,改用locale(zh-CN/zh-TW) - Hugo
--minify雙語構建通過:ZH 259 頁 / ZH-TW 257 頁(差 2 個是歷史 alias 重定向目錄,不重要) - 已驗證生成的 zh-tw HTML 含
<html lang=zh-tw>、og:locale=zh_TW、og:description是繁體中文、hreflang 雙向鏈接、語言切換器菜單正確顯示
決策
- 用
s2tw(簡體→臺灣繁體)而不是s2t(僅字符轉換):前者同時做用詞轉換(軟件→軟件、網絡→網絡、視頻→影片、內存→記憶體);後者只轉字符會保留大陸用詞 - OpenCC 轉換覆蓋整篇文件(包括 front matter):會把
title/description/tags等中文值的字符也轉;英文字段/URL/代碼塊不動 - claudelog 也一起轉了:雖然不是"文章",但既然公開在站點,雙語可讀性更一致
- 不動
defaultContentLanguageInSubdir = false:保持簡體版 URL 不帶/zh/前綴(避免破壞現有 SEO/外鏈),只有繁體版帶/zh-tw/
下次建議
- Hugo 0.161 還有 3 個 PaperMod 模板的棄用警告(
LanguageDirection/LanguageCode/LanguageName),等 PaperMod 升級時自然解決 - 2 個差量(
20260805-qds/20260817-jtc)是歷史 alias 目錄只在 zh 出現,不影響正常瀏覽,可加忽略 - s2tw 自動轉換的術語可能在少數地方不準確(如博客自創詞、品牌名),需要人工抽查
- OpenCC 對 emoji/英文標點不轉換,只動中文字符,所以不會破壞 Markdown 語法
推送
本批未推送,等待用戶授權。