<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>博客 on OINK 文档主题</title>
		<link>https://oink.pgsty.com/zh/blog/</link>
		<description>Recent content in 博客 on OINK 文档主题</description>
		<generator>Hugo</generator>
		<language>zh-CN</language>
		
		
		
		
			<atom:link href="https://oink.pgsty.com/zh/blog/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>OINK 实施日记：从复制外壳到统一主题</title>
				<link>https://oink.pgsty.com/zh/blog/2026/oink-implementation-diary/</link>
				<pubDate>Sat, 08 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2026/oink-implementation-diary/</guid>
				<description>&lt;p&gt;OINK 始于一个令人不安的事实：多个生产文档站之所以看起来相互关联，是因为它们确实源于同一套实现；但公共实现却以复制文件的形式散落在各处。呈现效果足够一致，维护模型却并非如此。&lt;/p&gt;&#xA;&lt;p&gt;这篇日记记录项目如何从重复站点覆盖项走向一款直接演化的统一主题。它关注决策与证据，而不是逐条复述提交历史。&lt;/p&gt;&#xA;&lt;h2 id=&#34;locking-the-contract&#34;&gt;锁定产品契约&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#locking-the-contract&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;第一项真正有价值的工作是做减法。选择实现方式之前，我们先写清产品必须是什么：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;从 Docsy 直接演化而来的独立主题；&lt;/li&gt;&#xA;&lt;li&gt;唯一标准外壳，而不是可切换皮肤；&lt;/li&gt;&#xA;&lt;li&gt;Hugo Extended 是消费端唯一构建依赖；&lt;/li&gt;&#xA;&lt;li&gt;所有主题自带浏览器资源默认本地优先；&lt;/li&gt;&#xA;&lt;li&gt;多语言行为从 Hugo 推导，而不是从 PGSTY 域名推导；&lt;/li&gt;&#xA;&lt;li&gt;可复用组件进入主题，业务语义留在站点；&lt;/li&gt;&#xA;&lt;li&gt;保留 Docsy 历史、许可证与可追踪的上游关系。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这排除了一个看似诱人、实际代价高昂的捷径：增加 &lt;code&gt;params.oink.enabled&lt;/code&gt;&#xA;并保留旧外壳。模式开关会让每次布局调整、无障碍修复与测试都支持两套产品。直接演化则让目标设计成为唯一设计。&lt;/p&gt;&#xA;&lt;h2 id=&#34;replacing-the-shell&#34;&gt;替换页面外壳&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#replacing-the-shell&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;文档、博客与 API 参考布局围绕一组小型共享 partial 重新构建。新的外壳包括：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;全局导航与响应式次级导航；&lt;/li&gt;&#xA;&lt;li&gt;可调整宽度、可折叠的侧栏；&lt;/li&gt;&#xA;&lt;li&gt;本地搜索与快捷链接；&lt;/li&gt;&#xA;&lt;li&gt;语言与颜色模式控件；&lt;/li&gt;&#xA;&lt;li&gt;面包屑、目录（TOC）、页面元数据与反馈；&lt;/li&gt;&#xA;&lt;li&gt;一致的页脚与打印布局。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;真正困难的不是画出导航栏，而是在删除复制的 &lt;code&gt;baseof.html&lt;/code&gt;&#xA;时保留 Docsy 既有扩展点。范围明确的 hook 仍然存在；复制整个站点外壳不再是正常的定制路径。&lt;/p&gt;&#xA;&lt;h2 id=&#34;removing-the-consumer-toolchain&#34;&gt;移除消费端工具链&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#removing-the-consumer-toolchain&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;原有依赖链假设 Bootstrap 与 Font&#xA;Awesome 来自 npm，部分路径还会调用 PostCSS。OINK 把必需源码与编译产物移入主题，并让 SCSS 留在 Hugo 自身的 Asset&#xA;Pipeline 中。&lt;/p&gt;&#xA;&lt;p&gt;测试不只检查 &lt;code&gt;hugo&lt;/code&gt;&#xA;是否成功。fixture 中的陷阱会在消费端构建尝试运行 Node.js、npm、PostCSS 或 Autoprefixer，或模板调用&#xA;&lt;code&gt;resources.GetRemote&lt;/code&gt; 时立即失败。LTR 与 RTL 页面遵守同一约束。&lt;/p&gt;</description>
			</item>
			<item>
				<title>OINK 实现预览正式亮相</title>
				<link>https://oink.pgsty.com/zh/blog/2026/oink-announcement/</link>
				<pubDate>Sat, 08 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2026/oink-announcement/</guid>
				<description>&lt;p&gt;今天，我们发布 OINK 实现预览：它从 Docsy 直接演化而来，提供唯一标准产品外壳、仅依赖 Hugo 的消费端构建、本地优先浏览器依赖、通用多语言框架，以及一组从 PGSTY 文档站提炼出的可复用内容组件。&lt;/p&gt;&#xA;&lt;p&gt;这是实现与文档里程碑，不是已经公开的版本化发行。最终公开品牌、模块与软件包身份、首个版本，以及生产 Cloudflare&#xA;Pages 部署，仍是必须显式关闭的发布关卡。&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-oink-exists&#34;&gt;为什么需要 OINK？&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#why-oink-exists&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;多个成熟文档站分别复制了相同的 Docsy 布局、导航、搜索代码、SCSS、JavaScript 与短代码。一个公共修复必须在多个仓库重复实施；与此同时，每个站点都携带前端工具链与隐含网络依赖，让网络隔离构建变得异常复杂。&lt;/p&gt;&#xA;&lt;p&gt;OINK 将真正可复用的部分合并到主题中。产品矩阵、门户、价格页和其他业务专用行为仍留在各自站点；共享主题负责文档外壳、浏览器运行时、多语言路由、无障碍行为与内容组件契约。&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-changes&#34;&gt;有哪些变化？&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#what-changes&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;one-product-instead-of-a-mode&#34;&gt;产品本身，而不是一种模式&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#one-product-instead-of-a-mode&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;OINK 不是可选皮肤。项目没有 &lt;code&gt;oink.enabled&lt;/code&gt; 开关、&lt;code&gt;params.oink.*&lt;/code&gt;&#xA;命名空间，也没有“上游版与品牌版”并行的模板树。&lt;code&gt;theme/&lt;/code&gt; 中的实现就是产品。&lt;/p&gt;&#xA;&lt;p&gt;这项决策避免维护两套视觉系统与两套测试矩阵。Hugo 原生设置与兼容的 Docsy 参数继续保持原有含义。&lt;/p&gt;&#xA;&lt;h3 id=&#34;hugo-only-consumer-builds&#34;&gt;消费端仅依赖 Hugo 构建&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#hugo-only-consumer-builds&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;完整消费站点只需运行：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hugo --gc --minify&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Bootstrap、Font&#xA;Awesome、字体、搜索、图表、API 文档运行时与 OINK 组件都已随主题提交。Node.js、npm、PostCSS、Autoprefixer 与 CDN 下载不属于消费端要求。&lt;/p&gt;&#xA;&lt;p&gt;仓库维护者仍会使用 Node 工具运行测试和更新 vendor 资源；这套维护工具链有意置于公开站点构建契约之外。&lt;/p&gt;&#xA;&lt;h3 id=&#34;local-first-browser-behavior&#34;&gt;本地优先的浏览器行为&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#local-first-browser-behavior&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;默认 starter 会从生成后的站点提供页面外壳、字体、图标、搜索、Mermaid、KaTeX、Markmap、Swagger&#xA;UI、Redoc、Asciinema、ECharts 与 Infographic 依赖。可选运行时按页面选取，并且每页最多加载一次。&lt;/p&gt;</description>
			</item>
			<item>
				<title>0.16.0 发布报告与升级指南</title>
				<link>https://oink.pgsty.com/zh/blog/2026/0.16.0/</link>
				<pubDate>Wed, 29 Jul 2026 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2026/0.16.0/</guid>
				<description>&lt;!-- markdownlint-disable descriptive-link-text no-space-in-emphasis --&gt;&#xA;&lt;div class=&#34;td-card card border me-4&#34;&gt;&#xA;&lt;div class=&#34;card-header&#34;&gt;&#xA;      亮点&#xA;    &lt;/div&gt;&#xA;&lt;div class=&#34;card-body&#34;&gt;&#xA;    &lt;p class=&#34;card-text&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-cubes text-primary fa-lg&#34;&gt;&lt;/i&gt;&#xA;&lt;span&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#npm-registry&#34;&gt;一等 npm 支持&lt;/a&gt;&lt;/strong&gt;：从 Registry 安装 Docsy，以及&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#npm-deps&#34;&gt;更多变化&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-star text-info fa-lg&#34;&gt;&lt;/i&gt; &lt;span&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#favicons&#34;&gt;Favicon&lt;/a&gt;&lt;/strong&gt;：把图标放进&#xA;&lt;code&gt;static/&lt;/code&gt;，其余工作交给 Docsy&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-bolt text-warning fa-lg&#34;&gt;&lt;/i&gt;&#xA;&lt;span&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#shared-chrome&#34;&gt;共享页面框架&lt;/a&gt;&lt;/strong&gt;（实验性）：大幅加速大型站点链接检查的构建模式&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-robot text-info fa-lg&#34;&gt;&lt;/i&gt;&#xA;&lt;span&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#upgrading-with-ai&#34;&gt;面向智能体的升级指南&lt;/a&gt;&lt;/strong&gt;：可以直接交给 AI 助手&lt;/span&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/p&gt;&#xA;      &lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h2 id=&#34;release-summary&#34;&gt;发布摘要&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#release-summary&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;现代化打包&lt;/strong&gt;：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#theme-folder&#34;&gt;移动主题目录&lt;/a&gt;：每种安装方式只需修改一行路径；&lt;/li&gt;&#xA;&lt;li&gt;Hugo Module 现在&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#npm-deps&#34;&gt;通过 npm 获取 Bootstrap 与 Font Awesome&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;非 RTL 站点的 &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#postcss&#34;&gt;PostCSS 改为按需启用&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#npm-registry&#34;&gt;Docsy 发布到 npm Registry&lt;/a&gt;：新增 &lt;code&gt;@docsy/theme&lt;/code&gt; 软件包。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#hugo&#34;&gt;Hugo 最低版本提高到 0.160.1&lt;/a&gt;&lt;/strong&gt;：原为 0.146.0；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;新功能&lt;/strong&gt;：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;从 &lt;code&gt;static/&lt;/code&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#favicons&#34;&gt;自动发现 Favicon&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#shared-chrome&#34;&gt;共享页面框架构建模式&lt;/a&gt;（实验性）。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#other-notable-changes&#34;&gt;其他重要变更&lt;/a&gt;，以及&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#for-maintainers&#34;&gt;维护者相关变更&lt;/a&gt;：仓库软件包布局、构建与测试守卫。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ready-to-upgrade&#34;&gt;准备升级？&lt;a id=&#34;breaking-changes&#34;&gt;&lt;/a&gt;&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#ready-to-upgrade&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&amp;#x26a0;&amp;#xfe0f; 请遵守&lt;a href=&#34;https://oink.pgsty.com/zh/docs/update/#update-order&#34;&gt;步骤顺序&lt;/a&gt;，避免破坏构建；&lt;/li&gt;&#xA;&lt;li&gt;审阅 &lt;span class=&#34;badge text-bg-warning rounded-pill text-small&#34;&gt;BREAKING&lt;/span&gt; 变更：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#theme-folder&#34;&gt;移动主题目录&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#hugo&#34;&gt;Hugo 最低版本&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#favicons&#34;&gt;删除默认 Favicon&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt;&#xA;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#npm-deps&#34;&gt;通过 npm 获取 Bootstrap 与 Font Awesome&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;如果站点尚未使用 Hugo 0.164.0 干净构建，请阅读配套&#xA;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&amp;#43;/&#34;&gt;Hugo 0.158+ 升级指南&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;可以快速浏览：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-regular fa-square-check fa-lg text-success px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#npm-registry&#34;&gt;Docsy 发布到 npm Registry&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-regular fa-square-check fa-lg text-success px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#favicons&#34;&gt;Favicon 自动发现&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-regular fa-square-check fa-lg text-success px-1&#34;&gt;&lt;/i&gt; 实验性&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#shared-chrome&#34;&gt;共享页面框架构建模式&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-regular fa-wand-magic-sparkles fa-lg text-info px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#postcss&#34;&gt;非 RTL 站点按需启用 PostCSS&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#other-notable-changes&#34;&gt;其他重要变更&lt;/a&gt;与&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#for-maintainers&#34;&gt;维护者相关变更&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-rocket text-primary px-1&#34;&gt;&lt;/i&gt;&#xA;可以自行&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#upgrade&#34;&gt;升级到 0.16.0&lt;/a&gt;，或&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#upgrading-with-ai&#34;&gt;请 AI 智能体协助&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;theme-folder&#34;&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; / &lt;i class=&#34;fa-regular fa-wand-magic-sparkles fa-lg text-info px-1&#34;&gt;&lt;/i&gt; 移动主题目录&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#theme-folder&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Docsy 的标准主题树从仓库根目录移动到 &lt;code&gt;theme/&lt;/code&gt;，这是 0.16.0 最主要的结构变更。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hugo 0.158.0–0.164.x 升级指南</title>
				<link>https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&#43;/</link>
				<pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&#43;/</guid>
				<description>&lt;p&gt;本文是 &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/&#34;&gt;Docsy 0.16.0 发布文章&lt;/a&gt;的配套指南；后者说明了&#xA;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#hugo&#34;&gt;0.16.0 要求并验证过的 Hugo 版本&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;h2 id=&#34;upgrade-summary&#34;&gt;升级摘要&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#upgrade-summary&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;以下情况适合阅读本指南&lt;/strong&gt;：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.16.0/#upgrade&#34;&gt;升级到 Docsy 0.16.0&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;只升级 Hugo。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;审阅 &lt;span class=&#34;badge text-bg-warning rounded-pill text-small&#34;&gt;BREAKING&lt;/span&gt; 变更：&lt;a id=&#34;breaking-changes&#34;&gt;&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt;&#xA;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&amp;#43;/#node-tools&#34;&gt;由 Hugo 管理的 Node 工具要求 Node 22+&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&amp;#43;/#security&#34;&gt;HTML 内容与符号链接的安全规则发生变化&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;审阅 &lt;strong&gt;弃用项&lt;/strong&gt;：&lt;a id=&#34;deprecations&#34;&gt;&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&amp;#43;/#language-apis&#34;&gt;语言配置与模板 API&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&amp;#43;/#imaging&#34;&gt;图片处理配置与模板 API&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;可以快速浏览：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&amp;#43;/#amp-escaping&#34;&gt;Markdown 链接转义&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&amp;#43;/#image-url-churn&#34;&gt;图片 URL 变动&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&amp;#43;/#template-module-cleanup&#34;&gt;模板与 Module 清理&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&amp;#43;/#hugo-0-164-0&#34;&gt;更快的构建与更严格的模板&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&amp;#43;/#notable-changes&#34;&gt;重要变化&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-rocket text-primary px-1&#34;&gt;&lt;/i&gt;&#xA;准备好后，直接阅读&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.158.0&amp;#43;/#upgrade&#34;&gt;升级到 Hugo 0.164.0&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;language-apis&#34;&gt;语言 API 弃用项（0.158.0）&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#language-apis&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Hugo &lt;a href=&#34;https://github.com/gohugoio/hugo/releases/tag/v0.158.0&#34;&gt;0.158.0&lt;/a&gt;&#xA;重命名了若干语言配置项和模板方法。按照 Hugo 的弃用时间线，旧名称会先记录弃用通知，随后升级为警告，最终变为错误。&lt;/p&gt;</description>
			</item>
			<item>
				<title>0.15.0 发布报告与升级指南</title>
				<link>https://oink.pgsty.com/zh/blog/2026/0.15.0/</link>
				<pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2026/0.15.0/</guid>
				<description>&lt;!-- markdownlint-disable no-space-in-emphasis --&gt;&#xA;&lt;div class=&#34;td-card card border me-4&#34;&gt;&#xA;&lt;div class=&#34;card-header&#34;&gt;&#xA;      亮点&#xA;    &lt;/div&gt;&#xA;&lt;div class=&#34;card-body&#34;&gt;&#xA;    &lt;p class=&#34;card-text&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-robot text-info fa-lg&#34;&gt;&lt;/i&gt;&#xA;&lt;span&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#agent-support&#34;&gt;智能体支持&lt;/a&gt;&lt;/strong&gt;：&lt;code&gt;llms.txt&lt;/code&gt;、Markdown 页面输出，以及“查看 Markdown”页面元数据链接&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-diagram-project text-success fa-lg&#34;&gt;&lt;/i&gt;&#xA;&lt;span&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#doc-rooted-sites&#34;&gt;文档根站点&lt;/a&gt;&lt;/strong&gt;：改进把文档发布到站点根路径的支持&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-code-branch text-primary fa-lg&#34;&gt;&lt;/i&gt;&#xA;&lt;span&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#version-menu&#34;&gt;版本菜单&lt;/a&gt;&lt;/strong&gt;：更丰富的条目与更新后的导航栏渲染&lt;/span&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/p&gt;&#xA;      &lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h2 id=&#34;release-summary&#34;&gt;发布摘要&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#release-summary&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#agent-support&#34;&gt;智能体支持&lt;/a&gt;&lt;/strong&gt;（实验性）：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;生成 &lt;code&gt;llms.txt&lt;/code&gt;；&lt;/li&gt;&#xA;&lt;li&gt;为首页、分区和页面内容生成 Markdown 备用输出；&lt;/li&gt;&#xA;&lt;li&gt;页面存在 Markdown 备用版本时显示“查看 Markdown”页面元数据链接。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#doc-rooted-sites&#34;&gt;文档根站点&lt;/a&gt;&lt;/strong&gt;（实验性）：记录将 &lt;code&gt;docs&lt;/code&gt;&#xA;分区发布到站点根路径的模式，并提供对应样例变体；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#version-menu&#34;&gt;版本菜单条目&lt;/a&gt;&lt;/strong&gt;：支持标题、分隔线、逐条页面链接行为和基于 Kind 的样式；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;内容、短代码与国际化&lt;/strong&gt;：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#community-footer-links&#34;&gt;社区与 Footer 链接&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#card-shortcode&#34;&gt;&lt;code&gt;card&lt;/code&gt; 短代码渲染&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#internationalization&#34;&gt;国际化&lt;/a&gt;新增与更新。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ready-to-upgrade&#34;&gt;准备升级？&lt;a id=&#34;breaking-changes&#34;&gt;&lt;/a&gt;&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#ready-to-upgrade&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;审阅 &lt;span class=&#34;badge text-bg-warning rounded-pill text-small&#34;&gt;BREAKING&lt;/span&gt; 变更：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#community-footer-links&#34;&gt;社区与 Footer 链接&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#version-menu&#34;&gt;版本菜单条目&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#card-shortcode&#34;&gt;卡片短代码渲染&lt;/a&gt;（低风险）。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;可以快速浏览：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-regular fa-square-check fa-lg text-success px-1&#34;&gt;&lt;/i&gt; 新功能（寻找绿色对勾图标）；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-regular fa-wand-magic-sparkles fa-lg text-info px-1&#34;&gt;&lt;/i&gt; 清理与改进机会（寻找对应图标）；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#other-notable-changes&#34;&gt;其他重要变更&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-rocket text-primary px-1&#34;&gt;&lt;/i&gt;&#xA;准备好后，直接阅读&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.15.0/#upgrade&#34;&gt;升级到 0.15.0&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;agent-support&#34;&gt;&lt;i class=&#34;fa-regular fa-square-check fa-lg text-success px-1&#34;&gt;&lt;/i&gt; 智能体支持&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#agent-support&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;0.15.0 包含智能体支持的&lt;a href=&#34;https://github.com/google/docsy/issues/2614&#34;&gt;第一阶段&lt;/a&gt;实现，提供一组可选择启用的功能，帮助 AI 智能体与自动化工具发现并使用站点内容：&lt;/p&gt;</description>
			</item>
			<item>
				<title>0.14.0 发布报告与升级指南</title>
				<link>https://oink.pgsty.com/zh/blog/2026/0.14.0/</link>
				<pubDate>Tue, 10 Feb 2026 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2026/0.14.0/</guid>
				<description>&lt;div class=&#34;td-alert td-alert--md alert alert-info&#34; role=&#34;alert&#34;&gt;&lt;div class=&#34;td-alert-heading alert-heading&#34; role=&#34;heading&#34; aria-level=&#34;4&#34;&gt;0.14.1 至 0.14.3 补丁更新&lt;/div&gt;&#xA;  &lt;div class=&#34;td-alert-body&#34;&gt;&#xA;    &lt;p&gt;这些补丁版本的关键修复见 &lt;a href=&#34;https://oink.pgsty.com/zh/project/about/changelog/#v0.14.1&#34;&gt;0.14.1&lt;/a&gt;、&lt;a href=&#34;https://oink.pgsty.com/zh/project/about/changelog/#v0.14.2&#34;&gt;0.14.2&lt;/a&gt; 与&#xA;&lt;a href=&#34;https://oink.pgsty.com/zh/project/about/changelog/#v0.14.3&#34;&gt;0.14.3&lt;/a&gt;。0.14.2 的其他变化见&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#0.14.2&#34;&gt;补丁更新 0.14.2&lt;/a&gt;。如果现在升级，请按照本指南操作，并在文中提到 0.14.0 的地方使用 0.14.3。&lt;/p&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;style&gt;&#xA;  li &gt; div.alert-nb { margin: 0.5rem 0 !important;}&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;td-card card border me-4&#34;&gt;&#xA;&lt;div class=&#34;card-header&#34;&gt;&#xA;      亮点&#xA;    &lt;/div&gt;&#xA;&lt;div class=&#34;card-body&#34;&gt;&#xA;    &lt;p class=&#34;card-text&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-palette text-success fa-lg&#34;&gt;&lt;/i&gt;&#xA;&lt;span&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#styles-customization&#34;&gt;&lt;strong&gt;样式与定制&lt;/strong&gt;&lt;/a&gt;：改进导航栏，重新组织 SCSS 文件&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-book text-info fa-lg&#34;&gt;&lt;/i&gt; &lt;span&gt;&lt;strong&gt;内容与本地化&lt;/strong&gt;：新增 Markdown&#xA;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#alerts&#34;&gt;告警语法&lt;/a&gt;并改进&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#other-notable-changes&#34;&gt;国际化&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation text-warning fa-lg&#34;&gt;&lt;/i&gt;&#xA;&lt;span&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#hugo&#34;&gt;要求 Hugo 0.155.0&lt;/a&gt;&lt;/strong&gt;，以及 0.153+ 的破坏性与重要变化&lt;/span&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/p&gt;&#xA;      &lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h2 id=&#34;release-summary&#34;&gt;发布摘要&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#release-summary&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#styles-customization&#34;&gt;样式与定制&lt;/a&gt;&lt;/strong&gt;：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#navbar&#34;&gt;导航栏改进&lt;/a&gt;，包括可配置浅色/深色主题与可调整高度；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#heading-aliases&#34;&gt;标题别名与页内目标&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#improved-scss-soc&#34;&gt;重新组织内部 SCSS 文件&lt;/a&gt;。&#xA;&lt;div class=&#34;td-alert td-alert--md alert alert-nb&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;div class=&#34;td-alert-body&#34;&gt;&#xA;    &lt;p&gt;&amp;#x26a0;&amp;#xfe0f; 如果你&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#swagger-scss&#34;&gt;定制 &lt;strong&gt;Swagger UI&lt;/strong&gt;&lt;/a&gt;，这会影响你的项目！&lt;/p&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;内容、短代码与国际化&lt;/strong&gt;：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新增 Markdown &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#alerts&#34;&gt;告警语法&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#blocks-cover&#34;&gt;&lt;code&gt;blocks/cover&lt;/code&gt;&lt;/a&gt; 短代码变更；&lt;/li&gt;&#xA;&lt;li&gt;新增用于 Netlify 构建信息的&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#shortcodes&#34;&gt;短代码&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#other-notable-changes&#34;&gt;国际化&lt;/a&gt;更新。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;要求 &lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#hugo&#34;&gt;Hugo 0.155.0 或更高版本&lt;/a&gt;&lt;/strong&gt;；同时讨论破坏性变更与&#xA;&lt;a href=&#34;https://gohugo.io/quick-reference/glossary/#sites-matrix&#34;&gt;sites.matrix&lt;/a&gt; 等新功能；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#clarified-public-vs-internal-theme-features&#34;&gt;公开功能与内部功能&lt;/a&gt;&lt;/strong&gt;：新增定义，明确定制表面、私有/内部功能和支持边界。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ready-to-upgrade&#34;&gt;准备升级？&lt;a id=&#34;breaking-changes&#34;&gt;&lt;/a&gt;&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#ready-to-upgrade&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;审阅 &lt;span class=&#34;badge text-bg-warning rounded-pill text-small&#34;&gt;BREAKING&lt;/span&gt; 变更：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#styles-customization&#34;&gt;样式与定制&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#heading-aliases&#34;&gt;标题别名与页内目标&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#blocks-cover&#34;&gt;blocks/cover 短代码&lt;/a&gt;正文处理；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#hugo&#34;&gt;Hugo 0.155.0 要求与 0.153+ 破坏性变更&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt;（仅样式）&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#0.14.2&#34;&gt;Docsy 0.14.2 代码样式更新&lt;/a&gt;，适配浅色/深色模式。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;可以快速浏览：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-regular fa-square-check fa-lg text-success px-1&#34;&gt;&lt;/i&gt; 新功能（寻找绿色对勾图标）；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-regular fa-wand-magic-sparkles fa-lg text-info px-1&#34;&gt;&lt;/i&gt; 清理与改进机会（寻找对应图标）；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#other-notable-changes&#34;&gt;其他重要变更&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-rocket text-primary px-1&#34;&gt;&lt;/i&gt;&#xA;准备好后，直接阅读&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/#upgrade&#34;&gt;升级到 0.14.0&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;alerts&#34;&gt;&lt;i class=&#34;fa-regular fa-square-check fa-lg text-success px-1&#34;&gt;&lt;/i&gt; Markdown 告警语法&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#alerts&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Docsy 0.14.0 支持 Hugo 的 Markdown 告警语法：&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hugo 0.152.0–0.155.x 升级指南</title>
				<link>https://oink.pgsty.com/zh/blog/2026/hugo-0.152.0&#43;/</link>
				<pubDate>Mon, 09 Feb 2026 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2026/hugo-0.152.0&#43;/</guid>
				<description>&lt;p&gt;本文总结 Hugo 0.152.0 至 0.155.3 的破坏性变更与重要变化，是 Docsy&#xA;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/0.14.0/&#34;&gt;0.14.0&lt;/a&gt; 与 &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/&#34;&gt;0.13.0&lt;/a&gt; 发布和升级指南的配套文章。&lt;/p&gt;&#xA;&lt;h2 id=&#34;upgrade-summary&#34;&gt;升级摘要&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#upgrade-summary&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;本指南重点说明 Hugo 0.152.0–0.155.x 的破坏性变更，以及可能需要执行的操作。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;审阅 &lt;span class=&#34;badge text-bg-warning rounded-pill text-small&#34;&gt;BREAKING&lt;/span&gt; 变更：&lt;a id=&#34;breaking-changes&#34;&gt;&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.152.0&amp;#43;/#yaml-yes-no-etc&#34;&gt;YAML yes/no Token 变为字符串&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.152.0&amp;#43;/#build-order&#34;&gt;多维站点的构建顺序发生变化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;审阅 &lt;strong&gt;弃用项&lt;/strong&gt;（不具破坏性，但建议处理）：&lt;a id=&#34;deprecations&#34;&gt;&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mount 的 &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.152.0&amp;#43;/#lang-mount-deprecation&#34;&gt;&lt;code&gt;lang&lt;/code&gt; 选项已弃用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.152.0&amp;#43;/#use-files&#34;&gt;&lt;code&gt;includeFiles&lt;/code&gt;/&lt;code&gt;excludeFiles&lt;/code&gt; 已弃用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;可以快速浏览：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.152.0&amp;#43;/#known-issues&#34;&gt;已知问题与修复&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.152.0&amp;#43;/#notable-changes&#34;&gt;重要变化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-rocket text-primary px-1&#34;&gt;&lt;/i&gt;&#xA;准备好后，直接阅读&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2026/hugo-0.152.0&amp;#43;/#upgrade&#34;&gt;升级到 Hugo 0.155.x&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;yaml-yes-no-etc&#34;&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; YAML yes/no Token 变为字符串（0.152.0）&lt;a id=&#34;0.152.0&#34;&gt;&lt;/a&gt;&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#yaml-yes-no-etc&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/gohugoio/hugo/releases/tag/v0.152.0&#34;&gt;0.152.0&lt;/a&gt;（2025-10-21）升级到更现代的 YAML 库，导致配置文件和页面 Front&#xA;Matter 中某些 Token 的解释方式发生破坏性变化。&lt;/p&gt;</description>
			</item>
			<item>
				<title>0.13.0 发布报告与升级指南</title>
				<link>https://oink.pgsty.com/zh/blog/2025/0.13.0/</link>
				<pubDate>Mon, 24 Nov 2025 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2025/0.13.0/</guid>
				<description>&lt;div class=&#34;td-card card border me-4&#34;&gt;&#xA;&lt;div class=&#34;card-header&#34;&gt;&#xA;      亮点&#xA;    &lt;/div&gt;&#xA;&lt;div class=&#34;card-body&#34;&gt;&#xA;    &lt;p class=&#34;card-text&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-fire text-warning fa-lg&#34;&gt;&lt;/i&gt; &lt;span&gt;Docsy &lt;a href=&#34;https://github.com/google/docsy/releases/v0.13.0&#34;&gt;0.13.0&lt;/a&gt;&#xA;包含 2025 年&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/#active-toc-entry-tracking&#34;&gt;得票最高&lt;/a&gt;的&lt;a href=&#34;https://github.com/google/docsy/issues?q=is%3Aissue%20state%3Aclosed%20sort%3Areactions-%2B1-desc%20closed%3A2025-01-01..2025-12-31&#34;&gt;功能请求&lt;/a&gt;，以及更多改进。&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-check text-success fa-lg&#34;&gt;&lt;/i&gt;&#xA;&lt;span&gt;本版带来新功能，而且只有&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/#breaking-changes&#34;&gt;少量破坏性变更&lt;/a&gt;。&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-robot text-info fa-lg&#34;&gt;&lt;/i&gt; &lt;span&gt;阅读我们使用 AI&#xA;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/#upgrade&#34;&gt;升级 Docsy 项目&lt;/a&gt;的&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/#upgrading-and-ai&#34;&gt;实践经验&lt;/a&gt;。&lt;/span&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/p&gt;&#xA;      &lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;h2 id=&#34;release-summary&#34;&gt;发布摘要&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#release-summary&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Docsy &lt;a href=&#34;https://github.com/google/docsy/releases/v0.13.0&#34;&gt;0.13.0&lt;/a&gt; 包含以下重要功能与修复：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-compass text- px-1&#34;&gt;&lt;/i&gt;&#xA;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/#navigation-and-ux&#34;&gt;导航与用户体验&lt;/a&gt;改进，包括 2025 年 &lt;strong&gt;得票最高&lt;/strong&gt;&#xA;的&lt;a href=&#34;https://github.com/google/docsy/issues?q=is%3Aissue%20state%3Aclosed%20sort%3Areactions-%2B1-desc%20closed%3A2025-01-01..2025-12-31&#34;&gt;功能请求&lt;/a&gt;：&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/#active-toc-entry-tracking&#34;&gt;目录活动项跟踪&lt;/a&gt;（&lt;a href=&#34;https://github.com/google/docsy/issues/349&#34;&gt;#349&lt;/a&gt;、&lt;a href=&#34;https://github.com/google/docsy/issues/2289&#34;&gt;#2289&lt;/a&gt;）；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-code text- px-1&#34;&gt;&lt;/i&gt;&#xA;重写&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/#alert-shortcode&#34;&gt;告警短代码&lt;/a&gt;，更好地支持 Markdown；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-universal-access text- px-1&#34;&gt;&lt;/i&gt;&#xA;改进&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/#accessibility&#34;&gt;无障碍能力&lt;/a&gt;，增强颜色对比度和深色模式支持。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ready-to-upgrade&#34;&gt;准备升级？&lt;a id=&#34;breaking-changes&#34;&gt;&lt;/a&gt;&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#ready-to-upgrade&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;审阅 &lt;span class=&#34;badge text-bg-warning rounded-pill text-small&#34;&gt;BREAKING&lt;/span&gt; 变更：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/#alert-shortcode&#34;&gt;告警短代码&lt;/a&gt;正文处理方式变化；&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-lg text-warning px-1&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/#language-menu-visibility&#34;&gt;语言菜单&lt;/a&gt;可见性变化。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;可以快速浏览：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-regular fa-square-check fa-lg text-success px-1&#34;&gt;&lt;/i&gt; 新功能；&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/#other-notable-changes&#34;&gt;其他重要变更&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;i class=&#34;fa-solid fa-rocket text-primary px-1&#34;&gt;&lt;/i&gt;&#xA;准备好后，直接阅读&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.13.0/#upgrading-and-ai&#34;&gt;升级到 0.13.0&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;navigation-and-ux&#34;&gt;&lt;i class=&#34;fa-solid fa-compass text- px-1&#34;&gt;&lt;/i&gt; 导航与用户体验改进&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#navigation-and-ux&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;active-toc-entry-tracking&#34;&gt;&lt;i class=&#34;fa-regular fa-square-check fa-lg text-success px-1&#34;&gt;&lt;/i&gt; 目录活动项跟踪&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#active-toc-entry-tracking&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Docsy 0.13.0 引入 &lt;em&gt;目录（TOC）活动项跟踪&lt;/em&gt;，这是 2025 年 &lt;strong&gt;得票最高&lt;/strong&gt;&#xA;的&lt;a href=&#34;https://github.com/google/docsy/issues?q=is%3Aissue%20state%3Aclosed%20sort%3Areactions-%2B1-desc%20closed%3A2025-01-01..2025-12-31&#34;&gt;功能请求&lt;/a&gt;。当读者滚动页面时，当前可见分区对应的目录项会高亮。该功能通过 Bootstrap&#xA;&lt;a href=&#34;https://getbootstrap.com/docs/5.3/components/scrollspy/&#34;&gt;ScrollSpy&lt;/a&gt;&#xA;的&lt;a href=&#34;https://oink.pgsty.com/zh/project/implementation/scrollspy-patch/&#34;&gt;补丁版本&lt;/a&gt;实现。新增的默认目录标签“本页内容”与“返回页首”可以本地化。详情参阅&lt;a href=&#34;https://oink.pgsty.com/zh/docs/content/navigation/#toc-entry-tracking&#34;&gt;使用&#xA;ScrollSpy 跟踪目录活动项&lt;/a&gt;。&lt;/p&gt;</description>
			</item>
			<item>
				<title>从 Docsy 0.11.0 升级到 0.12.0</title>
				<link>https://oink.pgsty.com/zh/blog/2025/0.12.0/</link>
				<pubDate>Tue, 11 Nov 2025 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2025/0.12.0/</guid>
				<description>&lt;p&gt;我们没有为 0.12.0 发布版本公告，因此借此机会完整介绍从 &lt;a href=&#34;https://oink.pgsty.com/zh/project/about/changelog/#v0.11.0&#34;&gt;0.11.0&lt;/a&gt; 升级到&#xA;&lt;a href=&#34;https://oink.pgsty.com/zh/project/about/changelog/#v0.12.0&#34;&gt;0.12.0&lt;/a&gt; 的过程。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;摘要&lt;/strong&gt;：Docsy &lt;a href=&#34;https://oink.pgsty.com/zh/project/about/changelog/#v0.12.0&#34;&gt;0.12.0&lt;/a&gt;&#xA;的主要破坏性变更来自 Hugo 的&lt;a href=&#34;https://gohugo.io/templates/new-templatesystem-overview/&#34;&gt;新模板系统&lt;/a&gt;，它改变了 &lt;code&gt;layouts&lt;/code&gt;&#xA;子目录和文件名。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;本文将依次完成以下升级：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.12.0/#update-docsy&#34;&gt;Docsy&lt;/a&gt;&lt;/strong&gt;：&lt;a href=&#34;https://oink.pgsty.com/zh/project/about/changelog/#v0.11.0&#34;&gt;0.11.0&lt;/a&gt; → &lt;a href=&#34;https://oink.pgsty.com/zh/project/about/changelog/#v0.12.0&#34;&gt;0.12.0&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.12.0/#update-hugo&#34;&gt;Hugo&lt;/a&gt;&lt;/strong&gt;：0.136.2 → 0.147.5&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.12.0/#update-nodejs&#34;&gt;Node&lt;/a&gt;&lt;/strong&gt;：LTS 20 → LTS 22&lt;sup id=&#34;fnref1:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-alert td-alert--md alert alert-note&#34; role=&#34;alert&#34;&gt;&lt;div class=&#34;td-alert-heading alert-heading&#34; role=&#34;heading&#34; aria-level=&#34;4&#34;&gt;说明&lt;/div&gt;&#xA;  &lt;div class=&#34;td-alert-body&#34;&gt;&#xA;    &lt;p&gt;本文覆盖最常见的升级步骤。项目定制项可能还需要额外调整。建议在 &lt;strong&gt;独立分支&lt;/strong&gt;&#xA;中完成这些变更，并在部署到生产环境前进行 &lt;strong&gt;全面测试&lt;/strong&gt;。&lt;/p&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;procedure-overview&#34;&gt;流程概览&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#procedure-overview&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.12.0/#update-docsy-hugo-and-more&#34;&gt;更新 Docsy 与 Hugo 版本&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.12.0/#move-custom-layout-files-and-folders&#34;&gt;移动自定义布局文件与目录&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.12.0/#check-for-additional-required-changes&#34;&gt;检查其他必要变更&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2025/0.12.0/#test-your-site&#34;&gt;测试站点&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;update-docsy-hugo-and-more&#34;&gt;更新 Docsy、Hugo 及其他依赖&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#update-docsy-hugo-and-more&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;update-nodejs&#34;&gt;1. 更新 Node.js&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#update-nodejs&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Docsy 正式支持当前活跃的 Node.js LTS 版本。在 0.12.0 发布时，该版本是 Node.js&#xA;22。建议使用 &lt;a href=&#34;https://github.com/nvm-sh/nvm&#34;&gt;nvm&lt;/a&gt; 更新：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvm install --lts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;该命令会安装最新 LTS，并在当前 Shell 会话中选中它（适用于 Linux 与 macOS）。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Docsy 2024 年回顾：采用与增强</title>
				<link>https://oink.pgsty.com/zh/blog/2024/year-in-review/</link>
				<pubDate>Thu, 12 Dec 2024 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2024/year-in-review/</guid>
				<description>&lt;p&gt;回顾 2024 年，我们很高兴看到项目稳步实现 &lt;a href=&#34;https://oink.pgsty.com/zh/blog/2023/priorities-for-2024/&#34;&gt;2024&#xA;年工作重点&lt;/a&gt;中提出的目标。今年，我们专注于增强稳定性、改进国际化，并交付深色模式和持续集成（CI）测试等期待已久的功能。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;i class=&#34;fa-solid fa-chart-line&#34;&gt;&lt;/i&gt;&#xA;2024 年，Docsy 的使用量从 1,400 个项目增长到 2,200 个，&lt;strong&gt;增幅达到 57%&lt;/strong&gt;！&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;下面一起回顾 2024 年的开发亮点，也展望一下后续计划。&lt;/p&gt;&#xA;&lt;h2 id=&#34;release-highlights&#34;&gt;版本亮点&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#release-highlights&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;今年我们发布了三个版本。每个版本都以稳定性为核心，同时至少引入一项重要功能增强：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2024/0.9.0/&#34;&gt;0.9.0&lt;/a&gt;&lt;/strong&gt; 增加了几项 &lt;em&gt;期待已久&lt;/em&gt; 的能力：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;通过 GitHub Actions 运行&#xA;&lt;strong&gt;CI 测试&lt;/strong&gt;，保障 Linux 与 Windows 上的质量和可靠性；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Footer 定制&lt;/strong&gt;——解决 Docsy&#xA;&lt;a href=&#34;https://github.com/google/docsy/issues/2&#34;&gt;存在时间最长的 Issue（#2）&lt;/a&gt;！——同时改进仓库链接、无障碍能力与外观风格。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2024/0.10.0/&#34;&gt;0.10.0&lt;/a&gt;&lt;/strong&gt;：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;升级到 Bootstrap 5.3，启用颜色主题和 &lt;strong&gt;深色模式&lt;/strong&gt;，标志着 2021 年启动的&#xA;&lt;a href=&#34;https://github.com/google/docsy/issues/470&#34;&gt;Bootstrap 5 迁移&lt;/a&gt;正式完成；同时调整短代码与样式，以兼容深色模式；&lt;/li&gt;&#xA;&lt;li&gt;处理核心 Hugo 升级到 0.123.0 带来的破坏性变更。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://github.com/google/docsy/releases/tag/v0.11.0&#34;&gt;0.11.0&lt;/a&gt;&lt;/strong&gt;：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;利用 Bootstrap 的 RTL 能力重新引入 &lt;strong&gt;从右向左（RTL）语言支持&lt;/strong&gt;，增强国际化。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;enhancements&#34;&gt;主要功能增强&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#enhancements&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;除了有助于提升 Docsy 稳定性的关键开发功能 CI 测试，2024 年还引入了以下主要用户功能。&lt;/p&gt;&#xA;&lt;h3 id=&#34;dark-mode-support&#34;&gt;深色模式支持&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#dark-mode-support&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2024/0.10.0/#color-themes-and-dark-mode-support&#34;&gt;深色模式&lt;/a&gt;在 v0.10.0 亮相之前，是 Docsy&#xA;&lt;strong&gt;得票最高的功能请求&lt;/strong&gt;。该功能以 Bootstrap&#xA;5.3 颜色主题为基础，并内置浅色/深色模式菜单选择器，便于项目启用。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Docsy 0.10.0 发布报告</title>
				<link>https://oink.pgsty.com/zh/blog/2024/0.10.0/</link>
				<pubDate>Wed, 01 May 2024 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2024/0.10.0/</guid>
				<description>&lt;p&gt;Docsy &lt;a href=&#34;https://github.com/google/docsy/releases/tag/v0.10.0&#34;&gt;0.10.0&lt;/a&gt; 最大的新闻，是颜色主题与深色模式！&lt;/p&gt;&#xA;&lt;h2 id=&#34;hugo-breaking-changes-and-deprecation-notices&#34;&gt;Hugo：破坏性变更与弃用通知&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#hugo-breaking-changes-and-deprecation-notices&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;这个版本把 Docsy 的 Hugo 依赖从 0.122.0 升级到 &lt;strong&gt;0.125.4&lt;/strong&gt;。需要特别注意：Hugo&#xA;&lt;a href=&#34;https://github.com/gohugoio/hugo/releases/tag/v0.123.0&#34;&gt;0.123.0&lt;/a&gt; 是一次重大升级，包含若干&#xA;&lt;strong&gt;破坏性变更&lt;/strong&gt;。升级到本版 Docsy 前，请审阅 Hugo 自 0.122.0 以来的弃用通知与破坏性变化。&lt;/p&gt;&#xA;&lt;div class=&#34;td-alert td-alert--md alert alert-important&#34; role=&#34;alert&#34;&gt;&lt;div class=&#34;td-alert-heading alert-heading&#34; role=&#34;heading&#34; aria-level=&#34;4&#34;&gt;提醒&lt;/div&gt;&#xA;  &lt;div class=&#34;td-alert-body&#34;&gt;&#xA;    &lt;p&gt;Docsy 及其对等软件包的正式支持范围见&lt;a href=&#34;https://oink.pgsty.com/zh/project/about/changelog/#official-support&#34;&gt;正式支持边界&lt;/a&gt;。&lt;/p&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;本次发布的许多更新用于处理 Hugo 弃用通知。完整清单可在 &lt;a href=&#34;https://github.com/google/docsy/releases/tag/v0.10.0&#34;&gt;0.10.0&lt;/a&gt;&#xA;版本变更中搜索标题含有“deprecat”的条目。&lt;/p&gt;&#xA;&lt;h2 id=&#34;color-themes-and-dark-mode-support&#34;&gt;颜色主题与深色模式支持&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#color-themes-and-dark-mode-support&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;本版最主要的功能，是通过&lt;a href=&#34;https://github.com/google/docsy/issues/1528&#34;&gt;升级到 Bootstrap&#xA;5.3（#1528）&lt;/a&gt;从 5.2 迁移到 5.3。这个 Bootstrap 次要版本引入了&lt;a href=&#34;https://getbootstrap.com/docs/5.3/customize/color-modes/&#34;&gt;颜色模式&lt;/a&gt;，也称颜色主题。&lt;/p&gt;&#xA;&lt;p&gt;作为升级验证，Docsy 新增了&lt;a href=&#34;https://getbootstrap.com/docs/5.3/customize/color-modes/#dark-mode&#34;&gt;深色模式&lt;/a&gt;支持；在本版发布前，这是 Docsy 得票&#xA;&lt;strong&gt;最高&lt;/strong&gt; 的功能请求（&lt;a href=&#34;https://github.com/google/docsy/issues/331&#34;&gt;#331&lt;/a&gt;）。&lt;/p&gt;&#xA;&lt;p&gt;如何为项目启用 &lt;strong&gt;浅色/深色模式下拉菜单&lt;/strong&gt;，请参阅&lt;a href=&#34;https://oink.pgsty.com/zh/docs/content/lookandfeel/#lightdark-mode-menu&#34;&gt;浅色/深色模式菜单&lt;/a&gt;。Docsy&#xA;&lt;a href=&#34;https://oink.pgsty.com/zh/docs/&#34;&gt;用户指南&lt;/a&gt;已经启用该菜单；如果你正在在线阅读本文，不妨切换到深色模式试试看。&lt;/p&gt;&#xA;&lt;div class=&#34;td-alert td-alert--md alert alert-note&#34; role=&#34;alert&#34;&gt;&lt;div class=&#34;td-alert-heading alert-heading&#34; role=&#34;heading&#34; aria-level=&#34;4&#34;&gt;重要样式变更&lt;/div&gt;&#xA;  &lt;div class=&#34;td-alert-body&#34;&gt;&#xA;    &lt;p&gt;为兼容浅色和深色模式，以下短代码与页面元素的样式已经调整。&lt;/p&gt;&#xA;&lt;p&gt;如果曾定制这些短代码和元素相关的 SCSS，就需要 &lt;strong&gt;重新检查项目样式&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/docs/content/shortcodes/#alert&#34;&gt;&lt;code&gt;alert&lt;/code&gt;&lt;/a&gt;（&lt;a href=&#34;https://github.com/google/docsy/pull/1908&#34;&gt;#1908&lt;/a&gt;）&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/docs/content/shortcodes/#shortcode-card-programming-code&#34;&gt;&lt;code&gt;card&lt;/code&gt;&lt;/a&gt;（&lt;a href=&#34;https://github.com/google/docsy/pull/1922&#34;&gt;#1922&lt;/a&gt;）&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/docs/content/shortcodes/#pageinfo&#34;&gt;&lt;code&gt;pageinfo&lt;/code&gt;&lt;/a&gt;（&lt;a href=&#34;https://github.com/google/docsy/pull/1915&#34;&gt;#1915&lt;/a&gt;）&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/docs/content/shortcodes/#tabbed-panes&#34;&gt;标签页&lt;/a&gt;短代码（&lt;a href=&#34;https://github.com/google/docsy/pull/1920&#34;&gt;#1920&lt;/a&gt;）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/google/docsy/pull/1896&#34;&gt;搜索框样式&lt;/a&gt;与&lt;a href=&#34;https://github.com/google/docsy/pull/1908&#34;&gt;文档页左侧导航&lt;/a&gt;也已调整。&lt;/p&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;release-details&#34;&gt;发布详情&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#release-details&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;本版完整变更清单——包括 Font Awesome、Mermaid、Algolia 与 KaTeX 更新——请查看&#xA;&lt;a href=&#34;https://github.com/google/docsy/releases/tag/v0.10.0&#34;&gt;0.10.0&lt;/a&gt; 发布条目和&#xA;&lt;a href=&#34;https://github.com/google/docsy/issues/1759&#34;&gt;0.10.0 发布准备（#1759）&lt;/a&gt;。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Docsy 0.9.0 发布报告</title>
				<link>https://oink.pgsty.com/zh/blog/2024/0.9.0/</link>
				<pubDate>Fri, 09 Feb 2024 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2024/0.9.0/</guid>
				<description>&lt;p&gt;以 Docsy 的发布规模衡量，Docsy &lt;a href=&#34;https://github.com/google/docsy/releases/tag/v0.9.0&#34;&gt;0.9.0&lt;/a&gt;&#xA;是一次相当可观&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;的更新（&lt;a href=&#34;https://github.com/google/docsy/compare/v0.8.0...v0.9.0&#34;&gt;包含 65 个以上 PR&lt;/a&gt;），其中有若干值得特别说明的破坏性和重要变更，主要涉及：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2024/0.9.0/#footer&#34;&gt;Footer 改进&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2024/0.9.0/#page-meta&#34;&gt;仓库链接及其他页面信息&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2024/0.9.0/#look-and-feel&#34;&gt;外观与风格&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2024/0.9.0/#ci&#34;&gt;持续集成测试&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;感谢所有&lt;a href=&#34;https://github.com/google/docsy/releases/tag/v0.9.0&#34;&gt;贡献者&lt;/a&gt;！&lt;/p&gt;&#xA;&lt;h2 id=&#34;footer&#34;&gt;Footer 改进&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#footer&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;本版全部 Footer 改进与修复见&#xA;&lt;a href=&#34;https://github.com/google/docsy/pull/1818&#34;&gt;#1818&lt;/a&gt;。本节选取其中几项介绍。为了让定制更加容易，我们还为下一个&lt;a href=&#34;https://github.com/google/docsy/issues/1812&#34;&gt;主要版本&lt;/a&gt;规划了更多 Footer 改进（&lt;a href=&#34;https://github.com/google/docsy/issues/1852&#34;&gt;#1852&lt;/a&gt;）。&lt;/p&gt;&#xA;&lt;h3 id=&#34;footer-layout&#34;&gt;Footer 布局变更&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#footer-layout&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;为简化定制，Footer 布局被拆分为左、右、中三个部分（&lt;a href=&#34;https://github.com/google/docsy/pull/1500&#34;&gt;#1500&lt;/a&gt;），其中版权又是中间部分的子组件（&lt;a href=&#34;https://github.com/google/docsy/pull/1817&#34;&gt;#1817&lt;/a&gt;）。每一部分都有独立 class，例如&#xA;&lt;code&gt;td-footer__left&lt;/code&gt;，便于定制样式。请注意，&lt;code&gt;td-footer__copyright-etc&lt;/code&gt; 已重命名为&#xA;&lt;code&gt;td-footer__center&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;h3 id=&#34;footer-copyright&#34;&gt;Footer 版权年份范围及其他改进&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#footer-copyright&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;太好了！我们终于关闭了 &lt;a href=&#34;https://github.com/google/docsy/issues/2&#34;&gt;Issue #2&lt;/a&gt;！&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;本版解决了 Docsy &lt;strong&gt;存在时间最长、也是项目创建的第一个 Issue&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/google/docsy/issues/2&#34;&gt;Footer 应支持更灵活的版权声明（#2）&lt;/a&gt;，由 &lt;a href=&#34;https://github.com/sarahmaddox&#34;&gt;@sarahmaddox&lt;/a&gt; 提出。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Footer 版权现在支持年份范围，并可以回退到站点版权配置：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hugo 配置 &lt;code&gt;params.copyright&lt;/code&gt; 过去只能是字符串，现在也可以是包含&#xA;&lt;code&gt;authors&lt;/code&gt;、&lt;code&gt;from_year&lt;/code&gt;、&lt;code&gt;to_year&lt;/code&gt; 等可选字段的 Map。&lt;code&gt;to_year&lt;/code&gt;&#xA;未设置时，默认为站点构建年份；&lt;code&gt;authors&lt;/code&gt; 默认为“&amp;lt;Site.Title&amp;gt;&#xA;Authors”，并按 Markdown 渲染；&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;params.copyright&lt;/code&gt; 未设置时，会使用&lt;a href=&#34;https://gohugo.io/methods/site/copyright/&#34;&gt;站点 &lt;code&gt;copyright&lt;/code&gt;&lt;/a&gt;&#xA;配置，并将其按 Markdown 原样渲染，不会附加日期。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;footer-streamlined&#34;&gt;精简 Footer&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#footer-streamlined&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;About 页面链接默认隐藏。如需启用，请在项目配置中把&#xA;&lt;code&gt;.params.ui.footer_about_enable&lt;/code&gt; 设为 true。&lt;code&gt;.params.ui.footer_about_disable&lt;/code&gt;&#xA;已弃用；&lt;/p&gt;</description>
			</item>
			<item>
				<title>Docsy 2024 年工作重点</title>
				<link>https://oink.pgsty.com/zh/blog/2023/priorities-for-2024/</link>
				<pubDate>Tue, 28 Nov 2023 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2023/priorities-for-2024/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;摘要&lt;/strong&gt;：已有 1,400 个项目使用 Docsy！2024 年面向使用方项目的首要任务，是提升 Docsy 的稳定性、易用性、可定制性与整体一致性，同时整合现有功能。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;docsy-is-a-popular-theme&#34;&gt;Docsy 是广受欢迎的主题&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#docsy-is-a-popular-theme&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Hugo 与 Docsy 的组合强大而高效，我也曾在&lt;a href=&#34;https://www.cncf.io/blog/2023/01/19/fast-and-effective-tools-for-cncf-and-open-source-project-websites/&#34;&gt;其他文章&lt;/a&gt;中介绍过。因而，看到 Docsy 已被&#xA;&lt;a href=&#34;https://github.com/google/docsy/network/dependents&#34;&gt;1,400 个项目使用&lt;/a&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;，或许并不令人意外。Docsy 为什么受欢迎？我无法给出确切答案，但我之所以使用并推荐它，是因为它具备发布成熟技术文档站所需的核心能力：版本管理、多语言、自动生成站点导航等。它上手迅速，让项目可以把精力放在内容交付上，而不是从头编写站点模板。&lt;/p&gt;&#xA;&lt;h2 id=&#34;user-project-focused-and-long-term-vision&#34;&gt;面向使用方项目与长期愿景&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#user-project-focused-and-long-term-vision&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2022/hello/#introducing-the-psc&#34;&gt;指导委员会&lt;/a&gt;成员（包括我本人）正在积极支持 CNCF 和 Google 内部多个依赖 Docsy 的项目。作为 Docsy 的使用者与贡献者，我们都与它的长期健康发展休戚相关。我们设想的工作重点如下：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;通过缺陷修复和必要升级，保障 Docsy&#xA;&lt;strong&gt;核心功能的稳定性&lt;/strong&gt;——例如从已经停止维护的 Bootstrap 4&#xA;&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2023/bootstrap-5-migration/&#34;&gt;迁移到版本 5&lt;/a&gt;；&lt;/li&gt;&#xA;&lt;li&gt;减少 &lt;strong&gt;技术债务&lt;/strong&gt;；&lt;/li&gt;&#xA;&lt;li&gt;提升&#xA;&lt;strong&gt;易用性、可定制性与可维护性&lt;/strong&gt;，尤其要更清晰地划分并记录“&lt;strong&gt;API 表面&lt;/strong&gt;”，也就是配置与定制边界；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;整合功能&lt;/strong&gt;，下文将进一步解释。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Google 在五年多前将 Docsy 开源。得益于社区贡献，它的稳定性和功能集合不断增强；与此同时，Docsy 也积累了相当多的技术债务，而且在我看来已经出现轻微的软件膨胀与功能蔓延。因此，除了持续投入长期稳定性与可维护性，我们还需要&#xA;&lt;strong&gt;重新确认 Docsy 的核心功能，并降低其他功能的优先级&lt;/strong&gt;&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;，以免遭遇与&#xA;&lt;code&gt;cross-env&lt;/code&gt; 等项目&lt;a href=&#34;https://github.com/kentcdodds/cross-env/issues/257&#34;&gt;类似的处境&lt;/a&gt;。可以把这理解为给 Docsy 做一次“功能瘦身”。&lt;/p&gt;&#xA;&lt;p&gt;在推进 2024 年目标之前，我们计划先搭建&#xA;&lt;strong&gt;测试基础设施&lt;/strong&gt;，并逐步扩充测试套件，以确保 Docsy 在演进过程中保持完整可靠。&lt;/p&gt;&#xA;&lt;h2 id=&#34;conclusion&#34;&gt;结语&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#conclusion&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;这对 2024 年乃至更长时间而言是一项艰巨任务，但我相信稳扎稳打终能取胜。&lt;/p&gt;&#xA;&lt;p&gt;我们期待听到 Docsy 社区的声音！请&lt;a href=&#34;https://github.com/google/docsy/discussions&#34;&gt;分享你的看法&lt;/a&gt;，告诉我们应如何把握重点、改进 Docsy。可以查看按&lt;a href=&#34;https://github.com/google/docsy/milestones&#34;&gt;季度里程碑&lt;/a&gt;整理的 Issue，粗略了解后续版本的目标。请为你关心的议题投票或留言；我们会在既定优先级范围内尽力回应并调整发布目标。更进一步，也欢迎直接参与当季任务。新年开始后，我们尤其希望得到测试与功能整合方面的帮助。&lt;/p&gt;</description>
			</item>
			<item>
				<title>升级到 Docsy 0.7 与 Bootstrap 5</title>
				<link>https://oink.pgsty.com/zh/blog/2023/0.7.x/</link>
				<pubDate>Thu, 03 Aug 2023 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2023/0.7.x/</guid>
				<description>&lt;p&gt;去年六月，Docsy 发布&#xA;&lt;a href=&#34;https://github.com/google/docsy/releases/tag/v0.7.0&#34;&gt;0.7.0&lt;/a&gt;，迎来一项重要里程碑。这次重大升级源自&lt;a href=&#34;https://github.com/google/docsy/issues/470&#34;&gt;历时六个月的细致工作（#470）&lt;/a&gt;，核心任务是迁移到 Bootstrap&#xA;5.2。关于这段历程的亮点与缘由，请参阅&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2023/bootstrap-5-migration/&#34;&gt;迁移到 Bootstrap 5.2&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;本文基于我升级 Docsy 0.7 的亲身经验，重点围绕 Bootstrap，帮助读者完成 Docsy&#xA;0.7 与 Bootstrap&#xA;5 升级。文章先为准备升级的 Docsy 项目提供通用建议。每个项目的迁移经历都不相同，但希望本文以及其中两个案例能让你的升级过程更轻松、更高效。&lt;/p&gt;&#xA;&lt;p&gt;既然读到这里，你大概已经准备升级自己的 Docsy 项目——那就开始吧！&lt;/p&gt;&#xA;&lt;h2 id=&#34;upgrading-your-project&#34;&gt;升级项目&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#upgrading-your-project&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;正如&lt;a href=&#34;https://oink.pgsty.com/zh/blog/2023/bootstrap-5-migration/#migrating-docsy-based-projects&#34;&gt;上一篇文章&lt;/a&gt;所述，每个项目使用的 Bootstrap 与 Docsy 功能组合都不相同，因此&#xA;&lt;strong&gt;你的升级之路很可能独一无二&lt;/strong&gt;。本节给出一些通用建议。&lt;/p&gt;&#xA;&lt;h3 id=&#34;upgrade-docsy&#34;&gt;升级 Docsy&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#upgrade-docsy&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;如果还没有这样做，请先把项目完整升级到 Docsy&#xA;0.6。每次 Docsy 发布都可能带来一组独立的升级挑战；实际规模与工作量取决于项目使用的功能，以及上一次升级距今有多久。先解决 0.7 之前的所有问题，才能专注于 Bootstrap&#xA;5。完成后，再升级到最新的 Docsy 0.7.x。&lt;/p&gt;&#xA;&lt;h3 id=&#34;address-bootstrap-changes&#34;&gt;处理 Bootstrap 变更&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#address-bootstrap-changes&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;建议先通读 Bootstrap&#xA;5.2 的&lt;a href=&#34;https://getbootstrap.com/docs/5.2/migration/&#34;&gt;迁移页面&lt;/a&gt;，了解相较 Bootstrap&#xA;4 的变化范围。找出项目实际使用功能中的破坏性变更，再逐项解决。下面列举其中几类，最后还会说明如何处理其余问题。&lt;/p&gt;&#xA;&lt;p&gt;有些 Bootstrap 变更会明显破坏站点布局或功能，例如 &lt;code&gt;ml-1&lt;/code&gt;、&lt;code&gt;pr-2&lt;/code&gt;&#xA;等&lt;a href=&#34;https://getbootstrap.com/docs/5.2/migration/#utilities&#34;&gt;工具类重命名&lt;/a&gt;。可以在项目自定义布局或文档页的内联 HTML 中使用正则表达式批量搜索替换。我曾使用以下表达式：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;外边距与内边距：&lt;code&gt;\b([mp])[lr](-([0-5]|auto))\b&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;左/右相关类：&lt;code&gt;\b((float|border|rounded|text)-)(left|right)\b&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;如果项目使用下拉菜单、Popover 或 Tooltip 等 Bootstrap&#xA;&lt;a href=&#34;https://getbootstrap.com/docs/5.2/migration/#javascript&#34;&gt;JavaScript 插件&lt;/a&gt;，那么在调整数据属性名称前，这些功能都会停止工作。新属性统一使用&#xA;&lt;code&gt;data-bs&lt;/code&gt; 前缀进行命名空间隔离，例如应使用 &lt;code&gt;data-bs-toggle&lt;/code&gt;，而不是&#xA;&lt;code&gt;data-toggle&lt;/code&gt;。&lt;/p&gt;</description>
			</item>
			<item>
				<title>迁移到 Bootstrap 5.2</title>
				<link>https://oink.pgsty.com/zh/blog/2023/bootstrap-5-migration/</link>
				<pubDate>Mon, 05 Jun 2023 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2023/bootstrap-5-migration/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://docsy.dev&#34;&gt;Docsy&lt;/a&gt;&#xA;以及使用 Docsy 的项目网站（&lt;a href=&#34;https://www.cncf.io/blog/2023/01/19/fast-and-effective-tools-for-cncf-and-open-source-project-websites/&#34;&gt;包括 CNCF 项目&lt;/a&gt;）从一开始便一直愉快地采用&#xA;&lt;a href=&#34;https://getbootstrap.com&#34;&gt;Bootstrap CSS 框架&lt;/a&gt;。今年一月，Docsy 过去几年使用的 Bootstrap&#xA;4&#xA;&lt;a href=&#34;https://endoflife.date/bootstrap&#34;&gt;终止维护&lt;/a&gt;。Docsy 指导委员会一直期待 Bootstrap&#xA;5 带来的改进，却也担心迁移工作量及其对下游项目的影响，因此尽可能推迟了迁移。2022 年 12 月 Bootstrap&#xA;4 停止接收关键更新后，我们宣布&#xA;&lt;a href=&#34;https://github.com/google/docsy/discussions/1308&#34;&gt;Docsy 进入功能冻结期&lt;/a&gt;，并把维护工作集中到 Bootstrap&#xA;5 迁移上。&lt;/p&gt;&#xA;&lt;p&gt;本文记录 Docsy 迁移到&#xA;&lt;a href=&#34;https://blog.getbootstrap.com/2022/07/19/bootstrap-5-2-0/&#34;&gt;&lt;strong&gt;Bootstrap 5.2&lt;/strong&gt;&lt;/a&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&#xA;的历程：重点介绍其中最值得关注的步骤，并特别分析最出人意料的部分。我们希望本文能帮助其他准备升级到 Bootstrap&#xA;5 的项目，尤其是 Docsy 下游项目——不过，我们还会另写一篇专门面向下游项目的文章。&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;摘要&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#tldr&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;准备直接投入项目的 Bootstrap 迁移？除了仔细通读&#xA;&lt;a href=&#34;https://getbootstrap.com/docs/5.2/migration/&#34;&gt;Bootstrap 迁移页面&lt;/a&gt;，还要特别留意：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;media-breakpoint-down()&lt;/code&gt; Mixin 的断点参数需要上移；&lt;/li&gt;&#xA;&lt;li&gt;网格 &lt;code&gt;.row&lt;/code&gt; 与 &lt;code&gt;.col&lt;/code&gt; 样式变更具有破坏性；&lt;/li&gt;&#xA;&lt;li&gt;Bootstrap Sass 文件的导入顺序：必须先导入函数。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;下文将逐项说明。&lt;/p&gt;&#xA;&lt;h2 id=&#34;technical-details&#34;&gt;技术细节&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#technical-details&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;如果你习惯通过阅读 Changelog、逐项检查提交来升级 Docsy 及其依赖，本节可以作为若干重要变更的摘要。这里记录的技术问题之所以令我意外，是因为它们要么需要格外谨慎地修复，要么没有文档，或者在 Bootstrap&#xA;&lt;a href=&#34;https://getbootstrap.com/docs/5.2/migration/&#34;&gt;迁移页面&lt;/a&gt;中解释得不够充分。&lt;/p&gt;&#xA;&lt;h3 id=&#34;mixin-media-breakpoint-down-argument-shift&#34;&gt;&lt;code&gt;media-breakpoint-down()&lt;/code&gt; Mixin 参数上移&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#mixin-media-breakpoint-down-argument-shift&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;传给 &lt;code&gt;media-breakpoint-down()&lt;/code&gt;&#xA;Mixin 的&lt;a href=&#34;https://getbootstrap.com/docs/5.2/layout/breakpoints&#34;&gt;断点&lt;/a&gt;参数需要提升到下一个更高断点。值得庆幸的是，&lt;code&gt;media-breakpoint-up()&lt;/code&gt;&#xA;不需要类似调整。Docsy 下游项目也必须完成这项变更。如果漏掉这个并不直观的破坏性布局变化，项目的响应式布局很可能以看似莫名其妙的方式失常。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Docsy，你好！</title>
				<link>https://oink.pgsty.com/zh/blog/2022/hello/</link>
				<pubDate>Thu, 07 Apr 2022 00:00:00 +0000</pubDate>
				<guid>https://oink.pgsty.com/zh/blog/2022/hello/</guid>
				<description>&lt;h2 id=&#34;hello&#34;&gt;你好&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#hello&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;一个已经存在数年的项目突然发布“你好”文章，或许有些奇怪。不过，随着 Docsy 逐渐成长为社区驱动的项目，我们觉得是时候重新介绍自己，也聊聊大家喜爱的——至少我们希望如此——Hugo 文档主题最近有哪些新进展。&lt;/p&gt;&#xA;&lt;h3 id=&#34;discuss-amongst-yourselves&#34;&gt;欢迎参与讨论&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#discuss-amongst-yourselves&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;最近，我们的 &lt;a href=&#34;https://github.com/google/docsy/discussions&#34;&gt;Discussions&lt;/a&gt;&#xA;十分活跃！请不要错过关于&lt;a href=&#34;https://github.com/google/docsy/discussions/950&#34;&gt;即将弃用 Font Awesome 与 Bootstrap Git 子模块&lt;/a&gt;的通知，以及&lt;a href=&#34;https://github.com/google/docsy/discussions/798&#34;&gt;全新治理模式&lt;/a&gt;的公告。&lt;/p&gt;&#xA;&lt;h3 id=&#34;milestones-releases-and-roadmaps&#34;&gt;里程碑、版本与路线图&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#milestones-releases-and-roadmaps&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;我们计划很快发布 Docsy 的首个正式版本——可以查看&#xA;&lt;a href=&#34;https://github.com/google/docsy/milestone/2&#34;&gt;0.2.0 里程碑&lt;/a&gt;。对路线图有建议？欢迎提交&#xA;&lt;a href=&#34;https://github.com/google/docsy/issues&#34;&gt;Issue&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;h3 id=&#34;coming-soon-project-metrics&#34;&gt;即将推出：项目指标&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#coming-soon-project-metrics&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;从下个月开始，我们会在本博客发布项目指标。&lt;/p&gt;&#xA;&lt;h3 id=&#34;introducing-the-psc&#34;&gt;PSC 正式成立&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#introducing-the-psc&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Docsy 现在拥有项目指导委员会（Project Steering Committee，PSC）！成员包括&#xA;&lt;a href=&#34;https://github.com/chalin&#34;&gt;@chalin&lt;/a&gt;、&lt;a href=&#34;https://github.com/LisaFC&#34;&gt;@LisaFC&lt;/a&gt;、&lt;a href=&#34;https://github.com/geriom&#34;&gt;@geriom&lt;/a&gt; 与&#xA;&lt;a href=&#34;https://github.com/emckean&#34;&gt;@emckean&lt;/a&gt;。如果你有兴趣加入 PSC，请提交&#xA;&lt;a href=&#34;https://github.com/google/docsy/issues&#34;&gt;Issue&lt;/a&gt; 自荐。&lt;/p&gt;&#xA;&lt;h3 id=&#34;contribute-to-the-blog&#34;&gt;为博客贡献内容&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#contribute-to-the-blog&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;贡献指南也即将推出。有博客选题？欢迎提交&#xA;&lt;a href=&#34;https://github.com/google/docsy/issues&#34;&gt;Issue&lt;/a&gt;！&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
