<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Release on OINK</title>
    <link>https://oink.pgsty.com/zh/categories/release/</link>
    <description>Recent content in Release on OINK</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    
    
    
      <lastBuildDate>Fri, 14 Aug 2026 21:56:46 +0800</lastBuildDate>
    
    
      <atom:link href="https://oink.pgsty.com/zh/categories/release/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>Oink 0.4.0 — 面向完整发布流程的场景组件体系</title>
        <link>https://oink.pgsty.com/zh/blog/release/0.4.0/</link>
        <pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://oink.pgsty.com/zh/blog/release/0.4.0/</guid>
        <description>&lt;p&gt;&lt;strong&gt;发布日期&lt;/strong&gt;：2026-08-14 · &lt;strong&gt;已签名主题标签&lt;/strong&gt;：&#xA;&lt;a href=&#34;https://github.com/pgsty/oink/tree/v0.4.0&#34;&gt;v0.4.0&lt;/a&gt; · &lt;strong&gt;代码仓库&lt;/strong&gt;：&#xA;&lt;a href=&#34;https://github.com/pgsty/oink&#34;&gt;pgsty/oink&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Oink 0.4.0 完整交付场景组件体系。原始设计将 Reading &amp;amp;&#xA;Release、Landing 与 Book 分别放在 0.4、0.5、0.6 三个里程碑中；公开版本将三条轨道合并到一个已签名的&#xA;&lt;code&gt;v0.4.0&lt;/code&gt; 标签，让消费站接入一套连贯契约，而不是一串彼此依赖的预览版本。&lt;/p&gt;&#xA;&lt;p&gt;本版本继续保持本地优先：消费站仍然只需 Hugo&#xA;Extended 与 Go，不需要 Node.js、浏览器端 API 或 CDN。所有交互都采用渐进增强；HTML、打印、Markdown 与 RSS 输出会保留理解对应界面所需的完整内容。&lt;/p&gt;&#xA;&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.4.0&lt;/strong&gt; · &lt;time datetime=&#34;2026-08-14&#34;&gt;2026-08-14&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/oink/releases/tag/v0.4.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/oink/archive/refs/tags/v0.4.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/oink/archive/refs/tags/v0.4.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/oink/compare/v0.3.0...v0.4.0&#34;&gt;比较变更&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/oink&#34;&gt;pgsty/oink&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&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;h3 id=&#34;reading-and-release&#34;&gt;阅读与发布&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#reading-and-release&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;文档、Book 与博客页面现在拥有连续阅读 Pager，其顺序来自读者在侧栏看到的同一棵扁平导航树。上一页和下一页也会作为同源&#xA;&lt;code&gt;rel&lt;/code&gt;&#xA;元数据写入文档头。显式导航数据、纯链接条目、侧栏分组和博客时间顺序仍保留各自语义，不会意外变成阅读目的地。&lt;/p&gt;&#xA;&lt;p&gt;数学公式可以通过 Goldmark&#xA;passthrough 使用主题内置的本地 KaTeX 渲染器。暂时无法启用 passthrough 的站点，可以使用严格、无参数的&#xA;&lt;code&gt;eq&lt;/code&gt; 逃生舱渲染块公式；只有显式提供 &lt;code&gt;num&lt;/code&gt;&#xA;时，同一短代码才进入 Book 的编号公式模式。&lt;/p&gt;&#xA;&lt;p&gt;发布页面可以从本地 front&#xA;matter 渲染发布事实、发布卡片、校验和与资产清单，无需浏览器查询 GitHub。经过验证的&#xA;&lt;code&gt;data/download/&amp;lt;key&amp;gt;.yaml&lt;/code&gt; 模型同时供 &lt;code&gt;download&lt;/code&gt;&#xA;短代码与 Landing 下载分区使用，区分滚动渠道、固定版本渠道与明确的待发布状态。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Oink 0.3.0 — 写作、导航与更轻的页面</title>
        <link>https://oink.pgsty.com/zh/blog/release/0.3.0/</link>
        <pubDate>Wed, 12 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://oink.pgsty.com/zh/blog/release/0.3.0/</guid>
        <description>&lt;p&gt;&lt;strong&gt;发布日期&lt;/strong&gt;：2026-08-12 · &lt;strong&gt;主题标签&lt;/strong&gt;：&#xA;&lt;a href=&#34;https://github.com/pgsty/oink/tree/v0.3.0&#34;&gt;v0.3.0&lt;/a&gt; · &lt;strong&gt;代码仓库&lt;/strong&gt;：&#xA;&lt;a href=&#34;https://github.com/pgsty/oink&#34;&gt;pgsty/oink&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;发布门禁&lt;/strong&gt;：上面的标签必须能够公开解析，项目站必须固定到该精确标签，并且线上检查必须通过。在此之前，请把当前源码页面视为发布候选材料。&lt;/p&gt;&#xA;&lt;p&gt;Oink&#xA;0.3.0 是围绕写作与导航的一个版本。写页面时，代码块有了现代化的呈现，并补齐了一组每天都会用到的小组件；读页面时，多了嵌套导航与命令面板；而所有页面都实实在在变轻了——jQuery 已被移除。&lt;/p&gt;&#xA;&lt;p&gt;模块路径、最低 Hugo 版本以及 Hugo-only 的消费者构建方式均未改变。有三项改动可能影响既有站点，详见&lt;a href=&#34;https://oink.pgsty.com/zh/blog/release/0.3.0/#breaking-changes&#34;&gt;破坏性变更&lt;/a&gt;。&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;h3 id=&#34;code-blocks-and-code-groups&#34;&gt;代码块与代码分组&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#code-blocks-and-code-groups&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;普通围栏代码块现在会渲染出完整的代码外壳：可选的文件名、语言标签、由服务端输出而非脚本注入的复制按钮、可选的自动换行，以及长代码的折叠。Hugo 原生的高亮选项——行号、行锚点、&lt;code&gt;hl_lines&lt;/code&gt;、制表符宽度——行为完全不变。&lt;/p&gt;&#xA;&lt;p&gt;复制行为是确定的，而不是靠猜。&lt;code&gt;console&lt;/code&gt;、&lt;code&gt;shell-session&lt;/code&gt;&#xA;这类会话 lexer 默认只复制命令，不含提示符与输出；其余语言默认复制整块。对于无法区分二者的 lexer，&#xA;&lt;code&gt;copy=command&lt;/code&gt; 会直接报错——静默复制错误内容比构建失败更糟。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;code-group&lt;/code&gt;&#xA;短代码把包管理器、语言、平台这类并列选项组织成同步切换的标签页，并带稳定的 URL&#xA;hash，因此一个链接可以直接打开读者需要的那个变体。既有的 &lt;code&gt;tabpane&lt;/code&gt;&#xA;内容继续工作，存储键也保持不变。&lt;/p&gt;&#xA;&lt;p&gt;完整参数契约见&lt;a href=&#34;https://oink.pgsty.com/zh/docs/components/code-blocks/&#34;&gt;代码块&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;h3 id=&#34;everyday-content-primitives&#34;&gt;日常内容组件&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#everyday-content-primitives&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;在既有的大型组件之外，0.3.0 补上了作者每天真正会用的小组件：&lt;code&gt;badge&lt;/code&gt;、&lt;code&gt;kbd&lt;/code&gt;、&#xA;&lt;code&gt;fields&lt;/code&gt;、&lt;code&gt;filetree&lt;/code&gt;、&lt;code&gt;gallery&lt;/code&gt;，以及可选启用的&#xA;&lt;code&gt;image_zoom&lt;/code&gt;。它们全部输出语义化 HTML，其中非交互组件不加载任何 JavaScript，并且每个组件在打印和 Markdown 输出下都有明确定义的呈现方式。&lt;/p&gt;&#xA;&lt;p&gt;独立的公共 &lt;code&gt;icon&lt;/code&gt;&#xA;短代码仍然有意推迟：在这套 API 被认真设计出来之前，组件只使用私有的、带白名单的图标注册表来做自身装饰。&lt;/p&gt;&#xA;&lt;p&gt;各组件契约见&lt;a href=&#34;https://oink.pgsty.com/zh/docs/components/&#34;&gt;组件&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;h3 id=&#34;navigation-and-command-palette&#34;&gt;导航与命令面板&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#navigation-and-command-palette&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;顶层菜单在桌面端支持一级下拉，在移动端有对应的折叠面板；父级链接与展开控件分别独立操作，因此父级本身始终可以点击跳转。平铺菜单不受影响。&lt;/p&gt;&#xA;&lt;p&gt;本地搜索升级为命令面板，具备三种模式：空查询提供快捷入口与页面操作，文本查询返回分组的页面结果，&lt;code&gt;&amp;gt;&lt;/code&gt;&#xA;前缀则只搜索命令。页面可以提供 &lt;code&gt;search_keywords&lt;/code&gt;、正值的 &lt;code&gt;search_boost&lt;/code&gt;&#xA;以及规范化的排除标记；Lunr 路径与 CJK 子串路径应用同样的加权。&lt;/p&gt;&#xA;&lt;p&gt;页面操作与面板命令现在走同一套注册表，因此复制文本、在 ChatGPT /&#xA;Claude 中打开、查阅源码、查阅编辑历史、打印、切换主题、语言或版本，无论从哪里触发行为都一致。助手提示词在激活时解析浏览器 URL，保留实际部署域名、查询参数与片段；历史链接则使用“编辑此页面”的同一仓库路径。助手入口默认关闭，站点必须显式设置&#xA;&lt;code&gt;params.ui.page_context_menu.assistant_links: true&lt;/code&gt;&#xA;才会启用。激活后完整 URL 会离开本站，因此不要在 query 或 fragment 中放置秘密信息。&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
