<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>文章 on Lumoes Blog</title>
    <link>https://blog.646474.xyz/posts/</link>
    <description>Recent content in 文章 on Lumoes Blog</description>
    <image>
      <title>Lumoes Blog</title>
      <url>https://blog.646474.xyz/images/og-cover.png</url>
      <link>https://blog.646474.xyz/images/og-cover.png</link>
    </image>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Wed, 07 Oct 2026 01:20:00 +0800</lastBuildDate>
    <atom:link href="https://blog.646474.xyz/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Hugo &#43; PaperMod 写作语法大全</title>
      <link>https://blog.646474.xyz/posts/writing-guide/</link>
      <pubDate>Wed, 07 Oct 2026 01:20:00 +0800</pubDate>
      <guid>https://blog.646474.xyz/posts/writing-guide/</guid>
      <description>本站支持的全部写作语法速查：Markdown、短代码、提示框、数学公式、Mermaid 图表，每条都有写法与示例。</description>
      <content:encoded><![CDATA[<hr>
<h2 id="目录">目录</h2>
<ul>
<li><a href="/posts/writing-guide/#%e4%b8%80%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b">一、快速开始</a></li>
<li><a href="/posts/writing-guide/#%e4%ba%8cfront-matter-%e5%ae%8c%e5%85%a8%e6%8c%87%e5%8d%97">二、Front Matter 完全指南</a></li>
<li><a href="/posts/writing-guide/#%e4%b8%89markdown-%e5%9f%ba%e7%a1%80%e8%af%ad%e6%b3%95">三、Markdown 基础语法</a></li>
<li><a href="/posts/writing-guide/#%e5%9b%9bpapermod-%e4%b8%bb%e9%a2%98%e7%9f%ad%e4%bb%a3%e7%a0%81">四、PaperMod 主题短代码</a></li>
<li><a href="/posts/writing-guide/#%e4%ba%94hugo-%e5%86%85%e7%bd%ae%e7%9f%ad%e4%bb%a3%e7%a0%81">五、Hugo 内置短代码</a></li>
<li><a href="/posts/writing-guide/#%e5%85%ad%e6%9c%ac%e7%ab%99%e5%a2%9e%e5%bc%ba%e8%af%ad%e6%b3%95">六、本站增强语法</a></li>
<li><a href="/posts/writing-guide/#%e4%b8%83%e5%86%99%e4%bd%9c%e5%b7%a5%e5%85%b7%e4%b8%8e%e5%b7%a5%e4%bd%9c%e6%b5%81">七、写作工具与工作流</a></li>
<li><a href="/posts/writing-guide/#%e5%85%ab%e5%ae%9e%e6%88%98%e5%ae%8c%e6%95%b4%e6%96%87%e7%ab%a0%e7%a4%ba%e4%be%8b">八、实战：完整文章示例</a></li>
<li><a href="/posts/writing-guide/#%e4%b9%9d%e5%b8%b8%e8%a7%81%e5%9d%91%e4%b8%8e%e6%8e%92%e6%9f%a5">九、常见坑与排查</a></li>
<li><a href="/posts/writing-guide/#%e5%8d%81%e9%80%9f%e6%9f%a5%e8%a1%a8">十、速查表</a></li>
</ul>
<hr>
<h2 id="一快速开始">一、快速开始</h2>
<h3 id="11-三个命令">1.1 三个命令</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">hugo new content posts/我的新文章.md    <span class="c1"># 新建文章（自动套用 archetypes/default.md 模板）</span>
</span></span><span class="line"><span class="cl">hugo server -D                          <span class="c1"># 本地预览（-D 表示包含草稿），打开 http://localhost:1313</span>
</span></span><span class="line"><span class="cl">hugo --gc --minify                      <span class="c1"># 构建发布（产物在 public/ 目录）</span>
</span></span></code></pre></div><h3 id="12-一篇文章的最小结构">1.2 一篇文章的最小结构</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;文章标题&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">date</span><span class="p">:</span><span class="w"> </span><span class="ld">2026-10-07T10:00:00</span><span class="m">+08</span><span class="p">:</span><span class="m">00</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">draft</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">tags</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;标签1&#34;</span><span class="p">,</span><span class="w"> </span><span class="s2">&#34;标签2&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">categories</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;分类&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">正文从这里开始。
</span></span></code></pre></div><h3 id="13-写作流程建议">1.3 写作流程建议</h3>
<ol>
<li><code>hugo new content posts/xxx.md</code> 新建（默认 <code>draft: true</code>）</li>
<li>写内容，浏览器开着 <code>hugo server -D</code> 实时预览</li>
<li>写完把 <code>draft</code> 改为 <code>false</code></li>
<li><code>hugo --gc --minify</code> 构建，把 <code>public/</code> 部署到托管平台</li>
</ol>
<hr>
<h2 id="二front-matter-完全指南">二、Front Matter 完全指南</h2>
<p>Front matter 是文章头部的 YAML 配置块（<code>---</code> 包裹）。<strong>所有字段都是可选的</strong>，不写的字段会使用 <code>hugo.yaml</code> 里的全局默认值。</p>
<h3 id="21-完整字段表">2.1 完整字段表</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># ===== 基础信息 =====</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;文章标题&#34;</span><span class="w">                    </span><span class="c"># 必需。显示在页面顶部与列表页</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">date</span><span class="p">:</span><span class="w"> </span><span class="ld">2026-10-07T10:00:00</span><span class="m">+08</span><span class="p">:</span><span class="m">00</span><span class="w">     </span><span class="c"># 必需。发布时间（推荐 ISO 8601 格式，带时区）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">lastmod</span><span class="p">:</span><span class="w"> </span><span class="ld">2026-10-08T15:30:00</span><span class="m">+08</span><span class="p">:</span><span class="m">00</span><span class="w">  </span><span class="c"># 最后修改时间（会显示在页面上）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">draft</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">                        </span><span class="c"># true = 草稿（构建时跳过，预览需加 -D）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># ===== 描述与分类 =====</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">description</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;文章摘要，显示在列表页、搜索结果与分享卡片&#34;</span><span class="w">   </span><span class="c"># 建议 50~150 字</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">summary</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;列表页摘要（留空则自动截取正文开头）&#34;</span><span class="w">              </span><span class="c"># 可选</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">tags</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;哲学&#34;</span><span class="p">,</span><span class="w"> </span><span class="s2">&#34;读书&#34;</span><span class="p">]</span><span class="w">               </span><span class="c"># 标签（对应 /tags/ 页面）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">categories</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;随笔&#34;</span><span class="p">]</span><span class="w">                 </span><span class="c"># 分类（对应 /categories/ 页面，Hugo 不支持多级）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">keywords</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;关键词1&#34;</span><span class="p">,</span><span class="w"> </span><span class="s2">&#34;关键词2&#34;</span><span class="p">]</span><span class="w">      </span><span class="c"># SEO 关键词</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">author</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;Lumoes&#34;</span><span class="w">                     </span><span class="c"># 作者（留空用全局配置）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># ===== 封面图（对象结构，注意缩进）=====</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">cover</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;/images/cover/example.jpg&#34;</span><span class="w">  </span><span class="c"># 图片路径（相对 static/），如放 static/images/cover/ 就写 /images/cover/xxx.jpg</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">alt</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;封面描述&#34;</span><span class="w">                     </span><span class="c"># 无障碍与 SEO</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">caption</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;封面说明文字&#34;</span><span class="w">              </span><span class="c"># 图片下方说明（可留空）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">relative</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">                     </span><span class="c"># true = 路径相对于当前文章目录；false = 相对于 static/</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># ===== 显示控制（不写则用全局默认）=====</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">ShowToc</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">              </span><span class="c"># 显示目录</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">TocOpen</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">             </span><span class="c"># 目录默认展开</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">hidemeta</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">            </span><span class="c"># 隐藏日期/作者/阅读时间等元信息（适合「关于」页）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">hideSummary</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">         </span><span class="c"># 列表页不显示摘要</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">comments</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">             </span><span class="c"># 显示评论区（需先接入评论系统）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">ShowReadingTime</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">      </span><span class="c"># 显示阅读时间</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">ShowWordCount</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">        </span><span class="c"># 显示字数</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">ShowShareButtons</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">     </span><span class="c"># 显示分享按钮</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">ShowBreadCrumbs</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">      </span><span class="c"># 显示面包屑导航</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">ShowPostNavLinks</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">     </span><span class="c"># 显示上一篇/下一篇</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">ShowCodeCopyButtons</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">  </span><span class="c"># 代码块显示复制按钮</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">hideFooter</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">          </span><span class="c"># 隐藏页脚</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># ===== 功能开关 =====</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">math</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">                 </span><span class="c"># 开启数学公式（正文出现 $$ 也会自动开启，可省略）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">searchHidden</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">         </span><span class="c"># 从站内搜索中排除本文</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">robotsNoIndex</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">        </span><span class="c"># 让搜索引擎不收录本文</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">slug</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;custom-url&#34;</span><span class="w">         </span><span class="c"># 自定义 URL（默认用文件名）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># ===== 编辑链接（可选）=====</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">editPost</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">URL</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;https://github.com/你/仓库/content&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">Text</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;编辑此页&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">appendFilePath</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span></code></pre></div><h3 id="22-三种常用组合">2.2 三种常用组合</h3>
<p><strong>普通文章</strong>（大多数情况）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;文章标题&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">date</span><span class="p">:</span><span class="w"> </span><span class="ld">2026-10-07T10:00:00</span><span class="m">+08</span><span class="p">:</span><span class="m">00</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">draft</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">tags</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;标签&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">categories</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;随笔&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">description</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;一句话摘要&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">cover</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;/images/cover/x.jpg&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span></code></pre></div><p><strong>静态页面</strong>（关于、友链等，无日期无目录）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;关于&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;/about/&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">ShowToc</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">hidemeta</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">comments</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span></code></pre></div><p><strong>技术长文</strong>（开目录、开公式）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;深入理解 XXX&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">date</span><span class="p">:</span><span class="w"> </span><span class="ld">2026-10-07T10:00:00</span><span class="m">+08</span><span class="p">:</span><span class="m">00</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">tags</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;技术&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">categories</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;技术&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">ShowToc</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">TocOpen</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">math</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span></code></pre></div><h3 id="23-字段优先级">2.3 字段优先级</h3>
<p>同一个字段可以写在<strong>三处</strong>，优先级从高到低：</p>
<ol>
<li>文章 front matter（最高，覆盖下面两者）</li>
<li><code>hugo.yaml</code> 的 <code>params</code>（站点默认值）</li>
<li>主题内部默认值（最低）</li>
</ol>
<p>例如：全局 <code>ShowToc: true</code>，某篇文章想关掉就写 <code>ShowToc: false</code>。</p>
<hr>
<h2 id="三markdown-基础语法">三、Markdown 基础语法</h2>
<h3 id="31-标题">3.1 标题</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># 一级标题（一般不用，文章标题已是一级）
</span></span></span><span class="line"><span class="cl"><span class="gu">## 二级标题
</span></span></span><span class="line"><span class="cl"><span class="gu">### 三级标题
</span></span></span><span class="line"><span class="cl"><span class="gu">#### 四级标题
</span></span></span><span class="line"><span class="cl"><span class="gu">##### 五级标题
</span></span></span><span class="line"><span class="cl"><span class="gu">###### 六级标题
</span></span></span></code></pre></div><blockquote>
<p>目录（TOC）默认只收录 <strong>二级到四级</strong> 标题（可在 <code>hugo.yaml</code> 的 <code>markup.tableOfContents</code> 调整）。</p>
</blockquote>
<h3 id="32-文本样式">3.2 文本样式</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">**加粗**
</span></span><span class="line"><span class="cl"><span class="ge">*斜体*</span>
</span></span><span class="line"><span class="cl"><span class="ge">**</span>*粗斜体***
</span></span><span class="line"><span class="cl"><span class="gd">~~删除线~~</span>
</span></span><span class="line"><span class="cl"><span class="sb">`行内代码`</span>
</span></span><span class="line"><span class="cl">普通文字
</span></span></code></pre></div><p>效果：<strong>加粗</strong>、<em>斜体</em>、<em><strong>粗斜体</strong></em>、<del>删除线</del>、<code>行内代码</code></p>
<h3 id="33-列表">3.3 列表</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="k">-</span> 无序项
</span></span><span class="line"><span class="cl"><span class="k">-</span> 无序项
</span></span><span class="line"><span class="cl">  <span class="k">-</span> 嵌套项（缩进 2 空格）
</span></span><span class="line"><span class="cl">    <span class="k">-</span> 更深嵌套（缩进 4 空格）
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">1.</span> 有序项
</span></span><span class="line"><span class="cl"><span class="k">2.</span> 有序项
</span></span><span class="line"><span class="cl">   <span class="k">1.</span> 嵌套有序
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">- [x]</span> 已完成的任务
</span></span><span class="line"><span class="cl"><span class="k">- [ ]</span> 未完成的任务
</span></span></code></pre></div><blockquote>
<p>任务列表在 PaperMod 里会渲染成复选框样式，很适合写「清单」「进度」。</p>
</blockquote>
<h3 id="34-引用">3.4 引用</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="k">&gt; </span><span class="ge">单行引用
</span></span></span><span class="line"><span class="cl"><span class="k">
</span></span></span><span class="line"><span class="cl"><span class="k">&gt; </span><span class="ge">多段引用第一段
</span></span></span><span class="line"><span class="cl"><span class="k">&gt;
</span></span></span><span class="line"><span class="cl"><span class="ge">&gt; 多段引用第二段
</span></span></span><span class="line"><span class="cl"><span class="k">
</span></span></span><span class="line"><span class="cl"><span class="k">&gt; </span><span class="ge">引用中嵌套引用
</span></span></span><span class="line"><span class="cl"><span class="k">&gt;
</span></span></span><span class="line"><span class="cl"><span class="ge">&gt; &gt; 第二层引用
</span></span></span><span class="line"><span class="cl"><span class="k">
</span></span></span><span class="line"><span class="cl"><span class="k">&gt; </span><span class="ge">**引用里也支持 Markdown**，比如**加粗**和[链接](https://example.com)
</span></span></span></code></pre></div><h3 id="35-代码">3.5 代码</h3>
<p><strong>行内代码</strong>：用反引号包裹，如 <code>const a = 1</code></p>
<p><strong>代码块</strong>：三个反引号 + 语言名（会有语法高亮和复制按钮）</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="s">```python
</span></span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">hello</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="sa">f</span><span class="s2">&#34;Hello, </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="s">```javascript
</span></span></span><span class="line"><span class="cl"><span class="kr">const</span> <span class="nx">greet</span> <span class="o">=</span> <span class="p">(</span><span class="nx">name</span><span class="p">)</span> <span class="p">=&gt;</span> <span class="sb">`Hello, </span><span class="si">${</span><span class="nx">name</span><span class="si">}</span><span class="sb">`</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="s">```bash
</span></span></span><span class="line"><span class="cl">hugo server -D
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="s">```text
</span></span></span><span class="line"><span class="cl">没有语法高亮的纯文本块（画 ASCII 图、贴日志时用）
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><p>支持的语言名（部分）：<code>python</code> <code>javascript</code> <code>typescript</code> <code>java</code> <code>go</code> <code>rust</code> <code>c</code> <code>cpp</code> <code>csharp</code> <code>php</code> <code>ruby</code> <code>sql</code> <code>bash</code> <code>shell</code> <code>powershell</code> <code>yaml</code> <code>json</code> <code>toml</code> <code>xml</code> <code>html</code> <code>css</code> <code>scss</code> <code>markdown</code> <code>text</code> <code>diff</code> <code>nginx</code> <code>dockerfile</code></p>
<h3 id="36-链接">3.6 链接</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">[<span class="nt">显示文字</span>](<span class="na">https://example.com</span>)
</span></span><span class="line"><span class="cl">[<span class="nt">带标题的链接</span>](<span class="na">https://example.com &#34;鼠标悬停显示的文字&#34;</span>)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="cm">&lt;!-- 站内链接（推荐用 ref，路径改了也不会失效）--&gt;</span>
</span></span><span class="line"><span class="cl">[<span class="nt">看这篇文章</span>](<span class="na">{{&lt; ref &#34;posts/syntax-demo.md&#34; &gt;}}</span>)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="cm">&lt;!-- 锚点跳转 --&gt;</span>
</span></span><span class="line"><span class="cl">[<span class="nt">跳到本页某节</span>](<span class="na">#三markdown-基础语法</span>)
</span></span></code></pre></div><blockquote>
<p>直接写裸链接也会自动变成可点击的链接：https://example.com</p>
</blockquote>
<h3 id="37-图片">3.7 图片</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="cm">&lt;!-- 基础写法（PaperMod 会自动把 alt 显示为图注）--&gt;</span>
</span></span><span class="line"><span class="cl">![<span class="nt">图片说明</span>](<span class="na">/images/example.png</span>)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="cm">&lt;!-- 带链接的图片 --&gt;</span>
</span></span><span class="line"><span class="cl">[<span class="nt">![图片说明</span>](<span class="na">/images/example.png</span>)](https://example.com)
</span></span></code></pre></div><blockquote>
<p>图片放在 <code>static/images/</code> 目录下，引用路径写 <code>/images/xxx.png</code>
需要更精细控制（标题、图注、对齐）请用 <code>figure</code> 短代码（见 4.1）</p>
</blockquote>
<h3 id="38-表格">3.8 表格</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">| 左对齐 | 居中 | 右对齐 |
</span></span><span class="line"><span class="cl">|:---|:---:|---:|
</span></span><span class="line"><span class="cl">| 内容 | 内容 | 内容 |
</span></span><span class="line"><span class="cl">| 内容 | 内容 | 内容 |
</span></span></code></pre></div><p>效果：</p>
<table>
	<thead>
			<tr>
					<th style="text-align: left">左对齐</th>
					<th style="text-align: center">居中</th>
					<th style="text-align: right">右对齐</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td style="text-align: left">内容</td>
					<td style="text-align: center">内容</td>
					<td style="text-align: right">内容</td>
			</tr>
	</tbody>
</table>
<h3 id="39-分割线">3.9 分割线</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">---
</span></span></code></pre></div><blockquote>
<p>⚠️ 注意：<code>---</code> 前后要<strong>空一行</strong>，否则可能被误解析为标题下划线或 front matter。</p>
</blockquote>
<h3 id="310-脚注">3.10 脚注</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">这句话有个脚注[^1]，还有另一个[^note]。
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[^1]: 这是第一个脚注的内容。
</span></span><span class="line"><span class="cl">[^note]: 脚注名可以是文字，会自动编号。
</span></span></code></pre></div><h3 id="311-转义字符">3.11 转义字符</h3>
<p>需要显示 Markdown 符号本身时，在前面加反斜杠：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">\* 这不是斜体 \*
</span></span><span class="line"><span class="cl">\# 这不是标题
</span></span><span class="line"><span class="cl">\[方括号\] 不是链接
</span></span></code></pre></div><h3 id="312-内联-html">3.12 内联 HTML</h3>
<p>本站在 <code>hugo.yaml</code> 里开启了 <code>unsafe: true</code>，所以可以<strong>直接在正文里写 HTML</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">span</span> <span class="na">style</span><span class="o">=</span><span class="s">&#34;color: #ef4444;&#34;</span><span class="p">&gt;</span>红色文字<span class="p">&lt;/</span><span class="nt">span</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">u</span><span class="p">&gt;</span>下划线<span class="p">&lt;/</span><span class="nt">u</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">kbd</span><span class="p">&gt;</span>Ctrl<span class="p">&lt;/</span><span class="nt">kbd</span><span class="p">&gt;</span> + <span class="p">&lt;</span><span class="nt">kbd</span><span class="p">&gt;</span>C<span class="p">&lt;/</span><span class="nt">kbd</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">abbr</span> <span class="na">title</span><span class="o">=</span><span class="s">&#34;HyperText Markup Language&#34;</span><span class="p">&gt;</span>HTML<span class="p">&lt;/</span><span class="nt">abbr</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">br</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span> <span class="na">style</span><span class="o">=</span><span class="s">&#34;text-align: center;&#34;</span><span class="p">&gt;</span>居中内容<span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span></code></pre></div><blockquote>
<p>这是本站「提示框」「高亮」「两栏」等增强语法的实现基础（见第六节）。</p>
</blockquote>
<h3 id="313-原生折叠html-details">3.13 原生折叠（HTML details）</h3>
<p>不需要短代码的折叠写法：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">details</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">summary</span><span class="p">&gt;</span>点击展开<span class="p">&lt;/</span><span class="nt">summary</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">这里是被折叠的内容，**支持 Markdown**。
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">details</span><span class="p">&gt;</span>
</span></span></code></pre></div><blockquote>
<p>推荐用 <code>collapse</code> 短代码（见 4.3），样式更统一。</p>
</blockquote>
<hr>
<h2 id="四papermod-主题短代码">四、PaperMod 主题短代码</h2>
<p>短代码（shortcode）是 Hugo 的特殊语法，格式为 <code>{{&lt; 名称 参数 &gt;}}</code>，由主题/站点模板渲染成 HTML。</p>
<h3 id="41-figure-图片最常用">4.1 figure 图片（最常用）</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="cm">&lt;!-- 最简 --&gt;</span>
</span></span><span class="line"><span class="cl">{{&lt; figure src=&#34;https://blog.646474.xyz/images/example.png&#34; &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="cm">&lt;!-- 完整参数 --&gt;</span>
</span></span><span class="line"><span class="cl">{{&lt; figure
</span></span><span class="line"><span class="cl">  src=&#34;https://blog.646474.xyz/images/example.png&#34;
</span></span><span class="line"><span class="cl">  title=&#34;图片标题&#34;
</span></span><span class="line"><span class="cl">  caption=&#34;图片说明文字，支持 <span class="gs">**Markdown**</span>&#34;
</span></span><span class="line"><span class="cl">  alt=&#34;无障碍描述&#34;
</span></span><span class="line"><span class="cl">  width=&#34;600&#34;
</span></span><span class="line"><span class="cl">  height=&#34;400&#34;
</span></span><span class="line"><span class="cl">  align=&#34;center&#34;
</span></span><span class="line"><span class="cl">  class=&#34;custom-class&#34;
</span></span><span class="line"><span class="cl">  link=&#34;https://example.com&#34;
</span></span><span class="line"><span class="cl">  target=&#34;_blank&#34;
</span></span><span class="line"><span class="cl">  rel=&#34;noopener&#34;
</span></span><span class="line"><span class="cl">&gt;}}
</span></span></code></pre></div><table>
	<thead>
			<tr>
					<th>参数</th>
					<th>说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>src</code></td>
					<td>图片路径（必需），如 <code>/images/x.png</code></td>
			</tr>
			<tr>
					<td><code>title</code></td>
					<td>图片上方的标题</td>
			</tr>
			<tr>
					<td><code>caption</code></td>
					<td>图片下方的说明（支持 Markdown）</td>
			</tr>
			<tr>
					<td><code>alt</code></td>
					<td>无障碍描述（留空则用 caption）</td>
			</tr>
			<tr>
					<td><code>width</code> / <code>height</code></td>
					<td>尺寸（像素）</td>
			</tr>
			<tr>
					<td><code>align</code></td>
					<td>设为 <code>center</code> 可居中显示</td>
			</tr>
			<tr>
					<td><code>link</code></td>
					<td>点击图片跳转的链接</td>
			</tr>
			<tr>
					<td><code>target</code> / <code>rel</code></td>
					<td>链接的打开方式与安全属性</td>
			</tr>
			<tr>
					<td><code>class</code></td>
					<td>自定义 CSS 类</td>
			</tr>
	</tbody>
</table>
<h3 id="42-intextimg-行内小图">4.2 inTextImg 行内小图</h3>
<p>适合在文字中插入小图标（如徽章、状态标识）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">本站使用 {{&lt; inTextImg url=&#34;https://blog.646474.xyz/images/logo.svg&#34; alt=&#34;logo&#34; height=&#34;20&#34; &gt;}} 作为站点图标。
</span></span></code></pre></div><table>
	<thead>
			<tr>
					<th>参数</th>
					<th>说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>url</code></td>
					<td>图片路径（必需）</td>
			</tr>
			<tr>
					<td><code>alt</code></td>
					<td>替代文字</td>
			</tr>
			<tr>
					<td><code>height</code></td>
					<td>高度（默认 15px）</td>
			</tr>
	</tbody>
</table>
<h3 id="43-collapse-折叠">4.3 collapse 折叠</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{&lt; collapse summary=&#34;点击展开 / 收起&#34; &gt;}}
</span></span><span class="line"><span class="cl">这里是被折叠的内容，支持任意 Markdown。
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">-</span> 列表
</span></span><span class="line"><span class="cl"><span class="k">-</span> **加粗**
</span></span><span class="line"><span class="cl">{{&lt; /collapse &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="cm">&lt;!-- 默认展开 --&gt;</span>
</span></span><span class="line"><span class="cl">{{&lt; collapse summary=&#34;默认展开的面板&#34; openByDefault=true &gt;}}
</span></span><span class="line"><span class="cl">内容…
</span></span><span class="line"><span class="cl">{{&lt; /collapse &gt;}}
</span></span></code></pre></div><table>
	<thead>
			<tr>
					<th>参数</th>
					<th>说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>summary</code></td>
					<td>折叠标题（<strong>必须用命名参数写法</strong> <code>summary=&quot;标题&quot;</code>）</td>
			</tr>
			<tr>
					<td><code>openByDefault</code></td>
					<td><code>true</code> = 默认展开</td>
			</tr>
	</tbody>
</table>
<blockquote>
<p>⚠️ 必须写 <code>summary=&quot;标题&quot;</code>，写成位置参数 <code>{{&lt; collapse &quot;标题&quot; &gt;}}</code> 会报警告且标题为空。</p>
</blockquote>
<h3 id="44-rawhtml-原始-html">4.4 rawhtml 原始 HTML</h3>
<p>包裹需要原样输出的 HTML（避免被 Markdown 处理）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{&lt; rawhtml &gt;}}
</span></span><span class="line"><span class="cl">&lt;div class=&#34;my-widget&#34;&gt;
</span></span><span class="line"><span class="cl">  &lt;iframe src=&#34;https://example.com/embed&#34; width=&#34;100%&#34; height=&#34;400&#34;&gt;&lt;/iframe&gt;
</span></span><span class="line"><span class="cl">&lt;/div&gt;
</span></span><span class="line"><span class="cl">{{&lt; /rawhtml &gt;}}
</span></span></code></pre></div><blockquote>
<p>本站已开启 <code>unsafe: true</code>，简单 HTML 可直接写；遇到被 Markdown 干扰的复杂结构时用这个包裹。</p>
</blockquote>
<h3 id="45-audio--video-本地媒体">4.5 audio / video 本地媒体</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{&lt; audio src=&#34;https://blog.646474.xyz/media/demo.mp3&#34; &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{{&lt; video src=&#34;https://blog.646474.xyz/media/demo.mp4&#34; &gt;}}
</span></span></code></pre></div><blockquote>
<p>文件放在 <code>static/media/</code> 下。音频/视频默认静音（<code>muted</code>），点击播放器可取消静音。</p>
</blockquote>
<h3 id="46-ltr--rtl-文字方向">4.6 ltr / rtl 文字方向</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{&lt; ltr &gt;}}
</span></span><span class="line"><span class="cl">这段文字强制从左到右显示
</span></span><span class="line"><span class="cl">{{&lt; /ltr &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{{&lt; rtl &gt;}}
</span></span><span class="line"><span class="cl">这段文字强制从右到左显示（阿拉伯语等）
</span></span><span class="line"><span class="cl">{{&lt; /rtl &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="cm">&lt;!-- 内容需要渲染 Markdown 时加 md=true --&gt;</span>
</span></span><span class="line"><span class="cl">{{&lt; ltr md=true &gt;}}
</span></span><span class="line"><span class="cl">**加粗**会被渲染
</span></span><span class="line"><span class="cl">{{&lt; /ltr &gt;}}
</span></span></code></pre></div><hr>
<h2 id="五hugo-内置短代码">五、Hugo 内置短代码</h2>
<p>这些是 Hugo 自带的能力（无需主题支持）。</p>
<h3 id="51-youtube--vimeo-视频嵌入">5.1 youtube / vimeo 视频嵌入</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{&lt; youtube i8Iiv9yFTdM &gt;}}          <span class="cm">&lt;!-- YouTube 视频 ID --&gt;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{{&lt; youtube id=&#34;i8Iiv9yFTdM&#34; title=&#34;视频标题&#34; autoplay=&#34;false&#34; &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{{&lt; vimeo 123456789 &gt;}}                <span class="cm">&lt;!-- Vimeo 视频 ID --&gt;</span>
</span></span></code></pre></div><blockquote>
<p>视频 ID 是 URL 里的那串字符：<code>https://www.youtube.com/watch?v=i8Iiv9yFTdM</code> → <code>i8Iiv9yFTdM</code></p>
</blockquote>
<h3 id="52-gist-代码片段">5.2 gist 代码片段</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{&lt; gist 用户名 哈希值 &gt;}}
</span></span><span class="line"><span class="cl">{{&lt; gist 用户名 哈希值 文件名 &gt;}}
</span></span></code></pre></div><h3 id="53-details-折叠hugo-原生">5.3 details 折叠（Hugo 原生）</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{&lt; details &#34;点击展开&#34; &gt;}}
</span></span><span class="line"><span class="cl">内容，支持 Markdown。
</span></span><span class="line"><span class="cl">{{&lt; /details &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{{&lt; details summary=&#34;也可以这样写&#34; open=true &gt;}}
</span></span><span class="line"><span class="cl">内容…
</span></span><span class="line"><span class="cl">{{&lt; /details &gt;}}
</span></span></code></pre></div><blockquote>
<p>与 PaperMod 的 <code>collapse</code> 功能相同，选一个用即可（<code>collapse</code> 样式与主题更统一）。</p>
</blockquote>
<h3 id="54-highlight-代码高亮精细控制">5.4 highlight 代码高亮（精细控制）</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{&lt; highlight python &#34;linenos=table,hl_lines=2-3,linenostart=1&#34; &gt;}}
</span></span><span class="line"><span class="cl">def hello():
</span></span><span class="line"><span class="cl">    print(&#34;这行会高亮&#34;)
</span></span><span class="line"><span class="cl">    print(&#34;这行也会高亮&#34;)
</span></span><span class="line"><span class="cl">{{&lt; /highlight &gt;}}
</span></span></code></pre></div><table>
	<thead>
			<tr>
					<th>参数</th>
					<th>说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>linenos=table</code></td>
					<td>显示行号</td>
			</tr>
			<tr>
					<td><code>hl_lines=2-3</code></td>
					<td>高亮第 2~3 行</td>
			</tr>
			<tr>
					<td><code>linenostart=1</code></td>
					<td>行号起始值</td>
			</tr>
	</tbody>
</table>
<blockquote>
<p>日常写作直接用普通代码块即可（自动高亮），需要高亮特定行时才用这个。</p>
</blockquote>
<h3 id="55-ref--relref-站内链接">5.5 ref / relref 站内链接</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">[<span class="nt">看这篇文章</span>](<span class="na">{{&lt; ref &#34;posts/syntax-demo.md&#34; &gt;}}</span>)
</span></span><span class="line"><span class="cl">[<span class="nt">同上，相对链接</span>](<span class="na">{{&lt; relref &#34;posts/syntax-demo.md&#34; &gt;}}</span>)
</span></span></code></pre></div><blockquote>
<p>好处：文章改名/移动后链接自动更新，不会 404。<strong>强烈推荐站内跳转用这个</strong>。</p>
</blockquote>
<h3 id="56-param-读取配置">5.6 param 读取配置</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">本站作者是 {{&lt; param author &gt;}}，标题是 {{&lt; param title &gt;}}。
</span></span></code></pre></div><blockquote>
<p>读取 <code>hugo.yaml</code> 里 <code>params</code> 下的字段值。</p>
</blockquote>
<h3 id="57-qr-二维码">5.7 qr 二维码</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{&lt; qr text=&#34;https://example.com&#34; &gt;}}
</span></span><span class="line"><span class="cl">{{&lt; qr text=&#34;https://example.com&#34; level=&#34;h&#34; scale=&#34;4&#34; &gt;}}
</span></span></code></pre></div><h3 id="58-短代码转义显示而非执行">5.8 短代码转义（显示而非执行）</h3>
<p>想<strong>在文章里展示短代码语法本身</strong>（而不是执行它），用 <code>/* */</code> 包裹：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{&lt; figure src=&#34;https://blog.646474.xyz/images/x.png&#34; &gt;}}      → 页面显示 {{&lt; figure src=&#34;https://blog.646474.xyz/images/x.png&#34; &gt;}}
</span></span><span class="line"><span class="cl">{{&lt; youtube abc123 &gt;}}                   → 页面显示 {{&lt; youtube abc123 &gt;}}
</span></span></code></pre></div><hr>
<h2 id="六本站增强语法">六、本站增强语法</h2>
<p>以下语法由本站在 <code>assets/css/extended/custom.css</code> 与 <code>layouts/</code> 中额外配置，<strong>AnZhiYu 的对应标签都可用它们替代</strong>。</p>
<h3 id="61-提示框替代--note-">6.1 提示框（替代 <code>{% note %}</code>）</h3>
<p>用 <code>note</code> 短代码（内容会经过 Markdown 渲染）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; note info &gt;}}蓝色信息提示{{&lt; /note &gt;}}
</span></span><span class="line"><span class="cl">{{&lt; note success &gt;}}绿色成功提示{{&lt; /note &gt;}}
</span></span><span class="line"><span class="cl">{{&lt; note warning &gt;}}黄色警告提示{{&lt; /note &gt;}}
</span></span><span class="line"><span class="cl">{{&lt; note danger &gt;}}红色危险提示{{&lt; /note &gt;}}
</span></span><span class="line"><span class="cl">{{&lt; note primary &gt;}}紫色重点提示{{&lt; /note &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">带标题（第二个参数）：
</span></span><span class="line"><span class="cl">{{&lt; note warning &#34;注意&#34; &gt;}}
</span></span><span class="line"><span class="cl">带自定义标题的提示框
</span></span><span class="line"><span class="cl">{{&lt; /note &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">内容支持全部 Markdown：
</span></span><span class="line"><span class="cl">{{&lt; note info &gt;}}
</span></span><span class="line"><span class="cl">**加粗**、`行内代码`、[链接](https://example.com)、列表都可以。
</span></span><span class="line"><span class="cl">{{&lt; /note &gt;}}
</span></span></code></pre></div><blockquote>
<p>⚠️ <strong>不要</strong>用 <code>&lt;div class=&quot;note info&quot;&gt;…&lt;/div&gt;</code> 的 HTML 写法：块级 HTML 内部的 Markdown
不会被解析（CommonMark 规范行为），<code>**加粗**</code> 会原样显示成星号。
如确要用 HTML 写法，标签与内容之间必须留空行。</p>
</blockquote>
<h3 id="62-行内高亮替代--label-">6.2 行内高亮（替代 <code>{% label %}</code>）</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl red&#34;</span><span class="p">&gt;</span>红色重点<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl green&#34;</span><span class="p">&gt;</span>绿色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl blue&#34;</span><span class="p">&gt;</span>蓝色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl yellow&#34;</span><span class="p">&gt;</span>黄色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl purple&#34;</span><span class="p">&gt;</span>紫色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl&#34;</span><span class="p">&gt;</span>默认色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span></code></pre></div><p>实际效果：<mark class="hl red">红色重点</mark>、<mark class="hl green">绿色</mark>、<mark class="hl blue">蓝色</mark>、<mark class="hl yellow">黄色</mark>、<mark class="hl purple">紫色</mark></p>
<h3 id="63-两栏对比替代--tabs-">6.3 两栏对比（替代 <code>{% tabs %}</code>）</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;columns&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">h4</span><span class="p">&gt;</span>方案 A<span class="p">&lt;/</span><span class="nt">h4</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span>内容…<span class="p">&lt;/</span><span class="nt">p</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">h4</span><span class="p">&gt;</span>方案 B<span class="p">&lt;/</span><span class="nt">h4</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span>内容…<span class="p">&lt;/</span><span class="nt">p</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span></code></pre></div><ul>
<li>宽屏并排两栏，窄屏自动堆叠</li>
<li>三栏及以上也可以（自动换行）</li>
<li>这是<strong>静态</strong>对比（不像 tabs 可点击切换）</li>
</ul>
<h3 id="64-数学公式katex">6.4 数学公式（KaTeX）</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="cm">&lt;!-- 行内公式 --&gt;</span>
</span></span><span class="line"><span class="cl">质能方程 $E = mc^2$ 是狭义相对论的核心。
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="cm">&lt;!-- 单行独立公式（推荐日常使用）--&gt;</span>
</span></span><span class="line"><span class="cl">$$\int_{-\infty}^{+\infty} e^{-x^2} \, dx = \sqrt{\pi}$$
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="cm">&lt;!-- 多行 / 复杂公式：必须用 math 短代码包裹 --&gt;</span>
</span></span><span class="line"><span class="cl">{{&lt; math &gt;}}
</span></span><span class="line"><span class="cl">\begin{pmatrix}
</span></span><span class="line"><span class="cl">a &amp; b \\
</span></span><span class="line"><span class="cl">c &amp; d
</span></span><span class="line"><span class="cl">\end{pmatrix}
</span></span><span class="line"><span class="cl">\begin{pmatrix}
</span></span><span class="line"><span class="cl">x \\
</span></span><span class="line"><span class="cl">y
</span></span><span class="line"><span class="cl">\end{pmatrix}
</span></span><span class="line"><span class="cl">=
</span></span><span class="line"><span class="cl">\begin{pmatrix}
</span></span><span class="line"><span class="cl">ax + by \\
</span></span><span class="line"><span class="cl">cx + dy
</span></span><span class="line"><span class="cl">\end{pmatrix}
</span></span><span class="line"><span class="cl">{{&lt; /math &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="cm">&lt;!-- 行内公式的短代码写法（需要显式指定 inline）--&gt;</span>
</span></span><span class="line"><span class="cl">{{&lt; math inline &gt;}}a^2 + b^2 = c^2{{&lt; /math &gt;}}
</span></span></code></pre></div><p>支持的语法：分数 <code>\frac{a}{b}</code>、上下标 <code>x^2</code> <code>a_1</code>、根号 <code>\sqrt{x}</code>、求和 <code>\sum_{i=1}^{n}</code>、积分 <code>\int_a^b</code>、希腊字母 <code>\alpha \beta \pi</code>、矩阵 <code>\begin{pmatrix}</code>、多行对齐 <code>\begin{aligned}</code>、分段函数 <code>\begin{cases}</code> 等（完整语法见 <a href="https://katex.org/docs/supported.html">KaTeX 支持列表</a>）</p>
<blockquote>
<p>⚠️ <strong>多行公式必须用 <code>{{&lt; math &gt;}}</code> 包裹</strong>，直接写多行 <code>$$</code> 会被 Markdown 解析器破坏。</p>
</blockquote>
<h3 id="65-mermaid-图表">6.5 Mermaid 图表</h3>
<p>直接写代码块即可（<strong>不需要记短代码</strong>）：</p>
<p><strong>流程图</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="s">```mermaid
</span></span></span><span class="line"><span class="cl">flowchart TD
</span></span><span class="line"><span class="cl">    A[开始] --&gt; B{条件判断}
</span></span><span class="line"><span class="cl">    B --&gt;|满足| C[执行操作]
</span></span><span class="line"><span class="cl">    B --&gt;|不满足| D[结束]
</span></span><span class="line"><span class="cl">    C --&gt; D
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><p><strong>时序图</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="s">```mermaid
</span></span></span><span class="line"><span class="cl">sequenceDiagram
</span></span><span class="line"><span class="cl">    participant 用户
</span></span><span class="line"><span class="cl">    participant 服务器
</span></span><span class="line"><span class="cl">    用户-&gt;&gt;服务器: 发起请求
</span></span><span class="line"><span class="cl">    服务器--&gt;&gt;用户: 返回数据
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><p><strong>类图</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="s">```mermaid
</span></span></span><span class="line"><span class="cl">classDiagram
</span></span><span class="line"><span class="cl">    class Animal {
</span></span><span class="line"><span class="cl">        +String name
</span></span><span class="line"><span class="cl">        +eat()
</span></span><span class="line"><span class="cl">    }
</span></span><span class="line"><span class="cl">    class Dog {
</span></span><span class="line"><span class="cl">        +bark()
</span></span><span class="line"><span class="cl">    }
</span></span><span class="line"><span class="cl">    Animal &lt;|-- Dog
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><p><strong>状态图</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="s">```mermaid
</span></span></span><span class="line"><span class="cl">stateDiagram-v2
</span></span><span class="line"><span class="cl">    [*] --&gt; 待处理
</span></span><span class="line"><span class="cl">    待处理 --&gt; 处理中
</span></span><span class="line"><span class="cl">    处理中 --&gt; 已完成
</span></span><span class="line"><span class="cl">    已完成 --&gt; [*]
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><p><strong>甘特图</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="s">```mermaid
</span></span></span><span class="line"><span class="cl">gantt
</span></span><span class="line"><span class="cl">    title 项目排期
</span></span><span class="line"><span class="cl">    dateFormat YYYY-MM-DD
</span></span><span class="line"><span class="cl">    section 阶段一
</span></span><span class="line"><span class="cl">    需求分析 :a1, 2026-10-01, 7d
</span></span><span class="line"><span class="cl">    设计     :a2, after a1, 5d
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><p><strong>饼图</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="s">```mermaid
</span></span></span><span class="line"><span class="cl">pie title 时间分配
</span></span><span class="line"><span class="cl">    &#34;写作&#34; : 45
</span></span><span class="line"><span class="cl">    &#34;阅读&#34; : 30
</span></span><span class="line"><span class="cl">    &#34;其他&#34; : 25
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><blockquote>
<p>图表配色会<strong>自动跟随明暗主题</strong>切换。</p>
</blockquote>
<h3 id="66-组合使用示例">6.6 组合使用示例</h3>
<p>一段技术说明可以这样组合：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">&lt;div class=&#34;note warning&#34; data-title=&#34;前置条件&#34;&gt;
</span></span><span class="line"><span class="cl">使用前请先安装 <span class="gs">**Hugo extended**</span> 版本。
</span></span><span class="line"><span class="cl">&lt;/div&gt;
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">处理流程如下：
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">```mermaid
</span></span><span class="line"><span class="cl">flowchart LR
</span></span><span class="line"><span class="cl">    A[输入] --&gt; B[处理] --&gt; C[输出]
</span></span></code></pre></div><p>核心算法：</p>
<div class="math-block">T(n) = 2T(n/2) + O(n)</div><details>
<summary>展开查看完整代码</summary>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">merge_sort</span><span class="p">(</span><span class="n">arr</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">arr</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">1</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="n">arr</span>
</span></span><span class="line"><span class="cl">    <span class="n">mid</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">arr</span><span class="p">)</span> <span class="o">//</span> <span class="mi">2</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">merge</span><span class="p">(</span><span class="n">merge_sort</span><span class="p">(</span><span class="n">arr</span><span class="p">[:</span><span class="n">mid</span><span class="p">]),</span> <span class="n">merge_sort</span><span class="p">(</span><span class="n">arr</span><span class="p">[</span><span class="n">mid</span><span class="p">:]))</span>
</span></span></code></pre></div></details>
```
<hr>
<h2 id="七写作工具与工作流">七、写作工具与工作流</h2>
<h3 id="71-编辑器推荐">7.1 编辑器推荐</h3>
<table>
	<thead>
			<tr>
					<th>工具</th>
					<th>适合场景</th>
					<th>说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>VS Code</strong></td>
					<td>主力写作</td>
					<td>装 <code>Hugo</code> / <code>Markdown All in One</code> / <code>Markdown Preview Enhanced</code> 插件；可开终端跑 <code>hugo server</code></td>
			</tr>
			<tr>
					<td><strong>Typora</strong></td>
					<td>沉浸写作</td>
					<td>所见即所得，但需注意：它渲染的 HTML 与实际站点有差异（短代码不支持预览）</td>
			</tr>
			<tr>
					<td><strong>Obsidian</strong></td>
					<td>知识管理</td>
					<td>适合先在库里写，再导出到 <code>content/posts/</code>；双链语法需改成 Hugo 的 <code>ref</code></td>
			</tr>
			<tr>
					<td><strong>任何文本编辑器</strong></td>
					<td>应急</td>
					<td>因为全是纯文本 Markdown</td>
			</tr>
	</tbody>
</table>
<p><strong>推荐组合</strong>：VS Code 写 + 浏览器开 <code>http://localhost:1313</code> 实时看效果（<code>hugo server</code> 会热重载）。</p>
<h3 id="72-图片处理">7.2 图片处理</h3>
<ul>
<li><strong>存放位置</strong>：<code>static/images/</code>，引用路径 <code>/images/xxx.png</code></li>
<li><strong>格式建议</strong>：优先 WebP（体积小）或 PNG（需要透明时）</li>
<li><strong>封面裁剪</strong>：首页/列表封面建议统一比例，可用裁剪工具处理后再放入 <code>static/images/cover/</code></li>
<li><strong>图片优化</strong>：Hugo 支持图片处理（缩放/裁剪/格式转换），需要时可研究 <code>resources</code> 目录</li>
</ul>
<h3 id="73-命令速查">7.3 命令速查</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">hugo new content posts/文章名.md          <span class="c1"># 新建文章</span>
</span></span><span class="line"><span class="cl">hugo new content about.md                <span class="c1"># 新建页面</span>
</span></span><span class="line"><span class="cl">hugo server -D                           <span class="c1"># 预览（含草稿）</span>
</span></span><span class="line"><span class="cl">hugo server -D --bind 0.0.0.0            <span class="c1"># 允许局域网访问（手机上看效果）</span>
</span></span><span class="line"><span class="cl">hugo server --navigateToChanged          <span class="c1"># 编辑后自动跳转到改动页面</span>
</span></span><span class="line"><span class="cl">hugo --gc --minify                       <span class="c1"># 构建（清理 + 压缩）</span>
</span></span><span class="line"><span class="cl">hugo --gc --minify --buildFuture         <span class="c1"># 构建含未来日期的文章</span>
</span></span><span class="line"><span class="cl">hugo list all                            <span class="c1"># 列出所有文章及 URL</span>
</span></span><span class="line"><span class="cl">hugo list drafts                         <span class="c1"># 列出草稿</span>
</span></span><span class="line"><span class="cl">hugo config                              <span class="c1"># 查看生效的完整配置</span>
</span></span><span class="line"><span class="cl">hugo new theme 主题名                     <span class="c1"># 创建新主题（一般用不到）</span>
</span></span></code></pre></div><h3 id="74-发布流程">7.4 发布流程</h3>
<ol>
<li><code>hugo --gc --minify</code> 构建</li>
<li>把 <code>public/</code> 目录部署到托管平台（GitHub Pages / Cloudflare Pages / Vercel / Netlify）</li>
<li>推荐配置 CI：推送到 Git 后自动构建部署（Cloudflare Pages 可直接连仓库，构建命令 <code>hugo --gc --minify</code>，输出目录 <code>public</code>）</li>
</ol>
<blockquote>
<p>注意：<code>themes/PaperMod</code> 是用 git clone 装的，如果主仓库也要版本管理，建议把它作为 <strong>git submodule</strong> 或直接删除 <code>.git</code> 目录后纳入主仓库。</p>
</blockquote>
<hr>
<h2 id="八实战完整文章示例">八、实战：完整文章示例</h2>
<p>以下是一篇完整文章的骨架，涵盖了常用语法：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;深入理解 XXX&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">date</span><span class="p">:</span><span class="w"> </span><span class="ld">2026-10-07T10:00:00</span><span class="m">+08</span><span class="p">:</span><span class="m">00</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">lastmod</span><span class="p">:</span><span class="w"> </span><span class="ld">2026-10-07T10:00:00</span><span class="m">+08</span><span class="p">:</span><span class="m">00</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">draft</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">description</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;本文从 A 出发，推导出 B，并给出实践建议。&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">tags</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;技术&#34;</span><span class="p">,</span><span class="w"> </span><span class="s2">&#34;算法&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">categories</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;技术&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">keywords</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;XXX&#34;</span><span class="p">,</span><span class="w"> </span><span class="s2">&#34;算法&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">math</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">ShowToc</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">TocOpen</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">cover</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;/images/cover/xxx.jpg&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">alt</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;封面&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">caption</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;图片来源：xxx&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## 背景
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">XXX 是一个常见问题。研究表明，**关键因素有三个**：
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">1.</span> 因素一
</span></span><span class="line"><span class="cl"><span class="k">2.</span> 因素二
</span></span><span class="line"><span class="cl"><span class="k">3.</span> 因素三
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">&lt;div class=&#34;note info&#34; data-title=&#34;前置知识&#34;&gt;
</span></span><span class="line"><span class="cl">阅读本文需要了解 &lt;mark class=&#34;hl blue&#34;&gt;线性代数&lt;/mark&gt; 基础。
</span></span><span class="line"><span class="cl">&lt;/div&gt;
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## 核心推导
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">设输入为 $x$，则输出为：
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">$$y = \sum_{i=1}^{n} w_i x_i + b$$
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">多行推导：
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{{&lt; math &gt;}}
</span></span><span class="line"><span class="cl">\begin{aligned}
</span></span><span class="line"><span class="cl">L &amp;= \frac{1}{2}(y - \hat{y})^2 \\
</span></span><span class="line"><span class="cl">\frac{\partial L}{\partial w_i} &amp;= (y - \hat{y}) x_i
</span></span><span class="line"><span class="cl">\end{aligned}
</span></span><span class="line"><span class="cl">{{&lt; /math &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## 流程图
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">```mermaid
</span></span><span class="line"><span class="cl">flowchart TD
</span></span><span class="line"><span class="cl">    A[输入数据] --&gt; B{数据是否完整?}
</span></span><span class="line"><span class="cl">    B --&gt;|是| C[特征提取]
</span></span><span class="line"><span class="cl">    B --&gt;|否| D[数据清洗]
</span></span><span class="line"><span class="cl">    D --&gt; C
</span></span><span class="line"><span class="cl">    C --&gt; E[模型训练]
</span></span><span class="line"><span class="cl">    E --&gt; F[输出结果]
</span></span></code></pre></div><h2 id="两种方案对比">两种方案对比</h2>
<div class="columns">
<div>
<h4>方案 A：简单直观</h4>
<p>实现快，适合数据量小的场景。缺点是扩展性差。</p>
</div>
<div>
<h4>方案 B：复杂但可扩展</h4>
<p>前期投入大，但数据量增长后优势明显。</p>
</div>
</div>
<h2 id="参考实现">参考实现</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">solve</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="nb">sum</span><span class="p">(</span><span class="n">wi</span> <span class="o">*</span> <span class="n">xi</span> <span class="k">for</span> <span class="n">wi</span><span class="p">,</span> <span class="n">xi</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">w</span><span class="p">,</span> <span class="n">x</span><span class="p">))</span> <span class="o">+</span> <span class="n">b</span>
</span></span></code></pre></div><details>
<summary>展开查看完整代码（含边界处理）</summary>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">solve</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="ow">not</span> <span class="n">x</span> <span class="ow">or</span> <span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">w</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&#34;维度不匹配&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="nb">sum</span><span class="p">(</span><span class="n">wi</span> <span class="o">*</span> <span class="n">xi</span> <span class="k">for</span> <span class="n">wi</span><span class="p">,</span> <span class="n">xi</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">w</span><span class="p">,</span> <span class="n">x</span><span class="p">))</span> <span class="o">+</span> <span class="n">b</span>
</span></span></code></pre></div></details>
<h2 id="小结">小结</h2>
<div class="note success">
核心结论：**XXX 的关键在于 YYY**。
</div>
<p>参考：<a href="https://example.com">官方文档</a></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-mysql" data-lang="mysql"><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">---
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">## 九、常见坑与排查
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">现象</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">原因</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">解决</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="c1">---|---|---|
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">文章写了但不显示</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="kt">date</span><span class="o">`</span><span class="w"> </span><span class="err">是未来时间（</span><span class="o">`</span><span class="n">buildFuture</span><span class="p">:</span><span class="w"> </span><span class="no">false</span><span class="o">`</span><span class="err">）</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">改成过去时间，或构建加</span><span class="w"> </span><span class="o">`</span><span class="c1">--buildFuture` |
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">文章写了但不显示</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="n">draft</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">预览用</span><span class="w"> </span><span class="o">`</span><span class="n">hugo</span><span class="w"> </span><span class="n">server</span><span class="w"> </span><span class="o">-</span><span class="n">D</span><span class="o">`</span><span class="err">，发布前改成</span><span class="w"> </span><span class="o">`</span><span class="no">false</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">多行公式显示成乱码</span><span class="o">/</span><span class="err">标题</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">直接写了多行</span><span class="w"> </span><span class="o">`</span><span class="err">$$…$$</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">用</span><span class="w"> </span><span class="o">`</span><span class="err">{{</span><span class="o">&lt;</span><span class="w"> </span><span class="n">math</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}…{{</span><span class="o">&lt;</span><span class="w"> </span><span class="o">/</span><span class="n">math</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}</span><span class="o">`</span><span class="w"> </span><span class="err">包裹</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">公式显示为原始</span><span class="w"> </span><span class="n">LaTeX</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">KaTeX</span><span class="w"> </span><span class="err">加载失败或语法错误</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">检查</span><span class="w"> </span><span class="n">front</span><span class="w"> </span><span class="n">matter</span><span class="w"> </span><span class="err">的</span><span class="w"> </span><span class="o">`</span><span class="n">math</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="o">`</span><span class="err">；检查公式语法（</span><span class="o">`</span><span class="n">throwOnError</span><span class="p">:</span><span class="w"> </span><span class="no">false</span><span class="o">`</span><span class="w"> </span><span class="err">会显示原文）</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="n">Mermaid</span><span class="w"> </span><span class="err">显示为代码块</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">代码块语言名写错</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">必须是</span><span class="w"> </span><span class="o">`</span><span class="n">mermaid</span><span class="o">`</span><span class="err">（全小写）</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="n">collapse</span><span class="o">`</span><span class="w"> </span><span class="err">没有标题</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">用了位置参数</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">改成</span><span class="w"> </span><span class="o">`</span><span class="n">collapse</span><span class="w"> </span><span class="n">summary</span><span class="o">=</span><span class="s2">&#34;标题&#34;</span><span class="o">`</span><span class="w"> </span><span class="err">的命名参数写法</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">短代码被当成文字显示</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">尖括号缺失或参数格式错误</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">检查写法；需要展示语法本身时用转义写法（见「短代码转义」一节）</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">图片不显示</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">路径错误</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">图片放</span><span class="w"> </span><span class="o">`</span><span class="n">static</span><span class="o">/</span><span class="n">images</span><span class="o">/`</span><span class="err">，引用写</span><span class="w"> </span><span class="o">`/</span><span class="n">images</span><span class="o">/</span><span class="n">xxx</span><span class="p">.</span><span class="n">png</span><span class="o">`</span><span class="err">（</span><span class="o">**</span><span class="err">不要</span><span class="o">**</span><span class="err">带</span><span class="w"> </span><span class="o">`</span><span class="n">static</span><span class="o">`</span><span class="err">）</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">图片不显示</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">文件名大小写不符</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">部署到</span><span class="w"> </span><span class="n">Linux</span><span class="w"> </span><span class="err">服务器时大小写敏感</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">分类链接</span><span class="w"> </span><span class="mi">404</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">分类名与已有分类不一致</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">统一分类命名</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">表格没渲染</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">分隔行缺少或格式错误</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">表格第二行必须是</span><span class="w"> </span><span class="o">`|</span><span class="c1">---|---|` |
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="n">HTML</span><span class="w"> </span><span class="err">被显示为文字</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="n">unsafe</span><span class="o">`</span><span class="w"> </span><span class="err">被关闭</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">确认</span><span class="w"> </span><span class="o">`</span><span class="n">hugo</span><span class="p">.</span><span class="n">yaml</span><span class="o">`</span><span class="w"> </span><span class="err">里</span><span class="w"> </span><span class="o">`</span><span class="n">markup</span><span class="p">.</span><span class="n">goldmark</span><span class="p">.</span><span class="n">renderer</span><span class="p">.</span><span class="n">unsafe</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">中文标题</span><span class="w"> </span><span class="n">URL</span><span class="w"> </span><span class="err">很长</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">默认用标题生成</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">在</span><span class="w"> </span><span class="n">front</span><span class="w"> </span><span class="n">matter</span><span class="w"> </span><span class="err">加</span><span class="w"> </span><span class="o">`</span><span class="n">slug</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;english-name&#34;</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">---
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">## 十、速查表
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">### 10.1 语法一览
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">需求</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">语法</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="c1">---|---|
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">加粗</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="err">斜体</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="err">删除线</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`**</span><span class="err">粗</span><span class="o">**`</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="o">`*</span><span class="err">斜</span><span class="o">*`</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="o">`~~</span><span class="err">删</span><span class="o">~~`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">行内代码</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">``</span><span class="w"> </span><span class="o">`</span><span class="n">code</span><span class="o">`</span><span class="w"> </span><span class="o">``</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">代码块</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="w"> </span><span class="o">```</span><span class="n">python</span><span class="w"> </span><span class="o">`</span><span class="w"> </span><span class="err">…</span><span class="w"> </span><span class="o">`</span><span class="w"> </span><span class="o">```</span><span class="w"> </span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">链接</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="p">[</span><span class="err">文字</span><span class="p">](</span><span class="n">url</span><span class="p">)</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">站内链接</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="p">[</span><span class="err">文字</span><span class="p">](</span><span class="err">{{</span><span class="o">&lt;</span><span class="w"> </span><span class="n">ref</span><span class="w"> </span><span class="s2">&#34;posts/x.md&#34;</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}</span><span class="p">)</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">图片</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`!</span><span class="p">[</span><span class="err">说明</span><span class="p">](</span><span class="o">/</span><span class="n">images</span><span class="o">/</span><span class="n">x</span><span class="p">.</span><span class="n">png</span><span class="p">)</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">图片（带图注）</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">{{</span><span class="o">&lt;</span><span class="w"> </span><span class="n">figure</span><span class="w"> </span><span class="n">src</span><span class="o">=</span><span class="s2">&#34;/images/x.png&#34;</span><span class="w"> </span><span class="n">caption</span><span class="o">=</span><span class="s2">&#34;说明&#34;</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">表格</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">\</span><span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="err">\</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="err">\</span><span class="o">|`</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="o">`</span><span class="err">\</span><span class="o">|</span><span class="c1">---\|---\|` |
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">任务列表</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`-</span><span class="w"> </span><span class="p">[</span><span class="n">x</span><span class="p">]</span><span class="w"> </span><span class="err">完成</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">引用</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`&gt;</span><span class="w"> </span><span class="err">文字</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">脚注</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">文字</span><span class="p">[</span><span class="o">^</span><span class="mi">1</span><span class="p">]</span><span class="o">`</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="o">`</span><span class="p">[</span><span class="o">^</span><span class="mi">1</span><span class="p">]:</span><span class="w"> </span><span class="err">内容</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">分割线</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="c1">---`（前后空行） |
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">提示框</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`&lt;</span><span class="k">div</span><span class="w"> </span><span class="n">class</span><span class="o">=</span><span class="s2">&#34;note info&#34;</span><span class="o">&gt;</span><span class="err">…</span><span class="o">&lt;/</span><span class="k">div</span><span class="o">&gt;`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">高亮</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`&lt;</span><span class="n">mark</span><span class="w"> </span><span class="n">class</span><span class="o">=</span><span class="s2">&#34;hl red&#34;</span><span class="o">&gt;</span><span class="err">…</span><span class="o">&lt;/</span><span class="n">mark</span><span class="o">&gt;`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">两栏</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`&lt;</span><span class="k">div</span><span class="w"> </span><span class="n">class</span><span class="o">=</span><span class="s2">&#34;columns&#34;</span><span class="o">&gt;&lt;</span><span class="k">div</span><span class="o">&gt;</span><span class="err">…</span><span class="o">&lt;/</span><span class="k">div</span><span class="o">&gt;&lt;</span><span class="k">div</span><span class="o">&gt;</span><span class="err">…</span><span class="o">&lt;/</span><span class="k">div</span><span class="o">&gt;&lt;/</span><span class="k">div</span><span class="o">&gt;`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">折叠</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">{{</span><span class="o">&lt;</span><span class="w"> </span><span class="n">collapse</span><span class="w"> </span><span class="n">summary</span><span class="o">=</span><span class="s2">&#34;标题&#34;</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}…{{</span><span class="o">&lt;</span><span class="w"> </span><span class="o">/</span><span class="n">collapse</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">行内公式</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">$公式$</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">单行公式</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">$$公式$$</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">多行公式</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">{{</span><span class="o">&lt;</span><span class="w"> </span><span class="n">math</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}…{{</span><span class="o">&lt;</span><span class="w"> </span><span class="o">/</span><span class="n">math</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">流程图</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="w"> </span><span class="o">```</span><span class="n">mermaid</span><span class="w"> </span><span class="o">`</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="o">`</span><span class="n">flowchart</span><span class="w"> </span><span class="n">TD</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="n">YouTube</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">{{</span><span class="o">&lt;</span><span class="w"> </span><span class="n">youtube</span><span class="w"> </span><span class="err">视频</span><span class="n">ID</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">本地视频</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">{{</span><span class="o">&lt;</span><span class="w"> </span><span class="n">video</span><span class="w"> </span><span class="n">src</span><span class="o">=</span><span class="s2">&#34;/media/x.mp4&#34;</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">本地音频</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">{{</span><span class="o">&lt;</span><span class="w"> </span><span class="n">audio</span><span class="w"> </span><span class="n">src</span><span class="o">=</span><span class="s2">&#34;/media/x.mp3&#34;</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">原始</span><span class="w"> </span><span class="n">HTML</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">{{</span><span class="o">&lt;</span><span class="w"> </span><span class="n">rawhtml</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}…{{</span><span class="o">&lt;</span><span class="w"> </span><span class="o">/</span><span class="n">rawhtml</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">行内小图</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">{{</span><span class="o">&lt;</span><span class="w"> </span><span class="n">inTextImg</span><span class="w"> </span><span class="n">url</span><span class="o">=</span><span class="s2">&#34;/images/x.svg&#34;</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">显示短代码语法</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">`</span><span class="err">{{</span><span class="o">&lt;</span><span class="w"> </span><span class="err">短代码</span><span class="w"> </span><span class="o">&gt;</span><span class="err">}}</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">|</span><span class="w"> </span><span class="err">自定义</span><span class="w"> </span><span class="n">URL</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">front</span><span class="w"> </span><span class="n">matter</span><span class="w"> </span><span class="err">里</span><span class="w"> </span><span class="o">`</span><span class="n">slug</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;xxx&#34;</span><span class="o">`</span><span class="w"> </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">### 10.2 常用组合模板
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">**</span><span class="err">技术文章</span><span class="o">**</span><span class="err">：</span><span class="n">front</span><span class="w"> </span><span class="n">matter</span><span class="err">（</span><span class="o">`</span><span class="n">math</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="o">`</span><span class="err">、</span><span class="o">`</span><span class="n">ShowToc</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="o">`</span><span class="err">）</span><span class="o">+</span><span class="w"> </span><span class="err">提示框（前置条件）</span><span class="o">+</span><span class="w"> </span><span class="n">Mermaid</span><span class="err">（流程）</span><span class="o">+</span><span class="w"> </span><span class="err">代码块</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="err">折叠（完整代码）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">**</span><span class="err">思辨文章</span><span class="o">**</span><span class="err">：</span><span class="n">front</span><span class="w"> </span><span class="n">matter</span><span class="err">（</span><span class="o">`</span><span class="n">categories</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;随笔&#34;</span><span class="p">]</span><span class="o">`</span><span class="err">）</span><span class="o">+</span><span class="w"> </span><span class="err">引用块（金句）</span><span class="o">+</span><span class="w"> </span><span class="err">提示框（核心论点）</span><span class="o">+</span><span class="w"> </span><span class="err">两栏（对比）</span><span class="o">+</span><span class="w"> </span><span class="err">高亮（关键词）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">**</span><span class="err">教程文章</span><span class="o">**</span><span class="err">：</span><span class="n">front</span><span class="w"> </span><span class="n">matter</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="err">有序列表（步骤）</span><span class="o">+</span><span class="w"> </span><span class="err">代码块</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="err">提示框（注意事项）</span><span class="o">+</span><span class="w"> </span><span class="err">折叠（补充说明）</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">---
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">&gt;</span><span class="w"> </span><span class="o">**</span><span class="err">文档维护</span><span class="o">**</span><span class="err">：新增语法或修改样式后，请同步更新本文档。</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="o">&gt;</span><span class="w"> </span><span class="o">**</span><span class="err">相关文件</span><span class="o">**</span><span class="err">：</span><span class="o">`</span><span class="n">hugo</span><span class="p">.</span><span class="n">yaml</span><span class="o">`</span><span class="err">（配置）、</span><span class="o">`</span><span class="n">assets</span><span class="o">/</span><span class="n">css</span><span class="o">/</span><span class="n">extended</span><span class="o">/</span><span class="n">custom</span><span class="p">.</span><span class="n">css</span><span class="o">`</span><span class="err">（样式）、</span><span class="o">`</span><span class="n">layouts</span><span class="o">/`</span><span class="err">（短代码与钩子）</span><span class="w">
</span></span></span></code></pre></div>]]></content:encoded>
    </item>
    <item>
      <title>Hugo 博客多平台部署与 baseURL 配置</title>
      <link>https://blog.646474.xyz/posts/multi-platform-deploy/</link>
      <pubDate>Wed, 07 Oct 2026 01:20:00 +0800</pubDate>
      <guid>https://blog.646474.xyz/posts/multi-platform-deploy/</guid>
      <description>同一份源码部署到 GitHub Pages / Vercel / Netlify / Cloudflare Pages 的配置方法，以及 baseURL 的作用与实测结论。</description>
      <content:encoded><![CDATA[<p>本站同一份源码部署在多个平台（GitHub Pages / Vercel / Netlify / Cloudflare Pages …），
但<strong>主域名只有一个</strong>。本文档说明配置方式。</p>
<hr>
<h2 id="一本站采用的方案主域名统一">一、本站采用的方案：主域名统一</h2>
<p><code>hugo.yaml</code> 里 <code>baseURL</code> 填的是主域名：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">baseURL</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;https://blog.646474.xyz/&#34;</span><span class="w">
</span></span></span></code></pre></div><p><strong>所有平台都用这一个值</strong>，构建命令不需要任何额外参数。这样做的效果：</p>
<table>
	<thead>
			<tr>
					<th>内容</th>
					<th>实际行为</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>CSS / JS 资源</td>
					<td>用相对路径（<code>/assets/...</code>）→ <strong>每个平台都能正常加载</strong></td>
			</tr>
			<tr>
					<td>文章图片</td>
					<td>根相对路径（<code>/images/...</code>）→ 同上</td>
			</tr>
			<tr>
					<td><code>canonical</code></td>
					<td>统一指向 <code>https://blog.646474.xyz/...</code></td>
			</tr>
			<tr>
					<td><code>sitemap.xml</code> / <code>rss.xml</code></td>
					<td>统一指向主域名</td>
			</tr>
			<tr>
					<td>分享卡片（OG / Twitter）</td>
					<td>统一指向主域名</td>
			</tr>
			<tr>
					<td><strong>SEO 效果</strong></td>
					<td>权重集中在主域名，<strong>不存在重复内容问题</strong></td>
			</tr>
			<tr>
					<td><strong>其他平台的角色</strong></td>
					<td>镜像 / 备用入口（访问正常，但不与主站争夺收录）</td>
			</tr>
	</tbody>
</table>
<blockquote>
<p>这是最省心的多平台方案：<strong>配一次，处处可用</strong>。</p>
</blockquote>
<hr>
<h2 id="二各平台配置表">二、各平台配置表</h2>
<table>
	<thead>
			<tr>
					<th>平台</th>
					<th>构建命令</th>
					<th>输出目录</th>
					<th>需要的环境变量</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>GitHub Pages</strong></td>
					<td><code>hugo --gc --minify</code></td>
					<td><code>public</code></td>
					<td>无（本仓库 Actions 已配好，只需 <code>DEPLOY_TOKEN</code> Secret）</td>
			</tr>
			<tr>
					<td><strong>Vercel</strong></td>
					<td><code>hugo --gc --minify</code></td>
					<td><code>public</code></td>
					<td><code>HUGO_VERSION = 0.167.0</code></td>
			</tr>
			<tr>
					<td><strong>Netlify</strong></td>
					<td><code>hugo --gc --minify</code></td>
					<td><code>public</code></td>
					<td><code>HUGO_VERSION = 0.167.0</code></td>
			</tr>
			<tr>
					<td><strong>Cloudflare Pages</strong></td>
					<td><code>hugo --gc --minify</code></td>
					<td><code>public</code></td>
					<td><code>HUGO_VERSION = 0.167.0</code></td>
			</tr>
			<tr>
					<td>其他平台</td>
					<td><code>hugo --gc --minify</code></td>
					<td><code>public</code></td>
					<td>视平台而定</td>
			</tr>
	</tbody>
</table>
<p><strong>关键</strong>：<code>HUGO_VERSION</code> 必须填 <code>0.167.0</code>，且必须是 <strong>extended</strong> 版本（PaperMod 用 SCSS，标准版会构建失败）。Cloudflare Pages 默认装的即是 extended；Vercel / Netlify 需要确认。</p>
<hr>
<h2 id="三各平台详细步骤">三、各平台详细步骤</h2>
<h3 id="31-github-pages本仓库已配置">3.1 GitHub Pages（本仓库已配置）</h3>
<p><code>.github/workflows/deploy.yml</code>：推送 <code>main</code> → 构建 → 推送到 <code>666mingqing6.github.io</code> 仓库。</p>
<p>只需配置一个 Secret：</p>
<table>
	<thead>
			<tr>
					<th>名称</th>
					<th>值</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>DEPLOY_TOKEN</code></td>
					<td>对 <code>666mingqing6.github.io</code> 有写权限的 GitHub Token（经典 Token 勾 <code>repo</code>）</td>
			</tr>
	</tbody>
</table>
<h3 id="32-vercel">3.2 Vercel</h3>
<ol>
<li>导入 <code>blog-hugo</code> 仓库</li>
<li>Framework Preset 选 <strong>Hugo</strong></li>
<li>Build Command：<code>hugo --gc --minify</code></li>
<li>Output Directory：<code>public</code></li>
<li>Environment Variables 加 <code>HUGO_VERSION</code> = <code>0.167.0</code></li>
</ol>
<h3 id="33-netlify">3.3 Netlify</h3>
<ol>
<li>导入仓库</li>
<li>Build command：<code>hugo --gc --minify</code></li>
<li>Publish directory：<code>public</code></li>
<li>Environment 加 <code>HUGO_VERSION</code> = <code>0.167.0</code></li>
</ol>
<blockquote>
<p>如构建报 SCSS 错误，在仓库根目录加 <code>netlify.toml</code>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">build</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">  <span class="nx">command</span> <span class="p">=</span> <span class="s2">&#34;hugo --gc --minify&#34;</span>
</span></span><span class="line"><span class="cl">  <span class="nx">publish</span> <span class="p">=</span> <span class="s2">&#34;public&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">[</span><span class="nx">build</span><span class="p">.</span><span class="nx">environment</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">  <span class="nx">HUGO_VERSION</span> <span class="p">=</span> <span class="s2">&#34;0.167.0&#34;</span>
</span></span></code></pre></div></blockquote>
<h3 id="34-cloudflare-pages">3.4 Cloudflare Pages</h3>
<ol>
<li>连接 Git 仓库</li>
<li>Build command：<code>hugo --gc --minify</code></li>
<li>Build output directory：<code>public</code></li>
<li>Environment variables 加 <code>HUGO_VERSION</code> = <code>0.167.0</code></li>
</ol>
<h3 id="35-其他平台--自建服务器">3.5 其他平台 / 自建服务器</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">hugo --gc --minify      <span class="c1"># 构建</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 把 public/ 作为静态站点根目录部署</span>
</span></span></code></pre></div><hr>
<h2 id="四备选方案让各平台用自己的域名">四、备选方案：让各平台用自己的域名</h2>
<p>如果你<strong>希望</strong>每个平台的域名都被独立收录（例如想分别推广），可以改为在构建时覆盖 <code>baseURL</code>：</p>
<table>
	<thead>
			<tr>
					<th>平台</th>
					<th>构建命令</th>
					<th>环境变量说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Vercel</td>
					<td><code>hugo --gc --minify --baseURL &quot;https://$VERCEL_URL/&quot;</code></td>
					<td><code>VERCEL_URL</code> <strong>不含协议</strong>，需手动补 <code>https://</code></td>
			</tr>
			<tr>
					<td>Netlify</td>
					<td><code>hugo --gc --minify --baseURL &quot;$URL/&quot;</code></td>
					<td><code>URL</code> <strong>含协议</strong></td>
			</tr>
			<tr>
					<td>Cloudflare Pages</td>
					<td><code>hugo --gc --minify --baseURL &quot;$CF_PAGES_URL/&quot;</code></td>
					<td><code>CF_PAGES_URL</code> <strong>含协议</strong></td>
			</tr>
			<tr>
					<td>GitHub Pages</td>
					<td><code>hugo --gc --minify --baseURL &quot;https://666mingqing6.github.io/&quot;</code></td>
					<td>无自动变量，写固定值</td>
			</tr>
	</tbody>
</table>
<p><strong>代价</strong>：同一内容出现在多个域名下，搜索引擎视为<strong>重复内容</strong>，权重会分散。</p>
<p><strong>若采用此方案又想避免重复内容</strong>，两种补救：</p>
<ol>
<li><strong>只让主站被收录</strong>：其他平台的 <code>static/robots.txt</code> 写
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">User-agent: *
</span></span><span class="line"><span class="cl">Disallow: /
</span></span></code></pre></div></li>
<li><strong>canonical 统一指向主域名</strong>：需要自定义 <code>layouts/_partials/post_canonical.html</code>，
把 <code>.Permalink</code> 换成主域名拼路径。</li>
</ol>
<hr>
<h2 id="五常见问题">五、常见问题</h2>
<table>
	<thead>
			<tr>
					<th>现象</th>
					<th>原因</th>
					<th>解决</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>页面能打开但样式全无</td>
					<td>极少见（PaperMod 用相对路径，一般不会）</td>
					<td>检查平台是否正确部署了 <code>public/</code> 全部内容</td>
			</tr>
			<tr>
					<td>分享卡片链接指向主域名</td>
					<td>正常行为（主域名统一方案）</td>
					<td>无需处理</td>
			</tr>
			<tr>
					<td>搜索引擎只收录主域名</td>
					<td>正常行为</td>
					<td>无需处理；想改见第四节</td>
			</tr>
			<tr>
					<td>某平台构建报 SCSS 错误</td>
					<td>装的是标准版 Hugo</td>
					<td>设 <code>HUGO_VERSION=0.167.0</code> 并确认平台提供 extended</td>
			</tr>
			<tr>
					<td>构建成功但页面是旧的</td>
					<td>平台 CDN 缓存</td>
					<td>平台后台清缓存</td>
			</tr>
			<tr>
					<td>想临时用其他域名本地预览</td>
					<td>命令行覆盖即可</td>
					<td><code>hugo server --baseURL http://localhost:1313/</code></td>
			</tr>
			<tr>
					<td>不确定产物里的地址对不对</td>
					<td>构建后检查</td>
					<td><code>grep -o '&lt;link rel=canonical[^&gt;]*&gt;' public/posts/*/index.html | head</code></td>
			</tr>
	</tbody>
</table>
<hr>
<h2 id="六一句话总结">六、一句话总结</h2>
<blockquote>
<p><strong><code>baseURL</code> 固定填主域名 <code>https://blog.646474.xyz/</code>，所有平台共用；
资源走相对路径各平台都能显示，SEO 权重全部集中到主域名。</strong>
其他平台就是主站的镜像与备用入口。</p>
</blockquote>
]]></content:encoded>
    </item>
    <item>
      <title>从 Hexo(AnZhiYu) 迁移到 Hugo(PaperMod) 完整记录</title>
      <link>https://blog.646474.xyz/posts/hexo-to-hugo-migration/</link>
      <pubDate>Wed, 07 Oct 2026 01:20:00 +0800</pubDate>
      <guid>https://blog.646474.xyz/posts/hexo-to-hugo-migration/</guid>
      <description>迁移过程中的语法对照表：哪些标签不能用、怎么替换、front matter 字段如何对应，以及踩过的坑。</description>
      <content:encoded><![CDATA[<hr>
<h2 id="一先说结论工作量评估">一、先说结论：工作量评估</h2>
<table>
	<thead>
			<tr>
					<th>项目</th>
					<th>说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>文章正文</strong></td>
					<td>需要替换标签语法（见第二、三节），每篇约 5~15 分钟</td>
			</tr>
			<tr>
					<td><strong>front matter</strong></td>
					<td>需要调整字段（见第五节），可脚本批量处理</td>
			</tr>
			<tr>
					<td><strong>图片</strong></td>
					<td>从 <code>source/img/</code> 移到 <code>static/images/</code>，路径前缀从 <code>/img/</code> 改为 <code>/images/</code></td>
			</tr>
			<tr>
					<td><strong>特有功能</strong></td>
					<td>即刻短文、音乐播放器、首页轮播、AI 摘要、置顶卡片 <strong>PaperMod 都没有</strong>，需要自行实现或放弃</td>
			</tr>
			<tr>
					<td><strong>评论系统</strong></td>
					<td>需要重新接入（PaperMod 预留了 <code>layouts/_partials/comments.html</code>）</td>
			</tr>
	</tbody>
</table>
<p><strong>建议</strong>：先迁移 3~5 篇代表性文章，跑通流程后再批量处理。</p>
<hr>
<h2 id="二新博客不能用的语法anzhiyu--hexo-专有">二、新博客<strong>不能用</strong>的语法（AnZhiYu / Hexo 专有）</h2>
<p>以下标签在 Hugo + PaperMod 中<strong>不存在</strong>，写上去会原样显示成文本（或报错），必须替换：</p>
<h3 id="21-hexo-tag-插件anzhiyu-全部标签">2.1 Hexo tag 插件（AnZhiYu 全部标签）</h3>
<table>
	<thead>
			<tr>
					<th>AnZhiYu 标签</th>
					<th>能否使用</th>
					<th>替代方案</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>{% note info %}</code> <code>{% endnote %}</code></td>
					<td>❌</td>
					<td><code>{{&lt; note info &gt;}}…{{&lt; /note &gt;}}</code>（短代码，内容支持 Markdown）</td>
			</tr>
			<tr>
					<td><code>{% label 文字 red %}</code></td>
					<td>❌</td>
					<td><code>&lt;mark class=&quot;hl red&quot;&gt;文字&lt;/mark&gt;</code>（本项目已内置样式）</td>
			</tr>
			<tr>
					<td><code>{% mermaid %}</code> <code>{% endmermaid %}</code></td>
					<td>❌</td>
					<td><code>```mermaid</code> 代码块（本项目已配置好）</td>
			</tr>
			<tr>
					<td><code>{% katex %}</code> / <code>{% mathjax %}</code></td>
					<td>❌</td>
					<td><code>$$公式$$</code>（单行）或 <code>{{&lt; math &gt;}}…{{&lt; /math &gt;}}</code>（多行）</td>
			</tr>
			<tr>
					<td><code>{% tabs %}</code> / <code>{% endtabs %}</code></td>
					<td>❌</td>
					<td><code>&lt;div class=&quot;columns&quot;&gt;…&lt;/div&gt;</code>（静态两栏，本项目已内置）或删除</td>
			</tr>
			<tr>
					<td><code>{% checkbox %}</code></td>
					<td>❌</td>
					<td>Markdown 任务列表 <code>- [x] 已完成</code></td>
			</tr>
			<tr>
					<td><code>{% timeline %}</code></td>
					<td>❌</td>
					<td>有序列表，或自建样式</td>
			</tr>
			<tr>
					<td><code>{% folding %}</code></td>
					<td>❌</td>
					<td><code>{{&lt; collapse &quot;标题&quot; &gt;}}内容{{&lt; /collapse &gt;}}</code></td>
			</tr>
			<tr>
					<td><code>{% links %}</code></td>
					<td>❌</td>
					<td>Markdown 列表 + 链接</td>
			</tr>
			<tr>
					<td><code>{% btn %}</code> / <code>{% btns %}</code> / <code>{% cell %}</code></td>
					<td>❌</td>
					<td>Markdown 链接或 <code>&lt;a class=&quot;...&quot;&gt;</code></td>
			</tr>
			<tr>
					<td><code>{% tip %}</code></td>
					<td>❌</td>
					<td><code>&lt;div class=&quot;note primary&quot;&gt;…&lt;/div&gt;</code></td>
			</tr>
			<tr>
					<td><code>{% span %}</code> / <code>{% u %}</code> / <code>{% emp %}</code> / <code>{% wavy %}</code> / <code>{% del %}</code> / <code>{% kbd %}</code> / <code>{% psw %}</code></td>
					<td>❌</td>
					<td>原生 HTML：<code>&lt;u&gt;</code> <code>&lt;em&gt;</code> <code>&lt;del&gt;</code> <code>&lt;kbd&gt;</code></td>
			</tr>
			<tr>
					<td><code>{% gallery %}</code></td>
					<td>❌</td>
					<td>多张 <code>{{&lt; figure &gt;}}</code> 或用 Markdown 图片</td>
			</tr>
			<tr>
					<td><code>{% hide %}</code></td>
					<td>❌</td>
					<td><code>{{&lt; collapse &gt;}}</code></td>
			</tr>
			<tr>
					<td><code>{% image %}</code> / <code>{% inlineImg %}</code></td>
					<td>❌</td>
					<td><code>{{&lt; figure &gt;}}</code> / Markdown <code>![]()</code></td>
			</tr>
			<tr>
					<td><code>{% bilibili %}</code> / <code>{% media %}</code> / <code>{% dogeplayer %}</code></td>
					<td>❌</td>
					<td><code>{{&lt; rawhtml &gt;}}&lt;iframe&gt;…{{&lt; /rawhtml &gt;}}</code></td>
			</tr>
			<tr>
					<td><code>{% site %}</code> / <code>{% flink %}</code> / <code>{% iconfont %}</code> / <code>{% Introduction-card %}</code></td>
					<td>❌</td>
					<td>手写 HTML 或用 <code>rawhtml</code></td>
			</tr>
	</tbody>
</table>
<h3 id="22-其它-hexo--anzhiyu-专有写法">2.2 其它 Hexo / AnZhiYu 专有写法</h3>
<table>
	<thead>
			<tr>
					<th>写法</th>
					<th>说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>&lt;div class=&quot;video-container&quot;&gt;…&lt;/div&gt;</code> + 配套 <code>&lt;style&gt;</code></td>
					<td>AnZhiYu 的视频自适应写法 → 改用 <code>{{&lt; youtube ID &gt;}}</code> 或 <code>{{&lt; video src=&quot;…&quot; &gt;}}</code></td>
			</tr>
			<tr>
					<td><code>&lt;!-- more --&gt;</code></td>
					<td>Hugo 用 `</td>
			</tr>
	</tbody>
</table>
<p><code>（无空格），或在 front matter 写 </code>summary:<code>| |</code>{% raw %}<code>/</code>{% endraw %}<code>| Hugo 用</code>{{&lt; … &gt;}}<code>转义 shortcode | | Hexo 的</code>_drafts/<code>目录 | Hugo 用</code>draft: true<code>标记 | | 即刻短文（essay）系统 | ❌ 无对应，需自行实现（可考虑 Hugo 的独立 section） | | 音乐播放器 / APlayer | ❌ 需自行接入第三方 JS | | 首页轮播图 / 置顶卡片组 | ❌ 无对应，可用 PaperMod 的</code>profileMode<code> 或自建布局 | | AI 摘要（</code>ai:<code>字段） | ❌ 无对应，可改写到</code>description` |
| 站点统计（不蒜子等） | ❌ 需自行接入 |</p>
<h3 id="23-不能用的-front-matter-字段">2.3 不能用的 front matter 字段</h3>
<p><code>swiper_index</code>、<code>top_group_index</code>、<code>cover_fit</code>、<code>cover_day</code>、<code>cover_night</code>、<code>ai</code>、<code>abbrlink</code>、<code>background</code>、<code>aside</code>、<code>highlight_shrink</code>、<code>copyright</code> / <code>copyright_author</code> / <code>copyright_url</code> / <code>copyright_info</code>、<code>aplayer</code>、<code>mathjax</code>、<code>katex</code>、<code>toc_number</code>、<code>toc_style_simple</code>、<code>sticky</code>、<code>top_img</code></p>
<blockquote>
<p>这些字段写在 Hugo 里<strong>不会报错</strong>（被忽略），但也没有任何效果，建议清理。</p>
</blockquote>
<hr>
<h2 id="三新博客支持的语法怎么写">三、新博客<strong>支持</strong>的语法（怎么写）</h2>
<h3 id="31-基础-markdown完全通用">3.1 基础 Markdown（完全通用）</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># 一级标题
</span></span></span><span class="line"><span class="cl"><span class="gu">## 二级标题
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gs">**加粗**</span>、*斜体*、~~删除线~~、<span class="sb">`行内代码`</span>、[<span class="nt">链接</span>](<span class="na">https://example.com</span>)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">-</span> 无序列表
</span></span><span class="line"><span class="cl"><span class="k">-</span> 第二项
</span></span><span class="line"><span class="cl">  <span class="k">-</span> 嵌套
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">1.</span> 有序列表
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">- [x]</span> 已完成任务
</span></span><span class="line"><span class="cl"><span class="k">- [ ]</span> 未完成任务
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">| 表头 | 表头 |
</span></span><span class="line"><span class="cl">|---|---|
</span></span><span class="line"><span class="cl">| 单元格 | 单元格 |
</span></span><span class="line"><span class="cl"><span class="k">
</span></span></span><span class="line"><span class="cl"><span class="k">&gt; </span><span class="ge">引用块
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">---
</span></span></code></pre></div><h3 id="32-papermod-自带-shortcode">3.2 PaperMod 自带 shortcode</h3>
<table>
	<thead>
			<tr>
					<th>语法</th>
					<th>作用</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>{{&lt; figure src=&quot;/images/a.png&quot; title=&quot;标题&quot; caption=&quot;说明&quot; align=&quot;center&quot; &gt;}}</code></td>
					<td>图片（带图注，比 Markdown 图片更精细）</td>
			</tr>
			<tr>
					<td><code>{{&lt; inTextImg url=&quot;/images/a.png&quot; alt=&quot;说明&quot; &gt;}}</code></td>
					<td>行内小图标</td>
			</tr>
			<tr>
					<td><code>{{&lt; collapse &quot;点击展开&quot; &gt;}}内容{{&lt; /collapse &gt;}}</code></td>
					<td>折叠面板</td>
			</tr>
			<tr>
					<td><code>{{&lt; rawhtml &gt;}}&lt;div&gt;任意 HTML&lt;/div&gt;{{&lt; /rawhtml &gt;}}</code></td>
					<td>嵌入原始 HTML</td>
			</tr>
			<tr>
					<td><code>{{&lt; video src=&quot;/media/a.mp4&quot; &gt;}}</code></td>
					<td>本地视频</td>
			</tr>
			<tr>
					<td><code>{{&lt; audio src=&quot;/media/a.mp3&quot; &gt;}}</code></td>
					<td>本地音频</td>
			</tr>
			<tr>
					<td><code>{{&lt; ltr &gt;}}</code> / <code>{{&lt; rtl &gt;}}</code></td>
					<td>强制文字方向</td>
			</tr>
	</tbody>
</table>
<h3 id="33-hugo-内置-shortcode">3.3 Hugo 内置 shortcode</h3>
<table>
	<thead>
			<tr>
					<th>语法</th>
					<th>作用</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>{{&lt; youtube VIDEO_ID &gt;}}</code></td>
					<td>嵌入 YouTube（替代 AnZhiYu 的 video-container）</td>
			</tr>
			<tr>
					<td><code>{{&lt; vimeo VIDEO_ID &gt;}}</code></td>
					<td>嵌入 Vimeo</td>
			</tr>
			<tr>
					<td><code>{{&lt; gist 用户名 哈希 &gt;}}</code></td>
					<td>嵌入 GitHub Gist</td>
			</tr>
			<tr>
					<td><code>{{&lt; details &quot;标题&quot; &gt;}}内容{{&lt; /details &gt;}}</code></td>
					<td>折叠（Hugo 原生）</td>
			</tr>
			<tr>
					<td><code>{{&lt; highlight python &quot;linenos=table&quot; &gt;}}代码{{&lt; /highlight &gt;}}</code></td>
					<td>带行号的代码块</td>
			</tr>
			<tr>
					<td><code>{{&lt; ref &quot;posts/某篇文章.md&quot; &gt;}}</code></td>
					<td>站内链接（自动处理路径）</td>
			</tr>
			<tr>
					<td><code>{{&lt; param 参数名 &gt;}}</code></td>
					<td>读取配置参数</td>
			</tr>
	</tbody>
</table>
<h3 id="34-本项目已额外配置好的语法实测可用">3.4 本项目已额外配置好的语法（实测可用）</h3>
<p><strong>提示框</strong>（对标 AnZhiYu 的 <code>{% note %}</code>，用短代码，内容支持 Markdown）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; note info &gt;}}
</span></span><span class="line"><span class="cl">信息提示，支持 **加粗**、`代码`、[链接](url)
</span></span><span class="line"><span class="cl">{{&lt; /note &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{{&lt; note success &gt;}}成功提示{{&lt; /note &gt;}}
</span></span><span class="line"><span class="cl">{{&lt; note warning &gt;}}警告提示{{&lt; /note &gt;}}
</span></span><span class="line"><span class="cl">{{&lt; note danger &gt;}}危险提示{{&lt; /note &gt;}}
</span></span><span class="line"><span class="cl">{{&lt; note primary &gt;}}重点提示{{&lt; /note &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{{&lt; note info &#34;自定义标题&#34; &gt;}}
</span></span><span class="line"><span class="cl">带标题的提示框（第二个参数是标题）
</span></span><span class="line"><span class="cl">{{&lt; /note &gt;}}
</span></span></code></pre></div><blockquote>
<p>⚠️ 不建议用 <code>&lt;div class=&quot;note info&quot;&gt;</code> 的 HTML 写法：块级 HTML 内部的 Markdown
不会被解析（CommonMark 规范行为），加粗会原样显示成星号。</p>
</blockquote>
<p><strong>行内高亮</strong>（对标 <code>{% label %}</code>）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl red&#34;</span><span class="p">&gt;</span>红色重点<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl green&#34;</span><span class="p">&gt;</span>绿色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl blue&#34;</span><span class="p">&gt;</span>蓝色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl yellow&#34;</span><span class="p">&gt;</span>黄色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl purple&#34;</span><span class="p">&gt;</span>紫色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span></code></pre></div><p><strong>两栏对比</strong>（对标 <code>{% tabs %}</code> 的静态替代）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;columns&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">h4</span><span class="p">&gt;</span>方案 A<span class="p">&lt;/</span><span class="nt">h4</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span>内容…<span class="p">&lt;/</span><span class="nt">p</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">h4</span><span class="p">&gt;</span>方案 B<span class="p">&lt;/</span><span class="nt">h4</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span>内容…<span class="p">&lt;/</span><span class="nt">p</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span></code></pre></div><p><strong>数学公式</strong>（KaTeX）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">行内：$E = mc^2$
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">单行独立公式（推荐日常使用）：
</span></span><span class="line"><span class="cl">$$E = mc^2$$
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">多行 / 复杂公式（矩阵、多行推导必须用这个）：
</span></span><span class="line"><span class="cl">{{&lt; math &gt;}}
</span></span><span class="line"><span class="cl">\begin{pmatrix}
</span></span><span class="line"><span class="cl">a &amp; b \\
</span></span><span class="line"><span class="cl">c &amp; d
</span></span><span class="line"><span class="cl">\end{pmatrix}
</span></span><span class="line"><span class="cl">{{&lt; /math &gt;}}
</span></span></code></pre></div><blockquote>
<p>⚠️ <strong>重要</strong>：多行公式<strong>不要</strong>直接写多行 <code>$$</code>——Markdown 解析器会把 <code>\end{pmatrix}</code> 这类行误判成标题，导致公式破损。多行公式一律用 <code>{{&lt; math &gt;}}</code> 包裹。</p>
</blockquote>
<p><strong>Mermaid 流程图</strong>（直接用代码块，无需记短代码）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="s">```mermaid
</span></span></span><span class="line"><span class="cl">flowchart TD
</span></span><span class="line"><span class="cl">    A[开始] --&gt; B{判断}
</span></span><span class="line"><span class="cl">    B --&gt;|是| C[结束]
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><p>时序图、甘特图、类图等所有 Mermaid 图表类型都支持。</p>
<h3 id="35-开启数学公式的两种方式">3.5 开启数学公式的两种方式</h3>
<p>文章 front matter 里任意一种写法都会自动加载 KaTeX：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">math</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">          </span><span class="c"># 显式开启</span><span class="w">
</span></span></span></code></pre></div><p>或者正文里出现 <code>$$</code> 也会自动检测开启。</p>
<hr>
<h2 id="四推荐的创作语法组合">四、推荐的创作语法组合</h2>
<p>日常写作最有价值的四件套：</p>
<table>
	<thead>
			<tr>
					<th>场景</th>
					<th>推荐语法</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>强调重要结论</td>
					<td><code>&lt;div class=&quot;note danger&quot;&gt;结论&lt;/div&gt;</code></td>
			</tr>
			<tr>
					<td>补充说明、可选细节</td>
					<td><code>{{&lt; collapse &quot;展开查看&quot; &gt;}}…{{&lt; /collapse &gt;}}</code></td>
			</tr>
			<tr>
					<td>流程 / 结构 / 时序</td>
					<td><code>```mermaid</code> 代码块</td>
			</tr>
			<tr>
					<td>公式推导</td>
					<td><code>$$单行$$</code> 或 <code>{{&lt; math &gt;}}多行{{&lt; /math &gt;}}</code></td>
			</tr>
			<tr>
					<td>图片带说明</td>
					<td><code>{{&lt; figure src=&quot;…&quot; caption=&quot;…&quot; &gt;}}</code></td>
			</tr>
			<tr>
					<td>代码</td>
					<td>普通代码块（自带高亮 + 复制按钮）</td>
			</tr>
			<tr>
					<td>对比两种方案</td>
					<td><code>&lt;div class=&quot;columns&quot;&gt;</code></td>
			</tr>
	</tbody>
</table>
<hr>
<h2 id="五front-matter-迁移对照表">五、front matter 迁移对照表</h2>
<table>
	<thead>
			<tr>
					<th>Hexo (AnZhiYu)</th>
					<th>Hugo (PaperMod)</th>
					<th>说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>title: &quot;标题&quot;</code></td>
					<td><code>title: &quot;标题&quot;</code></td>
					<td>相同</td>
			</tr>
			<tr>
					<td><code>date: 2026-04-24 19:40:46</code></td>
					<td><code>date: 2026-04-24T19:40:46+08:00</code></td>
					<td>Hugo 两种格式都能解析，但推荐 ISO 8601</td>
			</tr>
			<tr>
					<td><code>updated: 2026-08-08 20:40:00</code></td>
					<td><code>lastmod: 2026-08-08T20:40:00+08:00</code></td>
					<td><strong>字段名不同</strong></td>
			</tr>
			<tr>
					<td><code>tags: [a, b]</code></td>
					<td><code>tags: [&quot;a&quot;, &quot;b&quot;]</code></td>
					<td>相同</td>
			</tr>
			<tr>
					<td><code>categories: [[生活, 意识形态]]</code></td>
					<td><code>categories: [&quot;生活&quot;]</code></td>
					<td><strong>Hugo 不支持多级分类</strong>，二级建议改成 tag</td>
			</tr>
			<tr>
					<td><code>cover: /img/webp/94.webp</code></td>
					<td><code>cover:</code><br><code>  image: &quot;/images/webp/94.webp&quot;</code></td>
					<td><strong>结构不同</strong>（对象）</td>
			</tr>
			<tr>
					<td><code>description: &quot;…&quot;</code></td>
					<td><code>description: &quot;…&quot;</code></td>
					<td>相同</td>
			</tr>
			<tr>
					<td><code>keywords: [a, b]</code></td>
					<td><code>keywords: [&quot;a&quot;, &quot;b&quot;]</code></td>
					<td>相同</td>
			</tr>
			<tr>
					<td><code>abbrlink: xxx</code></td>
					<td><code>slug: xxx</code></td>
					<td>自定义 URL</td>
			</tr>
			<tr>
					<td><code>top: true</code></td>
					<td><code>weight: 1</code>（越小越前）</td>
					<td>置顶需自行实现</td>
			</tr>
			<tr>
					<td><code>toc: true</code></td>
					<td><code>ShowToc: true</code></td>
					<td>字段名不同</td>
			</tr>
			<tr>
					<td><code>toc_number: true</code></td>
					<td><code>UseHugoToc: true</code></td>
					<td>近似</td>
			</tr>
			<tr>
					<td><code>comments: false</code></td>
					<td><code>comments: false</code></td>
					<td>相同</td>
			</tr>
			<tr>
					<td><code>hide: true</code></td>
					<td><code>hideSummary: true</code></td>
					<td>近似</td>
			</tr>
			<tr>
					<td><code>mathjax: true</code> / <code>katex: true</code></td>
					<td><code>math: true</code></td>
					<td>统一为 math</td>
			</tr>
			<tr>
					<td><code>swiper_index</code> / <code>top_group_index</code> / <code>ai</code> / <code>background</code> / <code>aside</code> / <code>cover_fit</code> / <code>cover_day</code> / <code>cover_night</code> / <code>copyright_*</code></td>
					<td>❌</td>
					<td>无对应，删除即可</td>
			</tr>
	</tbody>
</table>
<hr>
<h2 id="六迁移操作步骤">六、迁移操作步骤</h2>
<h3 id="1-复制文章">1. 复制文章</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># 在 Hexo 项目里（blog-demo/source/_posts/）</span>
</span></span><span class="line"><span class="cl">cp 某篇文章.md Z:/ugoblog/content/posts/
</span></span></code></pre></div><h3 id="2-调整-front-matter">2. 调整 front matter</h3>
<ul>
<li><code>updated</code> → <code>lastmod</code></li>
<li><code>cover: /img/x.webp</code> → <code>cover.image: &quot;/images/x.webp&quot;</code></li>
<li>多级 categories 拆成一维</li>
<li>删除无对应字段</li>
</ul>
<h3 id="3-替换正文标签">3. 替换正文标签</h3>
<table>
	<thead>
			<tr>
					<th>查找</th>
					<th>替换为</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>{% note xxx %}</code> … <code>{% endnote %}</code></td>
					<td><code>{{&lt; note xxx &gt;}}</code> … <code>{{&lt; /note &gt;}}</code></td>
			</tr>
			<tr>
					<td><code>{% label 文字 颜色 %}</code></td>
					<td><code>&lt;mark class=&quot;hl 颜色&quot;&gt;文字&lt;/mark&gt;</code></td>
			</tr>
			<tr>
					<td><code>{% mermaid %}</code> … <code>{% endmermaid %}</code></td>
					<td><code>```mermaid</code> … <code>```</code></td>
			</tr>
			<tr>
					<td><code>{% tabs %}</code> … <code>{% endtabs %}</code></td>
					<td>删除或改 <code>&lt;div class=&quot;columns&quot;&gt;</code></td>
			</tr>
			<tr>
					<td><code>{% folding 标题 %}</code> … <code>{% endfolding %}</code></td>
					<td><code>{{&lt; collapse &quot;标题&quot; &gt;}}</code> … <code>{{&lt; /collapse &gt;}}</code></td>
			</tr>
			<tr>
					<td><code>&lt;div class=&quot;video-container&quot;&gt;</code> 整块</td>
					<td><code>{{&lt; youtube 视频ID &gt;}}</code></td>
			</tr>
	</tbody>
</table>
<h3 id="4-迁移图片">4. 迁移图片</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Hexo: blog-demo/source/img/  →  Hugo: Z:/ugoblog/static/images/</span>
</span></span><span class="line"><span class="cl">cp -r blog-demo/source/img/* Z:/ugoblog/static/images/
</span></span></code></pre></div><p>正文里的 <code>/img/xxx.webp</code> 改成 <code>/images/xxx.webp</code>。</p>
<h3 id="5-本地预览">5. 本地预览</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">cd</span> Z:/ugoblog
</span></span><span class="line"><span class="cl">hugo server -D        <span class="c1"># 含草稿预览，浏览器打开 http://localhost:1313</span>
</span></span></code></pre></div><h3 id="6-构建发布">6. 构建发布</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">hugo --gc --minify    <span class="c1"># 产物在 public/ 目录</span>
</span></span></code></pre></div><hr>
<h2 id="七常用命令速查">七、常用命令速查</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">hugo new content posts/我的新文章.md   <span class="c1"># 新建文章（用 archetypes/default.md 模板）</span>
</span></span><span class="line"><span class="cl">hugo server -D                         <span class="c1"># 本地预览（含草稿）</span>
</span></span><span class="line"><span class="cl">hugo server --bind 127.0.0.1 -p <span class="m">1313</span>   <span class="c1"># 指定端口</span>
</span></span><span class="line"><span class="cl">hugo --gc --minify                     <span class="c1"># 构建（清理缓存 + 压缩）</span>
</span></span><span class="line"><span class="cl">hugo --gc --minify --buildFuture       <span class="c1"># 构建含未来日期的文章</span>
</span></span><span class="line"><span class="cl">hugo list all                          <span class="c1"># 列出所有文章及 URL</span>
</span></span><span class="line"><span class="cl">hugo config                            <span class="c1"># 查看当前生效的完整配置</span>
</span></span></code></pre></div><blockquote>
<p>⚠️ 注意：front matter 里 <code>date</code> 若是<strong>未来时间</strong>，默认不会构建（<code>buildFuture: false</code>），
表现为「文章明明写了却不出现在页面上」。要么改成过去时间，要么加 <code>--buildFuture</code>。</p>
</blockquote>
<hr>
<h2 id="八关键文件说明">八、关键文件说明</h2>
<table>
	<thead>
			<tr>
					<th>文件 / 目录</th>
					<th>作用</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>hugo.yaml</code></td>
					<td><strong>站点总配置</strong>（已汉化，所有配置项都有中文说明）</td>
			</tr>
			<tr>
					<td><code>archetypes/default.md</code></td>
					<td>新建文章的模板（已汉化）</td>
			</tr>
			<tr>
					<td><code>content/posts/</code></td>
					<td>文章目录</td>
			</tr>
			<tr>
					<td><code>content/search.md</code></td>
					<td>搜索页（必须存在，否则搜索功能失效）</td>
			</tr>
			<tr>
					<td><code>content/archives.md</code></td>
					<td>归档页</td>
			</tr>
			<tr>
					<td><code>assets/css/extended/custom.css</code></td>
					<td>自定义样式（提示框、高亮、两栏等）</td>
			</tr>
			<tr>
					<td><code>layouts/_partials/extend_head.html</code></td>
					<td>注入 KaTeX / Mermaid（PaperMod 官方扩展点）</td>
			</tr>
			<tr>
					<td><code>layouts/_markup/render-codeblock-mermaid.html</code></td>
					<td>让 <code>```mermaid</code> 输出为图表容器</td>
			</tr>
			<tr>
					<td><code>layouts/_markup/render-passthrough.html</code></td>
					<td>数学公式原样输出（避免被转义）</td>
			</tr>
			<tr>
					<td><code>layouts/_shortcodes/math.html</code></td>
					<td>多行公式 shortcode</td>
			</tr>
			<tr>
					<td><code>static/images/</code></td>
					<td>图片目录（引用路径为 <code>/images/xxx</code>）</td>
			</tr>
			<tr>
					<td><code>themes/PaperMod/</code></td>
					<td>主题本体（升级：<code>cd themes/PaperMod &amp;&amp; git pull</code>）</td>
			</tr>
	</tbody>
</table>
<hr>
<h2 id="九迁移后的功能对照">九、迁移后的功能对照</h2>
<table>
	<thead>
			<tr>
					<th>原 AnZhiYu 功能</th>
					<th>PaperMod 状态</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>文章 + 标签 + 分类</td>
					<td>✅ 原生支持</td>
			</tr>
			<tr>
					<td>归档页</td>
					<td>✅ 原生（<code>content/archives.md</code>）</td>
			</tr>
			<tr>
					<td>站内搜索</td>
					<td>✅ 原生（Fuse.js，已配置）</td>
			</tr>
			<tr>
					<td>暗色模式</td>
					<td>✅ 原生（跟随系统 + 手动切换）</td>
			</tr>
			<tr>
					<td>目录 TOC</td>
					<td>✅ 原生</td>
			</tr>
			<tr>
					<td>代码高亮 + 复制</td>
					<td>✅ 原生</td>
			</tr>
			<tr>
					<td>阅读时间 / 字数</td>
					<td>✅ 原生</td>
			</tr>
			<tr>
					<td>分享按钮</td>
					<td>✅ 原生</td>
			</tr>
			<tr>
					<td>数学公式</td>
					<td>✅ 已配置（KaTeX）</td>
			</tr>
			<tr>
					<td>Mermaid 流程图</td>
					<td>✅ 已配置</td>
			</tr>
			<tr>
					<td>提示框 / 高亮 / 两栏</td>
					<td>✅ 已用自定义 CSS 补齐</td>
			</tr>
			<tr>
					<td>评论</td>
					<td>⚠️ 需自行接入（Twikoo / Giscus / Waline）</td>
			</tr>
			<tr>
					<td>即刻短文</td>
					<td>❌ 无对应</td>
			</tr>
			<tr>
					<td>音乐播放器</td>
					<td>❌ 无对应</td>
			</tr>
			<tr>
					<td>首页轮播 / 置顶卡片</td>
					<td>❌ 无对应</td>
			</tr>
			<tr>
					<td>AI 摘要</td>
					<td>❌ 无对应</td>
			</tr>
			<tr>
					<td>封面图</td>
					<td>✅ 支持（<code>cover.image</code>），但无「跟随主题色」等效果</td>
			</tr>
	</tbody>
</table>]]></content:encoded>
    </item>
    <item>
      <title>写作语法速查（写法 &#43; 效果对照）</title>
      <link>https://blog.646474.xyz/posts/writing-guide-demo/</link>
      <pubDate>Wed, 07 Oct 2026 00:50:00 +0800</pubDate>
      <guid>https://blog.646474.xyz/posts/writing-guide-demo/</guid>
      <description>每条语法都给出「怎么写」和「长什么样」的对照，照着抄即可。</description>
      <content:encoded><![CDATA[<p>本文档列出本站支持的<strong>全部写作语法</strong>，每条都给出「<strong>写法</strong>」与「<strong>实际效果</strong>」对照，方便直接照着抄。</p>
<blockquote>
<p>提示：右侧目录可快速跳转。</p>
</blockquote>
<hr>
<h2 id="一快速开始">一、快速开始</h2>
<p>新建文章（自动套用模板）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">hugo new content posts/我的新文章.md
</span></span></code></pre></div><p>本地预览（写完保存自动刷新）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">hugo server -D
</span></span></code></pre></div><p>推送发布（等价于原来 Hexo 的 <code>hexo push</code>）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">./push.sh        <span class="c1"># Git Bash</span>
</span></span><span class="line"><span class="cl">push.bat         <span class="c1"># 或直接双击这个文件</span>
</span></span></code></pre></div><hr>
<h2 id="二front-matter文章头部配置">二、Front Matter（文章头部配置）</h2>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;文章标题&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">date</span><span class="p">:</span><span class="w"> </span><span class="ld">2026-10-07T10:00:00</span><span class="m">+08</span><span class="p">:</span><span class="m">00</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">lastmod</span><span class="p">:</span><span class="w"> </span><span class="ld">2026-10-07T10:00:00</span><span class="m">+08</span><span class="p">:</span><span class="m">00</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">draft</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">description</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;文章摘要，显示在列表页与搜索结果里&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">tags</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;标签一&#34;</span><span class="p">,</span><span class="w"> </span><span class="s2">&#34;标签二&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">categories</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;随笔&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">keywords</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;关键词&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">math</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">                 </span><span class="c"># 开启数学公式</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">ShowToc</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">              </span><span class="c"># 显示目录</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">cover</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;/images/cover/x.jpg&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">alt</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;封面描述&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">caption</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;封面说明&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span></code></pre></div><p><strong>说明</strong>：所有字段都可选，不写就用 <code>hugo.yaml</code> 里的全局默认值。<code>draft: true</code> 的文章不会发布。</p>
<hr>
<h2 id="三文本与结构">三、文本与结构</h2>
<h3 id="31-标题">3.1 标题</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gu">## 二级标题
</span></span></span><span class="line"><span class="cl"><span class="gu">### 三级标题
</span></span></span><span class="line"><span class="cl"><span class="gu">#### 四级标题
</span></span></span></code></pre></div><p><strong>效果</strong>：见本页各级标题（目录只收录二至四级）。</p>
<h3 id="32-文本样式">3.2 文本样式</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">**加粗**、*斜体*、***粗斜体***、~~删除线~~、<span class="sb">`行内代码`</span>
</span></span></code></pre></div><p><strong>效果</strong>：</p>
<p><strong>加粗</strong>、<em>斜体</em>、<em><strong>粗斜体</strong></em>、<del>删除线</del>、<code>行内代码</code></p>
<h3 id="33-列表">3.3 列表</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="k">-</span> 无序项
</span></span><span class="line"><span class="cl"><span class="k">-</span> 无序项
</span></span><span class="line"><span class="cl">  <span class="k">-</span> 嵌套项（缩进 2 空格）
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">1.</span> 有序项
</span></span><span class="line"><span class="cl"><span class="k">2.</span> 有序项
</span></span></code></pre></div><p><strong>效果</strong>：</p>
<ul>
<li>无序项</li>
<li>无序项
<ul>
<li>嵌套项</li>
</ul>
</li>
</ul>
<ol>
<li>有序项</li>
<li>有序项</li>
</ol>
<h3 id="34-任务列表">3.4 任务列表</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="k">- [x]</span> 已完成的任务
</span></span><span class="line"><span class="cl"><span class="k">- [ ]</span> 未完成的任务
</span></span></code></pre></div><p><strong>效果</strong>：</p>
<ul>
<li><input checked="" disabled="" type="checkbox"> 已完成的任务</li>
<li><input disabled="" type="checkbox"> 未完成的任务</li>
</ul>
<h3 id="35-引用">3.5 引用</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="k">&gt; </span><span class="ge">引用文字，支持 **Markdown**。
</span></span></span><span class="line"><span class="cl"><span class="k">&gt;
</span></span></span><span class="line"><span class="cl"><span class="ge">&gt; 第二段。
</span></span></span></code></pre></div><p><strong>效果</strong>：</p>
<blockquote>
<p>引用文字，支持 <strong>Markdown</strong>。</p>
<p>第二段。</p>
</blockquote>
<h3 id="36-表格">3.6 表格</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">| 左对齐 | 居中 | 右对齐 |
</span></span><span class="line"><span class="cl">|:---|:---:|---:|
</span></span><span class="line"><span class="cl">| 内容 | 内容 | 内容 |
</span></span></code></pre></div><p><strong>效果</strong>：</p>
<table>
	<thead>
			<tr>
					<th style="text-align: left">左对齐</th>
					<th style="text-align: center">居中</th>
					<th style="text-align: right">右对齐</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td style="text-align: left">内容</td>
					<td style="text-align: center">内容</td>
					<td style="text-align: right">内容</td>
			</tr>
	</tbody>
</table>
<h3 id="37-分割线">3.7 分割线</h3>
<p><strong>写法</strong>（前后各留一个空行）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">---
</span></span></code></pre></div><p><strong>效果</strong>：</p>
<hr>
<h3 id="38-脚注">3.8 脚注</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">这句话有脚注[^1]。
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[^1]: 脚注内容写在这里。
</span></span></code></pre></div><p><strong>效果</strong>：</p>
<p>这句话有脚注<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>。</p>
<h3 id="39-链接">3.9 链接</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">[<span class="nt">外部链接</span>](<span class="na">https://gohugo.io</span>)
</span></span><span class="line"><span class="cl">[<span class="nt">站内链接</span>](<span class="na">{{&lt; ref &#34;posts/syntax-demo.md&#34; &gt;}}</span>)
</span></span></code></pre></div><p><strong>效果</strong>：<a href="https://gohugo.io">外部链接</a> ｜ <a href="https://blog.646474.xyz/posts/syntax-demo/">站内链接</a></p>
<blockquote>
<p>站内跳转推荐用 <code>ref</code>，文章改名后链接自动更新。</p>
</blockquote>
<h3 id="310-图片">3.10 图片</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">![<span class="nt">图片说明</span>](<span class="na">/images/example.png</span>)
</span></span></code></pre></div><p><strong>效果</strong>：PaperMod 会自动把 <code>alt</code> 显示为图片下方的图注。更精细的控制用 <code>figure</code> 短代码（见 5.1）。</p>
<hr>
<h2 id="四代码">四、代码</h2>
<h3 id="41-行内代码">4.1 行内代码</h3>
<p><strong>写法</strong>：<code>`const a = 1`</code> → <strong>效果</strong>：<code>const a = 1</code></p>
<h3 id="42-代码块">4.2 代码块</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="s">```python
</span></span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">hello</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="sa">f</span><span class="s2">&#34;Hello, </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><p><strong>效果</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">hello</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="sa">f</span><span class="s2">&#34;Hello, </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">&#34;</span>
</span></span></code></pre></div><blockquote>
<p>代码块自动语法高亮，右上角带复制按钮。</p>
</blockquote>
<h3 id="43-高亮指定行">4.3 高亮指定行</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; highlight python &#34;linenos=table,hl_lines=2&#34; &gt;}}
</span></span><span class="line"><span class="cl">def hello():
</span></span><span class="line"><span class="cl">    print(&#34;这行会高亮&#34;)
</span></span><span class="line"><span class="cl">{{&lt; /highlight &gt;}}
</span></span></code></pre></div><p><strong>效果</strong>：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="hl"><span class="lnt">2
</span></span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">hello</span><span class="p">():</span>
</span></span><span class="line hl"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s2">&#34;这行会高亮&#34;</span><span class="p">)</span></span></span></code></pre></td></tr></table>
</div>
</div>
<hr>
<h2 id="五短代码shortcodes">五、短代码（Shortcodes）</h2>
<h3 id="51-figure-图片带标题与图注">5.1 figure 图片（带标题与图注）</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; figure src=&#34;https://blog.646474.xyz/images/example.png&#34; title=&#34;图片标题&#34; caption=&#34;图片说明，支持 **Markdown**&#34; align=&#34;center&#34; &gt;}}
</span></span></code></pre></div><p><strong>参数</strong>：<code>src</code>（必需）、<code>title</code>、<code>caption</code>、<code>alt</code>、<code>width</code>、<code>height</code>、<code>align=&quot;center&quot;</code>、<code>link</code>、<code>target</code>、<code>rel</code>、<code>class</code></p>
<h3 id="52-collapse-折叠">5.2 collapse 折叠</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; collapse summary=&#34;点击展开&#34; &gt;}}
</span></span><span class="line"><span class="cl">折叠里的内容，支持 **Markdown**。
</span></span><span class="line"><span class="cl">{{&lt; /collapse &gt;}}
</span></span></code></pre></div><p><strong>效果</strong>：</p>


<p><details >
  <summary markdown="span">点击展开</summary>
  <p>折叠里的内容，支持 <strong>Markdown</strong>。</p>
<ul>
<li>列表也行</li>
<li>代码块也行</li>
</ul>
</details></p>

<blockquote>
<p>⚠️ 必须写 <code>summary=&quot;标题&quot;</code>，写成位置参数 <code>{{&lt; collapse &quot;标题&quot; &gt;}}</code> 会没有标题。</p>
</blockquote>
<h3 id="53-note-提示框本站增强">5.3 note 提示框（本站增强）</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; note info &gt;}}
</span></span><span class="line"><span class="cl">这是**信息**提示框，内部支持 Markdown。
</span></span><span class="line"><span class="cl">{{&lt; /note &gt;}}
</span></span></code></pre></div><p><strong>五种类型</strong>：</p>
<div class="note info">
<strong>info</strong> —— 一般信息提示
</div>

<div class="note success">
<strong>success</strong> —— 成功 / 推荐做法
</div>

<div class="note warning">
<strong>warning</strong> —— 注意事项
</div>

<div class="note danger">
<strong>danger</strong> —— 危险 / 强烈警告
</div>

<div class="note primary">
<strong>primary</strong> —— 重点强调
</div>

<p><strong>带标题</strong>（第二个参数）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; note warning &#34;前置条件&#34; &gt;}}
</span></span><span class="line"><span class="cl">内容…
</span></span><span class="line"><span class="cl">{{&lt; /note &gt;}}
</span></span></code></pre></div><p><strong>效果</strong>：</p>
<div class="note warning" data-title="前置条件">
需要先安装 <strong>Hugo extended</strong> 版本。
</div>

<blockquote>
<p><strong>为什么用短代码而不是 HTML？</strong> 直接写 <code>&lt;div class=&quot;note info&quot;&gt;…&lt;/div&gt;</code> 时，
块级 HTML 内部的 Markdown <strong>不会被解析</strong>（CommonMark 规范行为），
<code>**加粗**</code> 会原样显示成星号。短代码会先把内容渲染成 Markdown 再填入。</p>
</blockquote>
<h3 id="54-rawhtml-原始-html">5.4 rawhtml 原始 HTML</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; rawhtml &gt;}}
</span></span><span class="line"><span class="cl">&lt;div class=&#34;my-widget&#34;&gt;任意 HTML&lt;/div&gt;
</span></span><span class="line"><span class="cl">{{&lt; /rawhtml &gt;}}
</span></span></code></pre></div><h3 id="55-音频与视频">5.5 音频与视频</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; audio src=&#34;https://blog.646474.xyz/media/demo.mp3&#34; &gt;}}
</span></span><span class="line"><span class="cl">{{&lt; video src=&#34;https://blog.646474.xyz/media/demo.mp4&#34; &gt;}}
</span></span><span class="line"><span class="cl">{{&lt; youtube i8Iiv9yFTdM &gt;}}
</span></span></code></pre></div><h3 id="56-行内小图标">5.6 行内小图标</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; inTextImg url=&#34;https://blog.646474.xyz/images/logo.svg&#34; alt=&#34;logo&#34; height=&#34;20&#34; &gt;}}
</span></span></code></pre></div><h3 id="57-details-折叠hugo-原生">5.7 details 折叠（Hugo 原生）</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; details &#34;点击展开&#34; &gt;}}
</span></span><span class="line"><span class="cl">内容，支持 **Markdown**。
</span></span><span class="line"><span class="cl">{{&lt; /details &gt;}}
</span></span></code></pre></div><p><strong>效果</strong>：</p>

<details>
	<summary>Details</summary>
	<p>内容，支持 <strong>Markdown</strong>。</p>
</details>

<h3 id="58-显示短代码语法本身">5.8 显示短代码语法本身</h3>
<p>想在文章里<strong>展示</strong>短代码而不让它执行，用 <code>/* */</code> 包裹：</p>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; note info &gt;}}内容{{&lt; /note &gt;}}
</span></span></code></pre></div><p><strong>页面效果</strong>：会原样显示成 <code><div class="note info">
内容
</div>
</code>（纯文本），而不是渲染成提示框。</p>
<blockquote>
<p>若只写单边（如 <code>{{&lt; note info &gt;}}</code> 而没有对应的闭合标记），Hugo 会报
<code>shortcode &quot;note&quot; must be closed or self-closed</code> 构建失败 —— 成对书写即可。</p>
</blockquote>
<hr>
<h2 id="六增强语法">六、增强语法</h2>
<h3 id="61-行内高亮">6.1 行内高亮</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl red&#34;</span><span class="p">&gt;</span>红色重点<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl green&#34;</span><span class="p">&gt;</span>绿色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl blue&#34;</span><span class="p">&gt;</span>蓝色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl yellow&#34;</span><span class="p">&gt;</span>黄色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">mark</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;hl purple&#34;</span><span class="p">&gt;</span>紫色<span class="p">&lt;/</span><span class="nt">mark</span><span class="p">&gt;</span>
</span></span></code></pre></div><p><strong>效果</strong>：</p>
<p><mark class="hl red">红色重点</mark>、<mark class="hl green">绿色</mark>、<mark class="hl blue">蓝色</mark>、<mark class="hl yellow">黄色</mark>、<mark class="hl purple">紫色</mark></p>
<h3 id="62-两栏对比">6.2 两栏对比</h3>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;columns&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">h4</span><span class="p">&gt;</span>方案 A<span class="p">&lt;/</span><span class="nt">h4</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span>内容（这里用 HTML 标签，不用 Markdown）<span class="p">&lt;/</span><span class="nt">p</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">h4</span><span class="p">&gt;</span>方案 B<span class="p">&lt;/</span><span class="nt">h4</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span>内容<span class="p">&lt;/</span><span class="nt">p</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span></code></pre></div><p><strong>效果</strong>：</p>
<div class="columns">
<div>
<h4>方案 A</h4>
<p>简单直观，实现快，适合小数据量场景。</p>
</div>
<div>
<h4>方案 B</h4>
<p>前期投入大，但数据量增长后优势明显。</p>
</div>
</div>
<blockquote>
<p>注意：<code>columns</code> 内部用 HTML 标签（<code>&lt;p&gt;</code> <code>&lt;h4&gt;</code>），不要写 Markdown —— 原因同上（块级 HTML 内不解析 Markdown）。</p>
</blockquote>
<h3 id="63-数学公式">6.3 数学公式</h3>
<p><strong>行内公式</strong> —— 写法：<code>$E = mc^2$</code> → 效果：<span class="math-inline">E = mc^2</span></p>
<p><strong>单行独立公式</strong> —— 写法：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">$$\int_{-\infty}^{+\infty} e^{-x^2} \, dx = \sqrt{\pi}$$
</span></span></code></pre></div><p>效果：</p>
<div class="math-block">\int_{-\infty}^{+\infty} e^{-x^2} \, dx = \sqrt{\pi}</div><p><strong>多行 / 复杂公式</strong> —— 必须用 <code>math</code> 短代码包裹：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; math &gt;}}
</span></span><span class="line"><span class="cl">\begin{pmatrix}
</span></span><span class="line"><span class="cl">a &amp; b \\
</span></span><span class="line"><span class="cl">c &amp; d
</span></span><span class="line"><span class="cl">\end{pmatrix}
</span></span><span class="line"><span class="cl">{{&lt; /math &gt;}}
</span></span></code></pre></div><p>效果：</p>
<div class="math-block">
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
\begin{pmatrix}
x \\
y
\end{pmatrix}
=
\begin{pmatrix}
ax + by \\
cx + dy
\end{pmatrix}
</div>
<blockquote>
<p>⚠️ 多行公式直接写多行 <code>$$</code> 会被 Markdown 解析器破坏（<code>\end{pmatrix}</code> 会被当成标题），必须用 <code>math</code> 短代码。</p>
</blockquote>
<h3 id="64-mermaid-图表">6.4 Mermaid 图表</h3>
<p>直接写代码块即可（不需要记短代码）。</p>
<p><strong>流程图</strong> —— 写法：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="s">```mermaid
</span></span></span><span class="line"><span class="cl">flowchart TD
</span></span><span class="line"><span class="cl">    A[开始] --&gt; B{判断}
</span></span><span class="line"><span class="cl">    B --&gt;|是| C[结束]
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><p>效果：</p>
<pre class="mermaid">flowchart TD
    A[开始] --&gt; B{判断}
    B --&gt;|是| C[结束]</pre>
<p><strong>时序图</strong> —— 写法：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="s">```mermaid
</span></span></span><span class="line"><span class="cl">sequenceDiagram
</span></span><span class="line"><span class="cl">    用户-&gt;&gt;服务器: 发起请求
</span></span><span class="line"><span class="cl">    服务器--&gt;&gt;用户: 返回数据
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><p>效果：</p>
<pre class="mermaid">sequenceDiagram
    用户-&gt;&gt;服务器: 发起请求
    服务器--&gt;&gt;用户: 返回数据</pre>
<p><strong>饼图</strong> —— 写法：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="s">```mermaid
</span></span></span><span class="line"><span class="cl">pie title 时间分配
</span></span><span class="line"><span class="cl">    &#34;写作&#34; : 45
</span></span><span class="line"><span class="cl">    &#34;阅读&#34; : 30
</span></span><span class="line"><span class="cl">    &#34;其他&#34; : 25
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><p>效果：</p>
<pre class="mermaid">pie title 时间分配
    &#34;写作&#34; : 45
    &#34;阅读&#34; : 30
    &#34;其他&#34; : 25</pre>
<blockquote>
<p>图表配色会自动跟随明暗主题切换。</p>
</blockquote>
<hr>
<h2 id="七常用组合">七、常用组合</h2>
<p>一段技术说明可以这样写：</p>
<p><strong>写法</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; note warning &#34;前置条件&#34; &gt;}}
</span></span><span class="line"><span class="cl">需要 **Hugo extended** 版本。
</span></span><span class="line"><span class="cl">{{&lt; /note &gt;}}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">```mermaid
</span></span><span class="line"><span class="cl">flowchart LR
</span></span><span class="line"><span class="cl">    A[输入] --&gt; B[处理] --&gt; C[输出]
</span></span></code></pre></div><p>核心公式：</p>
<div class="math-block">T(n) = 2T(n/2) + O(n)</div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">**效果**：
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><div class="note warning" data-title="前置条件">
需要 <strong>Hugo extended</strong> 版本。
</div>

</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">```mermaid
</span></span><span class="line"><span class="cl">flowchart LR
</span></span><span class="line"><span class="cl">    A[输入] --&gt; B[处理] --&gt; C[输出]
</span></span></code></pre></div><p>核心公式：</p>
<div class="math-block">T(n) = 2T(n/2) + O(n)</div><hr>
<h2 id="八常见坑">八、常见坑</h2>
<table>
	<thead>
			<tr>
					<th>现象</th>
					<th>原因</th>
					<th>解决</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>提示框里 <code>**加粗**</code> 没生效</td>
					<td>用了 HTML 写法，块级 HTML 内不解析 Markdown</td>
					<td>改用 <code>note</code> 短代码</td>
			</tr>
			<tr>
					<td>多行公式显示成标题</td>
					<td>直接写了多行 <code>$$…$$</code></td>
					<td>用 <code>math</code> 短代码包裹</td>
			</tr>
			<tr>
					<td>Mermaid 显示为代码块</td>
					<td>语言名写错</td>
					<td>必须是 <code>```mermaid</code>（全小写）</td>
			</tr>
			<tr>
					<td><code>collapse</code> 没有标题</td>
					<td>用了位置参数</td>
					<td>改成 <code>summary=&quot;标题&quot;</code></td>
			</tr>
			<tr>
					<td>文章写了但不显示</td>
					<td><code>date</code> 是未来时间</td>
					<td>改成过去时间或加 <code>--buildFuture</code></td>
			</tr>
			<tr>
					<td>文章写了但不显示</td>
					<td><code>draft: true</code></td>
					<td>改成 <code>false</code>，或预览加 <code>-D</code></td>
			</tr>
			<tr>
					<td>短代码被当成文字显示</td>
					<td>参数格式错误</td>
					<td>检查尖括号与引号</td>
			</tr>
	</tbody>
</table>
<hr>
<h2 id="九更多">九、更多</h2>
<ul>
<li><a href="https://blog.646474.xyz/posts/writing-guide/">Hugo + PaperMod 写作语法大全</a> —— 含 Front Matter 全字段、各短代码参数细节</li>
<li><a href="https://blog.646474.xyz/posts/hexo-to-hugo-migration/">从 Hexo(AnZhiYu) 迁移到 Hugo(PaperMod) 完整记录</a></li>
<li><a href="https://blog.646474.xyz/posts/multi-platform-deploy/">Hugo 博客多平台部署与 baseURL 配置</a></li>
</ul>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>脚注内容写在这里。&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>PaperMod 语法速查（示例文章）</title>
      <link>https://blog.646474.xyz/posts/syntax-demo/</link>
      <pubDate>Tue, 06 Oct 2026 20:00:00 +0800</pubDate>
      <guid>https://blog.646474.xyz/posts/syntax-demo/</guid>
      <description>这篇示例演示 Hugo &#43; PaperMod 支持的全部写作语法，可作为迁移时的对照参考。</description>
      <content:encoded><![CDATA[<p>这是一篇<strong>语法速查</strong>示例，演示 Hugo + PaperMod 支持的全部写作语法。
迁移旧文章时，可以对照本文把 AnZhiYu 的标签替换成这里的写法。</p>
<h2 id="一基础-markdown">一、基础 Markdown</h2>
<p>普通段落、<strong>加粗</strong>、<em>斜体</em>、<del>删除线</del>、<code>行内代码</code>、<a href="https://gohugo.io">链接</a>。</p>
<ul>
<li>无序列表</li>
<li>第二项
<ul>
<li>嵌套项</li>
</ul>
</li>
</ul>
<ol>
<li>有序列表</li>
<li>第二项</li>
</ol>
<ul>
<li><input checked="" disabled="" type="checkbox"> 已完成的任务</li>
<li><input disabled="" type="checkbox"> 未完成的任务</li>
</ul>
<blockquote>
<p>这是引用块，适合放金句或重要观点。</p>
<p>支持多段引用。</p>
</blockquote>
<h2 id="二表格">二、表格</h2>
<table>
	<thead>
			<tr>
					<th>功能</th>
					<th>AnZhiYu 写法</th>
					<th>PaperMod 写法</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>提示框</td>
					<td><code>{% note info %}</code></td>
					<td><code>&lt;div class=&quot;note info&quot;&gt;</code></td>
			</tr>
			<tr>
					<td>折叠</td>
					<td><code>{% folding %}</code></td>
					<td><code>{{&lt; collapse &gt;}}</code></td>
			</tr>
			<tr>
					<td>流程图</td>
					<td><code>{% mermaid %}</code></td>
					<td><code>```mermaid</code> 代码块</td>
			</tr>
			<tr>
					<td>数学公式</td>
					<td><code>{% katex %}</code></td>
					<td><code>$公式$</code> 或 <code>$$公式$$</code></td>
			</tr>
	</tbody>
</table>
<h2 id="三代码块">三、代码块</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">greet</span><span class="p">(</span><span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;&#34;&#34;代码块会自动高亮，并带复制按钮&#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="sa">f</span><span class="s2">&#34;Hello, </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">!&#34;</span>
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">hugo new content posts/我的新文章.md   <span class="c1"># 新建文章</span>
</span></span><span class="line"><span class="cl">hugo server -D                        <span class="c1"># 本地预览（含草稿）</span>
</span></span><span class="line"><span class="cl">hugo                                  <span class="c1"># 构建静态文件到 public/</span>
</span></span></code></pre></div><h2 id="四提示框用-note-短代码内容支持-markdown">四、提示框（用 <code>note</code> 短代码，内容支持 Markdown）</h2>
<div class="note info">
这是<strong>信息</strong>提示框（info）。内部支持 <strong>加粗</strong>、<code>行内代码</code>、<a href="https://gohugo.io">链接</a>、列表等全部 Markdown 语法。
</div>

<div class="note success">
这是<strong>成功</strong>提示框（success）
</div>

<div class="note warning">
这是<strong>警告</strong>提示框（warning）
</div>

<div class="note danger">
这是<strong>危险</strong>提示框（danger）
</div>

<div class="note primary" data-title="补充说明">
带标题的提示框：第二个参数就是标题。<strong>Markdown 依然生效</strong>。
</div>

<details>
<summary>为什么不用 HTML 写法？（点击了解）</summary>
<p>直接写 <code>&lt;div class=&quot;note info&quot;&gt;…&lt;/div&gt;</code> 时，块级 HTML 内部的 Markdown <strong>不会被解析</strong>
（这是 CommonMark 规范的行为），<code>**加粗**</code> 会原样显示成星号。</p>
<p>所以本站提供 <code>note</code> 短代码：内容会先经过 Markdown 渲染再填入提示框。
如需用 HTML 写法，标签与内容之间<strong>必须留空行</strong>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;note info&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">**加粗**会被解析
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span></code></pre></div></details>
<h2 id="五高亮与两栏对比">五、高亮与两栏对比</h2>
<p>行内高亮：<mark class="hl red">重点内容</mark>、<mark class="hl green">正确做法</mark>、<mark class="hl blue">补充信息</mark></p>
<p>两栏对比（并排显示，适合替代 AnZhiYu 的 tabs）：</p>
<div class="columns">
<div>
<h4>方案 A：Hexo + AnZhiYu</h4>
<p>标签丰富、生态成熟、上手快。适合喜欢现成组件、愿意维护插件依赖的场景。</p>
</div>
<div>
<h4>方案 B：Hugo + PaperMod</h4>
<p>构建极快（毫秒级）、零依赖、配置简单。适合专注内容创作、追求长期可维护性。</p>
</div>
</div>
<h2 id="六折叠内容">六、折叠内容</h2>


<p><details >
  <summary markdown="span">点击展开 / 收起</summary>
  <p>这里是被折叠的内容，适合放补充说明、长代码、参考资料。</p>
<ul>
<li>列表也可以</li>
<li>支持任意 Markdown</li>
</ul>
</details></p>

<h2 id="七数学公式katex">七、数学公式（KaTeX）</h2>
<p>行内公式：质能方程 <span class="math-inline">E = mc^2</span>，欧拉恒等式 <span class="math-inline">e^{i\pi} + 1 = 0</span>。</p>
<p>独立公式：</p>
<div class="math-block">
\int_{-\infty}^{+\infty} e^{-x^2} \, dx = \sqrt{\pi}
</div><p>矩阵（<strong>多行公式</strong> —— 用 <code>math</code> 短代码包裹，避免 Markdown 误判）：</p>
<div class="math-block">
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
\begin{pmatrix}
x \\
y
\end{pmatrix}
=
\begin{pmatrix}
ax + by \\
cx + dy
\end{pmatrix}
</div>
<p>矩阵（<strong>单行公式</strong> —— 直接写 <code>$$...$$</code> 即可，内容写在同一行）：</p>
<div class="math-block">\begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} ax + by \\ cx + dy \end{pmatrix}</div><h2 id="八mermaid-流程图">八、Mermaid 流程图</h2>
<p>直接写 <code>```mermaid</code> 代码块即可（本模板已自动转换，不需要记短代码）：</p>
<pre class="mermaid">flowchart TD
    A[Hexo + AnZhiYu] --&gt; B{是否长期创作?}
    B --&gt;|是| C[迁移到 Hugo + PaperMod]
    B --&gt;|否| D[保持现状]
    C --&gt; E[转换 front matter]
    E --&gt; F[替换标签语法]
    F --&gt; G[完成迁移]</pre>
<p>时序图也支持：</p>
<pre class="mermaid">sequenceDiagram
    participant 作者
    participant Hugo
    participant 浏览器
    作者-&gt;&gt;Hugo: 写 Markdown
    Hugo-&gt;&gt;Hugo: 构建（毫秒级）
    Hugo-&gt;&gt;浏览器: 输出静态 HTML
    浏览器--&gt;&gt;作者: 极快的访问体验</pre>
<h2 id="九图片">九、图片</h2>
<p>普通 Markdown 写法（PaperMod 会自动生成图注）：</p>
<p><img alt="示例图片说明" loading="lazy" src="/images/example.png"></p>
<p>更精细的控制用 <code>figure</code> 短代码：</p>
<figure class="align-center ">
    <img loading="lazy" src="/images/example.png#center"
         alt="图片说明文字，会显示在图下方"/> <figcaption>
            图片标题<p>图片说明文字，会显示在图下方</p>
        </figcaption>
</figure>

<h2 id="十视频与音频">十、视频与音频</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; youtube VIDEO_ID &gt;}}                 YouTube 视频
</span></span><span class="line"><span class="cl">{{&lt; vimeo VIDEO_ID &gt;}}                   Vimeo 视频
</span></span><span class="line"><span class="cl">{{&lt; video src=&#34;https://blog.646474.xyz/media/demo.mp4&#34; &gt;}}      本地视频
</span></span><span class="line"><span class="cl">{{&lt; audio src=&#34;https://blog.646474.xyz/media/demo.mp3&#34; &gt;}}      本地音频
</span></span></code></pre></div><h2 id="十一原始-html">十一、原始 HTML</h2>
<p>需要写复杂 HTML（如 iframe 嵌入）时用 <code>rawhtml</code> 短代码：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">{{&lt; rawhtml &gt;}}
</span></span><span class="line"><span class="cl">&lt;div class=&#34;my-widget&#34;&gt;任意 HTML&lt;/div&gt;
</span></span><span class="line"><span class="cl">{{&lt; /rawhtml &gt;}}
</span></span></code></pre></div><hr>
<p>以上就是全部可用语法。日常写作里最常用的组合是：<strong>提示框 + 代码块 + 数学公式 + Mermaid</strong>。</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
