<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cikio</title><description>Cikio — CikiSyteen 的个人博客，记录开发实践与技术笔记。</description><link>https://www.cikio.cn/</link><language>zh</language><item><title>Hash路由技术原理与设计解析</title><link>https://www.cikio.cn/blog/hash-routing/</link><guid isPermaLink="true">https://www.cikio.cn/blog/hash-routing/</guid><description>讲述 Hash 路由的原理、实现、优劣及与 History 路由的对比。</description><content:encoded>&lt;h2 id=&quot;1-定义&quot;&gt;1. 定义&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Hash 路由&lt;/strong&gt;（又称锚点路由）是一种基于浏览器 URL 中 &lt;code&gt;#&lt;/code&gt; 号之后的部分来实现前端页面状态管理与视图切换的技术方案。其核心特征为：&lt;strong&gt;路径变更不触发服务器请求，完全由前端 JavaScript 控制渲染逻辑&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;在单页应用（SPA）架构中，Hash 路由与 History 路由并列为两大主流前端路由实现方式。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;2-技术基础浏览器底层机制&quot;&gt;2. 技术基础：浏览器底层机制&lt;/h2&gt;
&lt;p&gt;Hash 路由的可行性建立在两个浏览器原生机制之上：&lt;/p&gt;
&lt;h3 id=&quot;21--的-http-协议语义&quot;&gt;2.1 &lt;code&gt;#&lt;/code&gt; 的 HTTP 协议语义&lt;/h3&gt;
&lt;p&gt;根据 RFC 3986（URI 通用语法规范），URL 中的 &lt;code&gt;#&lt;/code&gt; 标识符称为 &lt;strong&gt;fragment（片段标识符）&lt;/strong&gt;，其语义为”指向当前资源内的一个次级资源”（如章节锚点）。&lt;/p&gt;
&lt;p&gt;关键特性：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;fragment 部分&lt;strong&gt;不会被发送至服务器&lt;/strong&gt;，仅由客户端解析。&lt;/li&gt;
&lt;li&gt;修改 fragment &lt;strong&gt;不会触发页面重新加载&lt;/strong&gt;，因为资源定位符（scheme + host + path + query）未发生变化。&lt;/li&gt;
&lt;li&gt;浏览器不会在 fragment 变化时向服务器发起新请求。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;技术内涵&lt;/strong&gt;：这实质上是将”路由解析权”从服务端转移至客户端，使前端获得了路径状态的管理能力。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;22-hashchange-事件&quot;&gt;2.2 &lt;code&gt;hashchange&lt;/code&gt; 事件&lt;/h3&gt;
&lt;p&gt;HTML5 规范定义了 &lt;code&gt;hashchange&lt;/code&gt; 事件，当 URL 的片段标识符（即 &lt;code&gt;#&lt;/code&gt; 及之后的部分）发生变化时，浏览器自动触发该事件。&lt;/p&gt;
&lt;p&gt;事件对象属性：&lt;/p&gt;

















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;属性&lt;/th&gt;&lt;th&gt;描述&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;oldURL&lt;/code&gt;&lt;/td&gt;&lt;td&gt;变化前的完整 URL&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;newURL&lt;/code&gt;&lt;/td&gt;&lt;td&gt;变化后的完整 URL&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;通过监听此事件，前端应用可以感知路由变化并执行相应的视图更新逻辑。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;3-核心工作原理&quot;&gt;3. 核心工作原理&lt;/h2&gt;
&lt;p&gt;Hash 路由的运行流程可拆解为四个环节：&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;https://www.cikio.cn/stylesheet&quot; href=&quot;https://www.cikio.cn/_astro/ec.2tpnv.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.cikio.cn/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e1e4e8&quot;&gt;① 用户操作（点击链接 / 浏览器前进后退 / 手动修改地址栏）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#e1e4e8&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#e1e4e8&quot;&gt;↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e1e4e8&quot;&gt;② location.hash 发生变更&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#e1e4e8&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#e1e4e8&quot;&gt;↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e1e4e8&quot;&gt;③ 浏览器触发 hashchange 事件（页面不刷新）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#e1e4e8&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#e1e4e8&quot;&gt;↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e1e4e8&quot;&gt;④ 事件监听回调执行路由匹配 → 渲染对应视图&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;① 用户操作（点击链接 / 浏览器前进后退 / 手动修改地址栏）        ↓② location.hash 发生变更        ↓③ 浏览器触发 hashchange 事件（页面不刷新）        ↓④ 事件监听回调执行路由匹配 → 渲染对应视图&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h3 id=&quot;31-路由变更的触发方式&quot;&gt;3.1 路由变更的触发方式&lt;/h3&gt;













































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;触发方式&lt;/th&gt;&lt;th&gt;是否触发 &lt;code&gt;hashchange&lt;/code&gt;&lt;/th&gt;&lt;th&gt;备注&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;&amp;#x3C;a href=&quot;#/about&quot;&gt;&lt;/code&gt; 点击&lt;/td&gt;&lt;td&gt;✅ 是&lt;/td&gt;&lt;td&gt;浏览器默认行为&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;window.location.hash = &apos;#/about&apos;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;✅ 是&lt;/td&gt;&lt;td&gt;&lt;strong&gt;唯一正确的编程式修改方式&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;window.location.hash = &apos;/about&apos;&lt;/code&gt;（不带 &lt;code&gt;#&lt;/code&gt;）&lt;/td&gt;&lt;td&gt;❌ 否&lt;/td&gt;&lt;td&gt;赋值会被忽略（&lt;code&gt;#&lt;/code&gt; 是必需的前缀）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;history.pushState(null, &apos;&apos;, &apos;#/about&apos;)&lt;/code&gt;&lt;/td&gt;&lt;td&gt;❌ 否&lt;/td&gt;&lt;td&gt;&lt;code&gt;pushState()&lt;/code&gt; 修改哈希值时&lt;strong&gt;不会触发&lt;/strong&gt; &lt;code&gt;hashchange&lt;/code&gt; 事件。且根据 HTML 标准，&lt;code&gt;pushState&lt;/code&gt; 的 URL 参数中 fragment 部分可能被忽略或处理方式与预期不同。&lt;strong&gt;不推荐通过此方式修改 hash&lt;/strong&gt;。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;history.replaceState(null, &apos;&apos;, &apos;#/about&apos;)&lt;/code&gt;&lt;/td&gt;&lt;td&gt;❌ 否&lt;/td&gt;&lt;td&gt;&lt;code&gt;replaceState()&lt;/code&gt; 修改哈希值时同样&lt;strong&gt;不会触发&lt;/strong&gt; &lt;code&gt;hashchange&lt;/code&gt; 事件。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;浏览器前进/后退（同源内 hash 变化）&lt;/td&gt;&lt;td&gt;✅ 是&lt;/td&gt;&lt;td&gt;仅当实际 hash 值发生变化时触发&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;页面刷新&lt;/td&gt;&lt;td&gt;❌ 否（通过 &lt;code&gt;DOMContentLoaded&lt;/code&gt; 恢复）&lt;/td&gt;&lt;td&gt;刷新后 &lt;code&gt;location.hash&lt;/code&gt; 保留，需手动读取并渲染&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;核心结论&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;编程式修改 hash 的&lt;strong&gt;唯一正确方式&lt;/strong&gt;是 &lt;code&gt;window.location.hash = &apos;#/path&apos;&lt;/code&gt;。该方法会同步更新地址栏、&lt;code&gt;location.hash&lt;/code&gt; 属性，并&lt;strong&gt;自动触发&lt;/strong&gt; &lt;code&gt;hashchange&lt;/code&gt; 事件。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pushState()&lt;/code&gt; 和 &lt;code&gt;replaceState()&lt;/code&gt; &lt;strong&gt;无论是否修改了 hash，都不会触发 &lt;code&gt;hashchange&lt;/code&gt; 事件&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;32-路由匹配策略&quot;&gt;3.2 路由匹配策略&lt;/h3&gt;
&lt;p&gt;路由匹配的具体算法是&lt;strong&gt;各路由库的设计选择&lt;/strong&gt;，而非 Hash 路由的固有原理。不同的路由库（如 React Router、Vue Router）对动态路由（如 &lt;code&gt;/user/:id&lt;/code&gt;）的匹配优先级和算法（如正则、路径评分）各不相同。&lt;/p&gt;
&lt;p&gt;以下为一种常见的匹配策略示例：&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;javascript&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 1. 定义路由表（路径 → 视图构造函数/组件）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;routeTable&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;Map&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;([&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&apos;/home&apos;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, HomeComponent],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&apos;/user/:id&apos;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, UserComponent],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&apos;/settings&apos;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, SettingsComponent]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;]);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 2. 解析当前路径（支持动态参数）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;parseHash&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;raw&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; location.hash.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;slice&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;); &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 去掉 &apos;#&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;queryString&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; raw.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;split&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&apos;?&apos;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 解析查询参数&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;params&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;URLSearchParams&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(queryString &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; { path, params };&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 3. 路由匹配（示例：精确匹配优先）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;matchRoute&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 精确匹配优先，再遍历动态路由&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 返回 { component, params }&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;// 1. 定义路由表（路径 → 视图构造函数/组件）const routeTable = new Map([  [&amp;#x27;/home&amp;#x27;, HomeComponent],  [&amp;#x27;/user/:id&amp;#x27;, UserComponent],  [&amp;#x27;/settings&amp;#x27;, SettingsComponent]]);// 2. 解析当前路径（支持动态参数）function parseHash() {  const raw = location.hash.slice(1); // 去掉 &amp;#x27;#&amp;#x27;  const [path, queryString] = raw.split(&amp;#x27;?&amp;#x27;);  // 解析查询参数  const params = new URLSearchParams(queryString || &amp;#x27;&amp;#x27;);  return { path, params };}// 3. 路由匹配（示例：精确匹配优先）function matchRoute(path) {  // 精确匹配优先，再遍历动态路由  // 返回 { component, params }}&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id=&quot;4-优势分析&quot;&gt;4. 优势分析&lt;/h2&gt;
&lt;h3 id=&quot;41-零服务器依赖&quot;&gt;4.1 零服务器依赖&lt;/h3&gt;
&lt;p&gt;Hash 路由完全在前端运行，无需任何服务端配置（如 Nginx rewrite 规则）。即便使用 &lt;code&gt;file://&lt;/code&gt; 协议直接打开 HTML 文件，路由依然正常工作。&lt;/p&gt;
&lt;h3 id=&quot;42-浏览器兼容性&quot;&gt;4.2 浏览器兼容性&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;hashchange&lt;/code&gt; 事件在主流浏览器中支持良好。在 IE8 中，该事件可通过 &lt;code&gt;attachEvent(&apos;onhashchange&apos;, callback)&lt;/code&gt; 方式实现监听。&lt;code&gt;onhashchange&lt;/code&gt; 属性方式在 IE9 之后得到更广泛支持。对于 IE7 及更早版本，通常需要通过 &lt;code&gt;setInterval&lt;/code&gt; 轮询 &lt;code&gt;location.hash&lt;/code&gt; 来模拟。&lt;/p&gt;
&lt;h3 id=&quot;43-状态持久化&quot;&gt;4.3 状态持久化&lt;/h3&gt;
&lt;p&gt;页面刷新后，&lt;code&gt;location.hash&lt;/code&gt; 保留不变，应用可通过 &lt;code&gt;DOMContentLoaded&lt;/code&gt; 事件读取并恢复至刷新前的路由状态。&lt;/p&gt;
&lt;h3 id=&quot;44-天然的导航历史&quot;&gt;4.4 天然的导航历史&lt;/h3&gt;
&lt;p&gt;每次 hash 变更自动产生一条浏览器历史记录，用户的前进/后退操作得到原生支持，无需额外维护历史栈。&lt;/p&gt;
&lt;h3 id=&quot;45-隔离性&quot;&gt;4.5 隔离性&lt;/h3&gt;
&lt;p&gt;Hash 路由的路径信息与服务器资源路径隔离，不会与后端 API 路由产生命名冲突（例如 &lt;code&gt;/api/users&lt;/code&gt; 与 &lt;code&gt;#/users&lt;/code&gt; 互不干扰）。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;5-局限性&quot;&gt;5. 局限性&lt;/h2&gt;

























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;局限&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;SEO 不友好&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;搜索引擎爬虫通常不执行 JavaScript，无法抓取 &lt;code&gt;#&lt;/code&gt; 后的动态内容（Google 虽可索引部分 SPA 内容，但存在限制与延迟）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;URL 美观度&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;地址栏包含 &lt;code&gt;#&lt;/code&gt;，视觉上不如纯净路径&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;锚点冲突&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;页面原生锚点跳转（如 &lt;code&gt;#section-1&lt;/code&gt;）与路由路径（&lt;code&gt;#/home&lt;/code&gt;）共用同一命名空间。实际工程中，采用 &lt;code&gt;#/&lt;/code&gt; 前缀统一风格即可规避冲突，传统锚点功能可通过 JS 滚动控制替代，属于&lt;strong&gt;工程实践问题，可通过设计规范轻松规避&lt;/strong&gt;，并非根本性局限&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;服务端接收不到&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#&lt;/code&gt; 后的所有内容不发送至服务端，日志分析、服务端鉴权等场景需通过其他方式（如 Cookie、Header）传递状态&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&quot;6-与-history-路由的技术对比&quot;&gt;6. 与 History 路由的技术对比&lt;/h2&gt;








































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;对比维度&lt;/th&gt;&lt;th&gt;Hash 路由&lt;/th&gt;&lt;th&gt;History 路由（基于 History API）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;实现基础&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;hashchange&lt;/code&gt; 事件&lt;/td&gt;&lt;td&gt;&lt;code&gt;history.pushState&lt;/code&gt; + &lt;code&gt;popstate&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;地址格式&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;xxx.com/#/path&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;xxx.com/path&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;服务器配置&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;无需&lt;/td&gt;&lt;td&gt;需配置 fallback（否则刷新返回 404）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;SEO 支持&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;差&lt;/td&gt;&lt;td&gt;优（配合 SSR/预渲染）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;路径参数传递&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;URL 长度限制（同 HTTP）&lt;/td&gt;&lt;td&gt;URL 长度限制（同 HTTP），额外支持 &lt;code&gt;state&lt;/code&gt; 对象传递非 URL 数据（注意：该数据&lt;strong&gt;不持久化&lt;/strong&gt;，刷新页面后丢失，需另行存储如 localStorage）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;服务端日志记录&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;无法记录完整路径&lt;/td&gt;&lt;td&gt;可记录完整路径&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&quot;7-实现参考框架无关&quot;&gt;7. 实现参考（框架无关）&lt;/h2&gt;
&lt;p&gt;以下为一个遵循关注点分离原则的 Hash 路由最小实现：&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;javascript&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;HashRouter&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;constructor&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;routes&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, { &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;defaultRoute&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&apos;/home&apos;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; } &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; {}) {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;.routes &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; routes;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;.defaultRoute &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; defaultRoute;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;.currentPath &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; defaultRoute;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 绑定事件&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;window.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;addEventListener&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&apos;hashchange&apos;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;._onHashChange.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;bind&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;));&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;window.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;addEventListener&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&apos;DOMContentLoaded&apos;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;._onHashChange.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;bind&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;));&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 初始化&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;_navigate&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;_getCurrentPath&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;());&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;_getCurrentPath&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; location.hash.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;slice&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;.defaultRoute;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;_onHashChange&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;_getCurrentPath&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;_navigate&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(path);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;_navigate&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;route&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;.routes.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;find&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; r.path &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; path);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; (route) {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;      &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;.currentPath &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; path;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;route.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;render&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;} &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;      &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 404 处理&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;      &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;_handleNotFound&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(path);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;_handleNotFound&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;fallback&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;.routes.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;find&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; r.path &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&apos;*&apos;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; (fallback) {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;fallback.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;render&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;} &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;console.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;warn&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;`[HashRouter] 未匹配到路由: ${&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;}`&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 编程式导航 —— 直接操作 location.hash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;push&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 标准方式：赋值给 location.hash，自动触发 hashchange&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;location.hash &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; path.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;startsWith&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&apos;#&apos;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;?&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; path &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;`#${&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;}`&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 替换当前历史记录条目&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;replace&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;normalizedPath&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; path.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;startsWith&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&apos;#&apos;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;?&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; path &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;`#${&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;}`&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 直接通过 location.hash 修改，会触发 hashchange&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 注意：这会新增一条历史记录，如需替换语义，可配合 history.replaceState 使用&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 但需注意 replaceState 本身不会触发 hashchange&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;location.hash &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; normalizedPath;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 如需替换当前历史条目而非新增，可额外调用：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// history.replaceState(null, &apos;&apos;, location.href);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;class HashRouter {  constructor(routes, { defaultRoute = &amp;#x27;/home&amp;#x27; } = {}) {    this.routes = routes;    this.defaultRoute = defaultRoute;    this.currentPath = defaultRoute;    // 绑定事件    window.addEventListener(&amp;#x27;hashchange&amp;#x27;, this._onHashChange.bind(this));    window.addEventListener(&amp;#x27;DOMContentLoaded&amp;#x27;, this._onHashChange.bind(this));    // 初始化    this._navigate(this._getCurrentPath());  }  _getCurrentPath() {    return location.hash.slice(1) || this.defaultRoute;  }  _onHashChange() {    const path = this._getCurrentPath();    this._navigate(path);  }  _navigate(path) {    const route = this.routes.find(r =&gt; r.path === path);    if (route) {      this.currentPath = path;      route.render();    } else {      // 404 处理      this._handleNotFound(path);    }  }  _handleNotFound(path) {    const fallback = this.routes.find(r =&gt; r.path === &amp;#x27;*&amp;#x27;) || null;    if (fallback) {      fallback.render();    } else {      console.warn(&amp;#x60;[HashRouter] 未匹配到路由: ${path}&amp;#x60;);    }  }  // 编程式导航 —— 直接操作 location.hash  push(path) {    // 标准方式：赋值给 location.hash，自动触发 hashchange    location.hash = path.startsWith(&amp;#x27;#&amp;#x27;) ? path : &amp;#x60;#${path}&amp;#x60;;  }  // 替换当前历史记录条目  replace(path) {    const normalizedPath = path.startsWith(&amp;#x27;#&amp;#x27;) ? path : &amp;#x60;#${path}&amp;#x60;;    // 直接通过 location.hash 修改，会触发 hashchange    // 注意：这会新增一条历史记录，如需替换语义，可配合 history.replaceState 使用    // 但需注意 replaceState 本身不会触发 hashchange    location.hash = normalizedPath;    // 如需替换当前历史条目而非新增，可额外调用：    // history.replaceState(null, &amp;#x27;&amp;#x27;, location.href);  }}&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h3 id=&quot;71-关于-hashchange-与-history-api-的重要说明&quot;&gt;7.1 关于 &lt;code&gt;hashchange&lt;/code&gt; 与 History API 的重要说明&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pushState()&lt;/code&gt; 和 &lt;code&gt;replaceState()&lt;/code&gt; &lt;strong&gt;无论是否修改了 hash，都不会触发 &lt;code&gt;hashchange&lt;/code&gt; 事件&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;修改 hash 并触发 &lt;code&gt;hashchange&lt;/code&gt; 的&lt;strong&gt;唯一标准方式&lt;/strong&gt;是操作 &lt;code&gt;location.hash&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;如需在修改 hash 的同时控制历史栈（如替换而非新增），可组合使用 &lt;code&gt;location.hash&lt;/code&gt; 赋值与 &lt;code&gt;history.replaceState&lt;/code&gt;，但需明确后者&lt;strong&gt;不会&lt;/strong&gt;触发 &lt;code&gt;hashchange&lt;/code&gt;，事件仍由前者的赋值操作触发。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&quot;8-适用场景&quot;&gt;8. 适用场景&lt;/h2&gt;



































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;场景&lt;/th&gt;&lt;th&gt;是否适用&lt;/th&gt;&lt;th&gt;理由&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;后台管理系统&lt;/td&gt;&lt;td&gt;✅ 强烈推荐&lt;/td&gt;&lt;td&gt;无需 SEO，配置简单，开发效率高&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;移动端 H5 / WebApp&lt;/td&gt;&lt;td&gt;✅ 推荐&lt;/td&gt;&lt;td&gt;兼容性广，历史记录原生支持&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;浏览器扩展 / Electron&lt;/td&gt;&lt;td&gt;✅ 推荐&lt;/td&gt;&lt;td&gt;无服务器环境，hash 路由完美适配&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;官网 / 营销落地页&lt;/td&gt;&lt;td&gt;⚠️ 谨慎&lt;/td&gt;&lt;td&gt;若需 SEO，建议使用 History 模式 + SSR&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;博客 / 内容型站点&lt;/td&gt;&lt;td&gt;❌ 不推荐&lt;/td&gt;&lt;td&gt;SEO 需求优先级高于开发便捷性&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&quot;9-总结&quot;&gt;9. 总结&lt;/h2&gt;
&lt;p&gt;Hash 路由是前端路由演进过程中的经典方案，其核心价值在于&lt;strong&gt;利用浏览器原生特性将路由控制权完整赋予前端&lt;/strong&gt;，同时保持极低的接入成本和良好的兼容性。在单页应用、后台系统、H5 页面等场景中，Hash 路由至今仍是极具竞争力的技术选型。对于需要 SEO 优化的场景，可考虑在其基础上平滑升级至 History 路由方案。&lt;/p&gt; &lt;blockquote&gt;本内容由 Frosti Feed 自动生成，可能存在排版问题；建议直接访问原文：&lt;a href=&quot;https://www.cikio.cn/blog/hash-routing/&quot;&gt;https://www.cikio.cn/blog/hash-routing/&lt;/a&gt;&lt;/blockquote&gt;</content:encoded><dc:creator>Cikio</dc:creator><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>在 Markdown 中测试数学公式</title><link>https://www.cikio.cn/blog/mathematics-examples/</link><guid isPermaLink="true">https://www.cikio.cn/blog/mathematics-examples/</guid><description>演示如何在 Markdown 中使用 LaTeX 渲染各类数学公式。</description><content:encoded>&lt;p&gt;本文用来测试在 Markdown 中使用 &lt;code&gt;$$&lt;/code&gt; 分隔符渲染数学公式的效果。&lt;/p&gt;
&lt;h2 id=&quot;基础代数&quot;&gt;基础代数&lt;/h2&gt;
&lt;p&gt;先从一些基础的代数表达式开始。&lt;/p&gt;
&lt;p&gt;一元二次方程的求根公式：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mfrac&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mo&gt;±&lt;/mo&gt;&lt;msqrt&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;4&lt;/mn&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;/mrow&gt;&lt;/msqrt&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;/mrow&gt;&lt;/mfrac&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.4306em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.3845em;vertical-align:-0.345em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mopen nulldelimiter&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mfrac&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:1.0395em;&quot;&gt;&lt;span style=&quot;top:-2.655em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.23em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;frac-line&quot; style=&quot;border-bottom-width:0.04em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.394em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;−&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;mbin mtight&quot;&gt;±&lt;/span&gt;&lt;span class=&quot;mord sqrt mtight&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.9221em;&quot;&gt;&lt;span class=&quot;svg-align&quot; style=&quot;top:-3em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mtight&quot; style=&quot;padding-left:0.833em;&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.7463em;&quot;&gt;&lt;span style=&quot;top:-2.786em;margin-right:0.0714em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.5em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size3 size1 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mbin mtight&quot;&gt;−&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;c&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-2.8821em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;hide-tail mtight&quot; style=&quot;min-width:0.853em;height:1.08em;&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;400em&quot; height=&quot;1.08em&quot; viewBox=&quot;0 0 400000 1080&quot; preserveAspectRatio=&quot;xMinYMin slice&quot;&gt;&lt;path d=&quot;M95,702
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
c69,-144,104.5,-217.7,106.5,-221
l0 -0
c5.3,-9.3,12,-14,20,-14
H400000v40H845.2724
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
M834 80h400000v40h-400000z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.1179em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.345em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose nulldelimiter&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;一个简单的一次函数：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;y = mx + c&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.625em;vertical-align:-0.1944em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.03588em;&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6667em;vertical-align:-0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.4306em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;c&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;二项式平方的展开：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;(a+b)^2 = a^2 + 2ab + b^2&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.0641em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8974em;vertical-align:-0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.7778em;vertical-align:-0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;ab&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;微积分&quot;&gt;微积分&lt;/h2&gt;
&lt;p&gt;下面是一些常见的微积分表达式。&lt;/p&gt;
&lt;p&gt;导数的极限定义：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mo mathvariant=&quot;normal&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;lim&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mo&gt;→&lt;/mo&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mfrac&gt;&lt;mrow&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;/mfrac&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;f&apos;(x) = \lim_{h \to 0} \frac{f(x+h) - f(x)}{h}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.0019em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.10764em;&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.7519em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;′&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.355em;vertical-align:-0.345em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;&lt;span class=&quot;mop&quot;&gt;lim&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3361em;&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;mrel mtight&quot;&gt;→&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mopen nulldelimiter&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mfrac&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:1.01em;&quot;&gt;&lt;span style=&quot;top:-2.655em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;h&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.23em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;frac-line&quot; style=&quot;border-bottom-width:0.04em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.485em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; style=&quot;margin-right:0.10764em;&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;mopen mtight&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;mbin mtight&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;mclose mtight&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;mbin mtight&quot;&gt;−&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot; style=&quot;margin-right:0.10764em;&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;mopen mtight&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;mclose mtight&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.345em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose nulldelimiter&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;一个定积分：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msubsup&gt;&lt;mo&gt;∫&lt;/mo&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;/msubsup&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;\int_{a}^{b} f(x) dx&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.3998em;vertical-align:-0.3558em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;&lt;span class=&quot;mop op-symbol small-op&quot; style=&quot;margin-right:0.19445em;position:relative;top:-0.0006em;&quot;&gt;∫&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:1.044em;&quot;&gt;&lt;span style=&quot;top:-2.3442em;margin-left:-0.1945em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.2579em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;b&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3558em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.10764em;&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;e^x&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6644em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.6644em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 在 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;x=0&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.4306em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6444em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 处的泰勒展开：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/msup&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msubsup&gt;&lt;mo&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/mrow&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;∞&lt;/mi&gt;&lt;/msubsup&gt;&lt;mfrac&gt;&lt;msup&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;/msup&gt;&lt;mrow&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;!&lt;/mo&gt;&lt;/mrow&gt;&lt;/mfrac&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mfrac&gt;&lt;msup&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;mo stretchy=&quot;false&quot;&gt;!&lt;/mo&gt;&lt;/mrow&gt;&lt;/mfrac&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mfrac&gt;&lt;msup&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mn&gt;3&lt;/mn&gt;&lt;/msup&gt;&lt;mrow&gt;&lt;mn&gt;3&lt;/mn&gt;&lt;mo stretchy=&quot;false&quot;&gt;!&lt;/mo&gt;&lt;/mrow&gt;&lt;/mfrac&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mo&gt;⋯&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;e^x = \sum_{n=0}^{\infty} \frac{x^n}{n!} = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6644em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.6644em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.256em;vertical-align:-0.345em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;&lt;span class=&quot;mop op-symbol small-op&quot; style=&quot;position:relative;top:0em;&quot;&gt;∑&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8043em;&quot;&gt;&lt;span style=&quot;top:-2.4003em;margin-left:0em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;mrel mtight&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.2029em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;∞&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.2997em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mopen nulldelimiter&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mfrac&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.911em;&quot;&gt;&lt;span style=&quot;top:-2.655em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;mclose mtight&quot;&gt;!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.23em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;frac-line&quot; style=&quot;border-bottom-width:0.04em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.394em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.7385em;&quot;&gt;&lt;span style=&quot;top:-2.931em;margin-right:0.0714em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.5em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size3 size1 mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.345em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose nulldelimiter&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.7278em;vertical-align:-0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6667em;vertical-align:-0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.3629em;vertical-align:-0.345em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mopen nulldelimiter&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mfrac&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:1.0179em;&quot;&gt;&lt;span style=&quot;top:-2.655em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;mclose mtight&quot;&gt;!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.23em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;frac-line&quot; style=&quot;border-bottom-width:0.04em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.394em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8913em;&quot;&gt;&lt;span style=&quot;top:-2.931em;margin-right:0.0714em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.5em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size3 size1 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.345em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose nulldelimiter&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.3629em;vertical-align:-0.345em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mopen nulldelimiter&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mfrac&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:1.0179em;&quot;&gt;&lt;span style=&quot;top:-2.655em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;mclose mtight&quot;&gt;!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.23em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;frac-line&quot; style=&quot;border-bottom-width:0.04em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.394em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8913em;&quot;&gt;&lt;span style=&quot;top:-2.931em;margin-right:0.0714em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.5em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size3 size1 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.345em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose nulldelimiter&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.313em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;minner&quot;&gt;⋯&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;三角学&quot;&gt;三角学&lt;/h2&gt;
&lt;p&gt;一些基础的三角恒等式。&lt;/p&gt;
&lt;p&gt;毕达哥拉斯恒等式（勾股定理的三角形式）：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mrow&gt;&lt;mi&gt;sin&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;mi&gt;θ&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;msup&gt;&lt;mrow&gt;&lt;mi&gt;cos&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;mi&gt;θ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;\sin^2\theta + \cos^2\theta = 1&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.9552em;vertical-align:-0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;&lt;span class=&quot;mop&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8719em;&quot;&gt;&lt;span style=&quot;top:-3.1208em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;θ&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;&lt;span class=&quot;mop&quot;&gt;cos&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;θ&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6444em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;正弦的和角公式：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;sin&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;α&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mi&gt;β&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;sin&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;mi&gt;α&lt;/mi&gt;&lt;mi&gt;cos&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;mi&gt;β&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mi&gt;cos&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;mi&gt;α&lt;/mi&gt;&lt;mi&gt;sin&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;mi&gt;β&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;\sin(\alpha + \beta) = \sin\alpha\cos\beta + \cos\alpha\sin\beta&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.0037em;&quot;&gt;α&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.05278em;&quot;&gt;β&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8889em;vertical-align:-0.1944em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.0037em;&quot;&gt;α&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;cos&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.05278em;&quot;&gt;β&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8889em;vertical-align:-0.1944em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;cos&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.0037em;&quot;&gt;α&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.05278em;&quot;&gt;β&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;欧拉公式：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;θ&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;cos&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;mi&gt;θ&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;sin&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;mi&gt;θ&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;e^{i\theta} = \cos\theta + i\sin\theta&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8491em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8491em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot; style=&quot;margin-right:0.02778em;&quot;&gt;θ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.7778em;vertical-align:-0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;cos&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;θ&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6944em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;θ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;统计与概率&quot;&gt;统计与概率&lt;/h2&gt;
&lt;p&gt;统计与概率中常用的一些公式。&lt;/p&gt;
&lt;p&gt;一组 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;n&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.4306em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 个数 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/msub&gt;&lt;mo separator=&quot;https://www.cikio.cn/true&quot;&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msub&gt;&lt;mo separator=&quot;https://www.cikio.cn/true&quot;&gt;,&lt;/mo&gt;&lt;mo&gt;…&lt;/mo&gt;&lt;mo separator=&quot;https://www.cikio.cn/true&quot;&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;x_1, x_2, \ldots, x_n&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.625em;vertical-align:-0.1944em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3011em;&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:0em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3011em;&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:0em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;minner&quot;&gt;…&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.1514em;&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:0em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 的均值（&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;μ&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;\mu&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.625em;vertical-align:-0.1944em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;μ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;）公式：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;μ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mfrac&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;/mfrac&gt;&lt;msubsup&gt;&lt;mo&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;/msubsup&gt;&lt;msub&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;\mu = \frac{1}{n} \sum_{i=1}^{n} x_i&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.625em;vertical-align:-0.1944em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;μ&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.1901em;vertical-align:-0.345em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mopen nulldelimiter&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mfrac&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8451em;&quot;&gt;&lt;span style=&quot;top:-2.655em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.23em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;frac-line&quot; style=&quot;border-bottom-width:0.04em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.394em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.345em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose nulldelimiter&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;&lt;span class=&quot;mop op-symbol small-op&quot; style=&quot;position:relative;top:0em;&quot;&gt;∑&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8043em;&quot;&gt;&lt;span style=&quot;top:-2.4003em;margin-left:0em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mrel mtight&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.2029em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.2997em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3117em;&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:0em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;正态分布的概率密度函数：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;∣&lt;/mi&gt;&lt;mi&gt;μ&lt;/mi&gt;&lt;mo separator=&quot;https://www.cikio.cn/true&quot;&gt;,&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;σ&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mfrac&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;msqrt&gt;&lt;mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;mi&gt;π&lt;/mi&gt;&lt;msup&gt;&lt;mi&gt;σ&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;/msqrt&gt;&lt;/mfrac&gt;&lt;msup&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mfrac&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mi&gt;μ&lt;/mi&gt;&lt;msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;msup&gt;&lt;mi&gt;σ&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;/mfrac&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;f(x | \mu, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.0641em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.10764em;&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;∣&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;μ&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.03588em;&quot;&gt;σ&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.8671em;vertical-align:-0.538em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mopen nulldelimiter&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mfrac&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8451em;&quot;&gt;&lt;span style=&quot;top:-2.5154em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord sqrt mtight&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.9638em;&quot;&gt;&lt;span class=&quot;svg-align&quot; style=&quot;top:-3em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mtight&quot; style=&quot;padding-left:0.833em;&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot; style=&quot;margin-right:0.03588em;&quot;&gt;π&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; style=&quot;margin-right:0.03588em;&quot;&gt;σ&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.7463em;&quot;&gt;&lt;span style=&quot;top:-2.786em;margin-right:0.0714em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.5em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size3 size1 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-2.9238em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;hide-tail mtight&quot; style=&quot;min-width:0.853em;height:1.08em;&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;400em&quot; height=&quot;1.08em&quot; viewBox=&quot;0 0 400000 1080&quot; preserveAspectRatio=&quot;xMinYMin slice&quot;&gt;&lt;path d=&quot;M95,702
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
c69,-144,104.5,-217.7,106.5,-221
l0 -0
c5.3,-9.3,12,-14,20,-14
H400000v40H845.2724
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
M834 80h400000v40h-400000z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.0762em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.23em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;frac-line&quot; style=&quot;border-bottom-width:0.04em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.394em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.538em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose nulldelimiter&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:1.3291em;&quot;&gt;&lt;span style=&quot;top:-3.4534em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;−&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mopen nulldelimiter sizing reset-size3 size6&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mfrac&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:1.251em;&quot;&gt;&lt;span style=&quot;top:-2.5062em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size3 size1 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; style=&quot;margin-right:0.03588em;&quot;&gt;σ&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.9384em;&quot;&gt;&lt;span style=&quot;top:-2.9384em;margin-right:0.1em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.6444em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.2255em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;frac-line mtight&quot; style=&quot;border-bottom-width:0.049em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.5021em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size3 size1 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mopen mtight&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;mbin mtight&quot;&gt;−&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;μ&lt;/span&gt;&lt;span class=&quot;mclose mtight&quot;&gt;&lt;span class=&quot;mclose mtight&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:1.0484em;&quot;&gt;&lt;span style=&quot;top:-3.0484em;margin-right:0.1em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.6444em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.4938em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose nulldelimiter sizing reset-size3 size6&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;贝叶斯定理：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;P&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;A&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;∣&lt;/mi&gt;&lt;mi&gt;B&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mfrac&gt;&lt;mrow&gt;&lt;mi&gt;P&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;B&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;∣&lt;/mi&gt;&lt;mi&gt;A&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;mi&gt;P&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;A&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mi&gt;P&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;B&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mfrac&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;P(A|B) = \frac{P(B|A)P(A)}{P(B)}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.13889em;&quot;&gt;P&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;∣&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.05017em;&quot;&gt;B&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.53em;vertical-align:-0.52em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mopen nulldelimiter&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mfrac&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:1.01em;&quot;&gt;&lt;span style=&quot;top:-2.655em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; style=&quot;margin-right:0.13889em;&quot;&gt;P&lt;/span&gt;&lt;span class=&quot;mopen mtight&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot; style=&quot;margin-right:0.05017em;&quot;&gt;B&lt;/span&gt;&lt;span class=&quot;mclose mtight&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.23em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;frac-line&quot; style=&quot;border-bottom-width:0.04em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-3.485em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; style=&quot;margin-right:0.13889em;&quot;&gt;P&lt;/span&gt;&lt;span class=&quot;mopen mtight&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot; style=&quot;margin-right:0.05017em;&quot;&gt;B&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;∣&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;mclose mtight&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot; style=&quot;margin-right:0.13889em;&quot;&gt;P&lt;/span&gt;&lt;span class=&quot;mopen mtight&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;mclose mtight&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.52em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose nulldelimiter&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;线性代数&quot;&gt;线性代数&lt;/h2&gt;
&lt;p&gt;来自线性代数的几个例子。&lt;/p&gt;
&lt;p&gt;一个 2×2 矩阵：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;A&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mo fence=&quot;true&quot;&gt;(&lt;/mo&gt;&lt;mtable rowspacing=&quot;0.16em&quot; columnalign=&quot;center center&quot; columnspacing=&quot;1em&quot;&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;mstyle scriptlevel=&quot;https://www.cikio.cn/0&quot; displaystyle=&quot;false&quot;&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;/mstyle&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mstyle scriptlevel=&quot;https://www.cikio.cn/0&quot; displaystyle=&quot;false&quot;&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;/mstyle&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;mstyle scriptlevel=&quot;https://www.cikio.cn/0&quot; displaystyle=&quot;false&quot;&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;/mstyle&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mstyle scriptlevel=&quot;https://www.cikio.cn/0&quot; displaystyle=&quot;false&quot;&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;/mstyle&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;/mtable&gt;&lt;mo fence=&quot;true&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;A = \begin{pmatrix} a &amp;#x26; b \\ c &amp;#x26; d \end{pmatrix}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:2.4em;vertical-align:-0.95em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;minner&quot;&gt;&lt;span class=&quot;mopen delimcenter&quot; style=&quot;top:0em;&quot;&gt;&lt;span class=&quot;delimsizing size3&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mtable&quot;&gt;&lt;span class=&quot;col-align-c&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:1.45em;&quot;&gt;&lt;span style=&quot;top:-3.61em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-2.41em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;c&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.95em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;arraycolsep&quot; style=&quot;width:0.5em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;arraycolsep&quot; style=&quot;width:0.5em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;col-align-c&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:1.45em;&quot;&gt;&lt;span style=&quot;top:-3.61em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;b&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;top:-2.41em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:3em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;d&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.95em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose delimcenter&quot; style=&quot;top:0em;&quot;&gt;&lt;span class=&quot;delimsizing size3&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;2×2 矩阵的行列式：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;det&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;A&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;\det(A) = ad - bc&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop&quot;&gt;det&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.7778em;vertical-align:-0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;−&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6944em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;c&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;矩阵 A 与矩阵 B 相乘：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;C&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;A&lt;/mi&gt;&lt;mi&gt;B&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;C = AB&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.07153em;&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.05017em;&quot;&gt;B&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;物理&quot;&gt;物理&lt;/h2&gt;
&lt;p&gt;两个很著名的物理公式。&lt;/p&gt;
&lt;p&gt;爱因斯坦质能方程：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;msup&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;E = mc^2&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.05764em;&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;牛顿第二定律：
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;F&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;F = ma&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.13889em;&quot;&gt;F&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.4306em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;ma&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;以上内容可以用来检验各类数学公式的渲染效果。&lt;/p&gt; &lt;blockquote&gt;本内容由 Frosti Feed 自动生成，可能存在排版问题；建议直接访问原文：&lt;a href=&quot;https://www.cikio.cn/blog/mathematics-examples/&quot;&gt;https://www.cikio.cn/blog/mathematics-examples/&lt;/a&gt;&lt;/blockquote&gt;</content:encoded><dc:creator>Cikio</dc:creator><pubDate>Sat, 31 May 2025 00:00:00 GMT</pubDate></item><item><title>为 Frosti 添加评论系统</title><link>https://www.cikio.cn/blog/adding-comment-systems/</link><guid isPermaLink="true">https://www.cikio.cn/blog/adding-comment-systems/</guid><description>一份完整指南：如何把 Waline 评论系统接入你的 Frosti 博客</description><content:encoded>&lt;h2 id=&quot;引言&quot;&gt;引言&lt;/h2&gt;
&lt;p&gt;评论是博客最核心的能力之一，它让读者能够围绕你的内容展开交流。Frosti 已经为基于 Astro 的博客打下了不错的基础，但要加上评论系统还需要额外几步。本文会带你一步步把 Waline 评论系统接入 Frosti 博客。&lt;/p&gt;
&lt;p&gt;像 Astro 构建的这类静态站点没有服务端处理能力，因此并不自带评论系统。不过我们可以借助第三方评论服务：后端由它们托管，我们只需把对应的前端组件集成到站点里。&lt;/p&gt;
&lt;h2 id=&quot;在-astro-中创建评论组件&quot;&gt;在 Astro 中创建评论组件&lt;/h2&gt;
&lt;p&gt;在接入具体的评论系统之前，先了解一下 Astro 里组件的创建与使用方式。我们会做一个可复用组件，方便添加到任意页面。&lt;/p&gt;
&lt;h3 id=&quot;组件结构&quot;&gt;组件结构&lt;/h3&gt;
&lt;p&gt;评论组件放在 &lt;code&gt;src/components/comments&lt;/code&gt; 目录下。先确认这个目录存在：&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;https://www.cikio.cn/stylesheet&quot; href=&quot;https://www.cikio.cn/_astro/ec.2tpnv.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.cikio.cn/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;mkdir&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;-p&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;src/components/comments&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;mkdir -p src/components/comments&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;集成-waline&quot;&gt;集成 Waline&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://waline.js.org/&quot; rel=&quot;https://www.cikio.cn/nofollow&quot;&gt;Waline&lt;span&gt;↗&lt;/span&gt;&lt;/a&gt; 是一个简单、安全、功能丰富的前后端分离评论系统，可定制程度高，接入也很方便。&lt;/p&gt;
&lt;h3 id=&quot;第一步搭建-waline-后端&quot;&gt;第一步：搭建 Waline 后端&lt;/h3&gt;
&lt;p&gt;在把 Waline 加到站点之前，需要先准备好后端：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;创建一个 LeanCloud 应用，用来存放评论数据。&lt;/li&gt;
&lt;li&gt;把 Waline 服务端部署到 Vercel 或其他托管平台。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;按照 &lt;a href=&quot;https://waline.js.org/guide/get-started/&quot; rel=&quot;https://www.cikio.cn/nofollow&quot;&gt;Waline 官方指南&lt;span&gt;↗&lt;/span&gt;&lt;/a&gt; 完成后端配置。部署完成后你会得到一个服务端 URL，前端组件需要用到它。&lt;/p&gt;
&lt;h3 id=&quot;第二步创建-waline-组件&quot;&gt;第二步：创建 Waline 组件&lt;/h3&gt;
&lt;p&gt;接下来创建一个可复用的 Waline 组件：&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;touch&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;src/components/comments/Waline.astro&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;touch src/components/comments/Waline.astro&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;把下面的代码写进这个组件：&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;astro&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;interface&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;Props&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;serverURL&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;lang&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;?:&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;dark&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;?:&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;emoji&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;?:&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;[];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;meta&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;?:&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;[];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;requiredMeta&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;?:&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;[];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;reaction&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;?:&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;boolean&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;pageview&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;?:&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;boolean&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;serverURL&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;lang&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;en&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;dark&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;html[data-theme-type=&apos;dark&apos;]&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;emoji&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;https://unpkg.com/@waline/emojis@1.1.0/weibo&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;https://unpkg.com/@waline/emojis@1.1.0/bilibili&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;meta&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;nick&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;mail&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;link&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;requiredMeta&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; [],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;reaction&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;pageview&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;} &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; Astro.props;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;waline-container&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;link&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;rel&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;stylesheet&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;href&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;https://unpkg.com/@waline/client@v3/dist/waline.css&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;script&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;module&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;define:vars&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;={{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;serverURL,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;lang,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;dark,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;emoji,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;meta,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;requiredMeta,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;reaction,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;pageview,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; { init } &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;https://unpkg.com/@waline/client@v3/dist/waline.js&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;async&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;initWaline&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;container&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; document.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;querySelector&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;#waline-container&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;container) &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;return;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;init&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;({&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;el: &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;#waline-container&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;serverURL,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;path: location.pathname,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;lang,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;dark,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;emoji,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;meta,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;requiredMeta,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;reaction,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;pageview,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;});&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;document.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;addEventListener&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;astro:page-load&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, () &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;initWaline&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;});&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; (document.readyState &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;!==&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;loading&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;initWaline&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;} &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;document.&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;addEventListener&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;DOMContentLoaded&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, initWaline);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;#waline-container&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;margin-top&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;rem&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;margin-bottom&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;rem&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;---interface Props {  serverURL: string;  lang?: string;  dark?: string;  emoji?: string[];  meta?: string[];  requiredMeta?: string[];  reaction?: boolean;  pageview?: boolean;}const {  serverURL,  lang = &amp;#x22;en&amp;#x22;,  dark = &amp;#x22;html[data-theme-type=&amp;#x27;dark&amp;#x27;]&amp;#x22;,  emoji = [&amp;#x22;https://unpkg.com/@waline/emojis@1.1.0/weibo&amp;#x22;, &amp;#x22;https://unpkg.com/@waline/emojis@1.1.0/bilibili&amp;#x22;],  meta = [&amp;#x22;nick&amp;#x22;, &amp;#x22;mail&amp;#x22;, &amp;#x22;link&amp;#x22;],  requiredMeta = [],  reaction = false,  pageview = false,} = Astro.props;---&lt;div id=&amp;#x22;waline-container&amp;#x22;&gt;&lt;/div&gt;&lt;link rel=&amp;#x22;stylesheet&amp;#x22; href=&amp;#x22;https://unpkg.com/@waline/client@v3/dist/waline.css&amp;#x22; /&gt;&lt;script  type=&amp;#x22;module&amp;#x22;  define:vars={{    serverURL,    lang,    dark,    emoji,    meta,    requiredMeta,    reaction,    pageview,  }}&gt;  import { init } from &amp;#x22;https://unpkg.com/@waline/client@v3/dist/waline.js&amp;#x22;;  async function initWaline() {    const container = document.querySelector(&amp;#x22;#waline-container&amp;#x22;);    if (!container) return;    init({      el: &amp;#x22;#waline-container&amp;#x22;,      serverURL,      path: location.pathname,      lang,      dark,      emoji,      meta,      requiredMeta,      reaction,      pageview,    });  }  document.addEventListener(&amp;#x22;astro:page-load&amp;#x22;, () =&gt; {    initWaline();  });  if (document.readyState !== &amp;#x22;loading&amp;#x22;) {    initWaline();  } else {    document.addEventListener(&amp;#x22;DOMContentLoaded&amp;#x22;, initWaline);  }&lt;/script&gt;&lt;style&gt;  #waline-container {    margin-top: 2rem;    margin-bottom: 2rem;  }&lt;/style&gt;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h3 id=&quot;第三步使用-waline-组件&quot;&gt;第三步：使用 Waline 组件&lt;/h3&gt;
&lt;p&gt;现在就可以在 Astro 页面或布局中使用这个 Waline 组件了。下面是把它加到博客文章模板里的写法：&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;astro&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 在博客文章的布局文件中&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; Waline &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;../../components/comments/Waline.astro&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;// 其他导入与 frontmatter……&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;&amp;#x3C;!-- 你的博客正文 --&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;article&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;slot&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;article&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#99A0A6&quot;&gt;&amp;#x3C;!-- 添加评论区 --&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;section&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;comments&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;h2&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;评论&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;h2&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;Waline&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;serverURL&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;https://your-waline-server.vercel.app&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;section&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;---// 在博客文章的布局文件中import Waline from &amp;#x22;../../components/comments/Waline.astro&amp;#x22;;// 其他导入与 frontmatter……---&lt;!-- 你的博客正文 --&gt;&lt;article&gt;  &lt;slot /&gt;&lt;/article&gt;&lt;!-- 添加评论区 --&gt;&lt;section class=&amp;#x22;comments&amp;#x22;&gt;  &lt;h2&gt;评论&lt;/h2&gt;  &lt;Waline serverURL=&amp;#x22;https://your-waline-server.vercel.app&amp;#x22; /&gt;&lt;/section&gt;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;把 &lt;code&gt;&quot;https://your-waline-server.vercel.app&quot;&lt;/code&gt; 换成你自己实际的 Waline 服务端 URL。&lt;/p&gt;
&lt;h2 id=&quot;问题排查&quot;&gt;问题排查&lt;/h2&gt;
&lt;h3 id=&quot;常见问题&quot;&gt;常见问题&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;评论不显示：&lt;/strong&gt; 检查 &lt;code&gt;serverURL&lt;/code&gt; 是否配置正确并且可以访问。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;样式异常：&lt;/strong&gt; 确认 Waline 的样式表已正常加载。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;部署问题：&lt;/strong&gt; 如果服务端部署在 Vercel，检查环境变量与部署日志。&lt;/li&gt;
&lt;/ul&gt; &lt;blockquote&gt;本内容由 Frosti Feed 自动生成，可能存在排版问题；建议直接访问原文：&lt;a href=&quot;https://www.cikio.cn/blog/adding-comment-systems/&quot;&gt;https://www.cikio.cn/blog/adding-comment-systems/&lt;/a&gt;&lt;/blockquote&gt;</content:encoded><dc:creator>Cikio</dc:creator><pubDate>Tue, 15 Apr 2025 00:00:00 GMT</pubDate></item><item><title>在 Frosti 中使用 MDX</title><link>https://www.cikio.cn/blog/frosti-mdx/</link><guid isPermaLink="true">https://www.cikio.cn/blog/frosti-mdx/</guid><description>借助 MDX，为文章内容引入更多 Frosti 组件</description><content:encoded>暂无正文内容。 &lt;blockquote&gt;本内容由 Frosti Feed 自动生成，可能存在排版问题；建议直接访问原文：&lt;a href=&quot;https://www.cikio.cn/blog/frosti-mdx/&quot;&gt;https://www.cikio.cn/blog/frosti-mdx/&lt;/a&gt;&lt;/blockquote&gt;</content:encoded><dc:creator>Cikio</dc:creator><pubDate>Fri, 12 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Markdown 语法示例</title><link>https://www.cikio.cn/blog/markdown-style-guide/</link><guid isPermaLink="true">https://www.cikio.cn/blog/markdown-style-guide/</guid><description>这里演示在 Astro 中编写 Markdown 内容时常用到的一些基础语法。</description><content:encoded>&lt;p&gt;这里演示在 Astro 中编写 Markdown 内容时常用到的一些基础语法。&lt;/p&gt;
&lt;h2 id=&quot;标题&quot;&gt;标题&lt;/h2&gt;
&lt;p&gt;下面这些 HTML &lt;code&gt;&amp;#x3C;h1&gt;&lt;/code&gt;—&lt;code&gt;&amp;#x3C;h6&gt;&lt;/code&gt; 元素代表六个层级的标题，&lt;code&gt;&amp;#x3C;h1&gt;&lt;/code&gt; 层级最高，&lt;code&gt;&amp;#x3C;h6&gt;&lt;/code&gt; 最低。&lt;/p&gt;
&lt;h2 id=&quot;h2&quot;&gt;H2&lt;/h2&gt;
&lt;h3 id=&quot;h3&quot;&gt;H3&lt;/h3&gt;
&lt;h4 id=&quot;h4&quot;&gt;H4&lt;/h4&gt;
&lt;h5 id=&quot;h5&quot;&gt;H5&lt;/h5&gt;
&lt;h6 id=&quot;h6&quot;&gt;H6&lt;/h6&gt;
&lt;h2 id=&quot;段落&quot;&gt;段落&lt;/h2&gt;
&lt;p&gt;这是一段用来演示段落排版的示例文字。Markdown 的段落之间以空行分隔，渲染时会把段落内的换行自动折行；只要行尾不留两个以上空格，就不会被当成强制换行。&lt;/p&gt;
&lt;p&gt;写长文时也值得留意可读性：段落过长会让读者失去耐心，把一大段拆成几个自然段，阅读节奏会更舒服。&lt;/p&gt;
&lt;h2 id=&quot;图片&quot;&gt;图片&lt;/h2&gt;
&lt;h4 id=&quot;语法&quot;&gt;语法&lt;/h4&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;https://www.cikio.cn/stylesheet&quot; href=&quot;https://www.cikio.cn/_astro/ec.2tpnv.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.cikio.cn/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;![&lt;/span&gt;&lt;span style=&quot;--0:#DBEDFF;--0td:underline&quot;&gt;图片替代文本&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;](&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8;--0td:underline&quot;&gt;./图片的完整或相对路径&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;![图片替代文本](./图片的完整或相对路径)&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h4 id=&quot;输出&quot;&gt;输出&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;https://www.cikio.cn/site/logo.webp&quot; alt=&quot;博客占位图&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;引用&quot;&gt;引用&lt;/h2&gt;
&lt;p&gt;引用（blockquote）元素用于标注取自其他来源的内容，可以带上出处说明（出处需写在 &lt;code&gt;footer&lt;/code&gt; 或 &lt;code&gt;cite&lt;/code&gt; 元素内），也可以包含批注、缩写等行内变化。&lt;/p&gt;
&lt;h3 id=&quot;不带出处的引用&quot;&gt;不带出处的引用&lt;/h3&gt;
&lt;h4 id=&quot;语法-1&quot;&gt;语法&lt;/h4&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;&gt; 引用块里的内容会以左侧竖线加缩进的形式呈现。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8;--0fw:bold&quot;&gt;**注意**&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;：引用块内同样可以使用 &lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8;--0fs:italic&quot;&gt;_Markdown 语法_&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;&gt; 引用块里的内容会以左侧竖线加缩进的形式呈现。&gt; **注意**：引用块内同样可以使用 _Markdown 语法_。&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h4 id=&quot;输出-1&quot;&gt;输出&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;引用块里的内容会以左侧竖线加缩进的形式呈现。
&lt;strong&gt;注意&lt;/strong&gt;：引用块内同样可以使用 &lt;em&gt;Markdown 语法&lt;/em&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;带出处的引用&quot;&gt;带出处的引用&lt;/h3&gt;
&lt;h4 id=&quot;语法-2&quot;&gt;语法&lt;/h4&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;&gt; 不要通过共享内存来通信，而要通过通信来共享内存。&amp;#x3C;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;&gt; — &amp;#x3C;cite&gt;Rob Pike[&lt;/span&gt;&lt;span style=&quot;--0:#DBEDFF;--0td:underline&quot;&gt;^1&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;]&amp;#x3C;/cite&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;&gt; 不要通过共享内存来通信，而要通过通信来共享内存。&lt;br&gt;&gt; — &lt;cite&gt;Rob Pike[^1]&lt;/cite&gt;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h4 id=&quot;输出-2&quot;&gt;输出&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;不要通过共享内存来通信，而要通过通信来共享内存。&lt;br&gt;
— &lt;cite&gt;Rob Pike&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot; id=&quot;user-content-fnref-1&quot; data-footnote-ref=&quot;&quot; aria-describedby=&quot;footnote-label&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;表格&quot;&gt;表格&lt;/h2&gt;
&lt;h4 id=&quot;语法-3&quot;&gt;语法&lt;/h4&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;| 斜体   | 粗体     | 代码   |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;| ------ | -------- | ------ |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;| &lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8;--0fs:italic&quot;&gt;_斜体_&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; | &lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8;--0fw:bold&quot;&gt;**粗体**&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; | &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;`代码`&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;| 斜体   | 粗体     | 代码   || ------ | -------- | ------ || _斜体_ | **粗体** | &amp;#x60;代码&amp;#x60; |&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h4 id=&quot;输出-3&quot;&gt;输出&lt;/h4&gt;















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;斜体&lt;/th&gt;&lt;th&gt;粗体&lt;/th&gt;&lt;th&gt;代码&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;斜体&lt;/em&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;粗体&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;代码&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;代码块&quot;&gt;代码块&lt;/h2&gt;
&lt;h4 id=&quot;语法-4&quot;&gt;语法&lt;/h4&gt;
&lt;p&gt;在新起的一行写 3 个反引号 ``` 再写代码片段，最后用另一行 3 个反引号收尾；想让代码带上语言相关的语法高亮，就在开头那 3 个反引号后面写一个语言名，例如 html、javascript、css、markdown、typescript、txt、bash。&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;```cpp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&amp;#x3C;bits/stdc++.h&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;namespace&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; N &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; n, k, a[N];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; ans;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;vector&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x3C;int&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; v[N];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;scanf&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;%d%d&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x26;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;n, &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x26;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;k);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;; i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x3C;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; n; i&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;scanf&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x26;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;a[i]);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;v[i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; k].&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;push_back&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(a[i]);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;; i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; k; i&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;sort&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(v[i].&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;rbegin&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(), v[i].&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;rend&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;());&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;; i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; k; i&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; j &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;; j &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; v[i].&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(); j &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;ans &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; v[i][j] &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; v[i][j &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;printf&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;%lld\n&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, ans);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;&amp;#x60;&amp;#x60;&amp;#x60;cpp#include &lt;bits/stdc++.h&gt;using namespace std;const int N = 1e5 + 5;int n, k, a[N];long long ans;vector&lt;int&gt; v[N];int main(){    scanf(&amp;#x22;%d%d&amp;#x22;, &amp;#x26;n, &amp;#x26;k);    for (int i = 1; i &lt;= n; i++)    {        scanf(&amp;#x22;%d&amp;#x22;, &amp;#x26;a[i]);        v[i % k].push_back(a[i]);    }    for (int i = 0; i &lt; k; i++)        sort(v[i].rbegin(), v[i].rend());    for (int i = 0; i &lt; k; i++)    {        for (int j = 0; j + 1 &lt; v[i].size(); j += 2)        {            ans += v[i][j] + v[i][j + 1];        }    }    printf(&amp;#x22;%lld\n&amp;#x22;, ans);    return 0;}&amp;#x60;&amp;#x60;&amp;#x60;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;输出&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;cpp&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&amp;#x3C;bits/stdc++.h&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;namespace&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; N &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; n, k, a[N];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; ans;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;vector&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x3C;int&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; v[N];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;scanf&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;%d%d&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x26;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;n, &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x26;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;k);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;; i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x3C;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; n; i&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;scanf&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x26;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;a[i]);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;v[i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; k].&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;push_back&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(a[i]);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;; i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; k; i&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;sort&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(v[i].&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;rbegin&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(), v[i].&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;rend&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;());&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;; i &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; k; i&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; j &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;; j &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; v[i].&lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(); j &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;ans &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; v[i][j] &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; v[i][j &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;printf&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;%lld\n&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;, ans);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#F97583&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#79B8FF&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;#include &lt;bits/stdc++.h&gt;using namespace std;const int N = 1e5 + 5;int n, k, a[N];long long ans;vector&lt;int&gt; v[N];int main(){    scanf(&amp;#x22;%d%d&amp;#x22;, &amp;#x26;n, &amp;#x26;k);    for (int i = 1; i &lt;= n; i++)    {        scanf(&amp;#x22;%d&amp;#x22;, &amp;#x26;a[i]);        v[i % k].push_back(a[i]);    }    for (int i = 0; i &lt; k; i++)        sort(v[i].rbegin(), v[i].rend());    for (int i = 0; i &lt; k; i++)    {        for (int j = 0; j + 1 &lt; v[i].size(); j += 2)        {            ans += v[i][j] + v[i][j + 1];        }    }    printf(&amp;#x22;%lld\n&amp;#x22;, ans);    return 0;}&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;列表类型&quot;&gt;列表类型&lt;/h2&gt;
&lt;h3 id=&quot;有序列表&quot;&gt;有序列表&lt;/h3&gt;
&lt;h4 id=&quot;语法-5&quot;&gt;语法&lt;/h4&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;1.&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 第一项&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;2.&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 第二项&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;3.&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 第三项&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;1. 第一项2. 第二项3. 第三项&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h4 id=&quot;输出-4&quot;&gt;输出&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;第一项&lt;/li&gt;
&lt;li&gt;第二项&lt;/li&gt;
&lt;li&gt;第三项&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;无序列表&quot;&gt;无序列表&lt;/h3&gt;
&lt;h4 id=&quot;语法-6&quot;&gt;语法&lt;/h4&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 列表项&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 另一项&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 还有一项&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;- 列表项- 另一项- 还有一项&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h4 id=&quot;输出-5&quot;&gt;输出&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;列表项&lt;/li&gt;
&lt;li&gt;另一项&lt;/li&gt;
&lt;li&gt;还有一项&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;嵌套列表&quot;&gt;嵌套列表&lt;/h3&gt;
&lt;h4 id=&quot;语法-7&quot;&gt;语法&lt;/h4&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 水果&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 苹果&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 橙子&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 香蕉&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 乳制品&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 牛奶&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;--0:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; 奶酪&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;- 水果  - 苹果  - 橙子  - 香蕉- 乳制品  - 牛奶  - 奶酪&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h4 id=&quot;输出-6&quot;&gt;输出&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;水果
&lt;ul&gt;
&lt;li&gt;苹果&lt;/li&gt;
&lt;li&gt;橙子&lt;/li&gt;
&lt;li&gt;香蕉&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;乳制品
&lt;ul&gt;
&lt;li&gt;牛奶&lt;/li&gt;
&lt;li&gt;奶酪&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;其他元素&quot;&gt;其他元素&lt;/h2&gt;
&lt;h4 id=&quot;语法-8&quot;&gt;语法&lt;/h4&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;abbr&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B392F0&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#9ECBFF&quot;&gt;&quot;Graphics Interchange Format&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;GIF&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;abbr&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt; 是一种位图图像格式。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;H&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;sub&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;2&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;sub&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;O&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;X&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;sup&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;n&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;sup&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt; + Y&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;sup&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;n&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;sup&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt; = Z&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;sup&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;n&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;sup&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;按 &amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;kbd&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;CTRL&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;kbd&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;+&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;kbd&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;ALT&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;kbd&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;+&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;kbd&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;Delete&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;kbd&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt; 结束会话。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;大多数&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;mark&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;蝾螈&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#85E89D&quot;&gt;mark&lt;/span&gt;&lt;span style=&quot;--0:#E1E4E8&quot;&gt;&gt;是夜行动物，以昆虫、蠕虫和其他小生物为食。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;&lt;abbr title=&amp;#x22;Graphics Interchange Format&amp;#x22;&gt;GIF&lt;/abbr&gt; 是一种位图图像格式。H&lt;sub&gt;2&lt;/sub&gt;OX&lt;sup&gt;n&lt;/sup&gt; + Y&lt;sup&gt;n&lt;/sup&gt; = Z&lt;sup&gt;n&lt;/sup&gt;按 &lt;kbd&gt;CTRL&lt;/kbd&gt;+&lt;kbd&gt;ALT&lt;/kbd&gt;+&lt;kbd&gt;Delete&lt;/kbd&gt; 结束会话。大多数&lt;mark&gt;蝾螈&lt;/mark&gt;是夜行动物，以昆虫、蠕虫和其他小生物为食。&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h4 id=&quot;输出-7&quot;&gt;输出&lt;/h4&gt;
&lt;p&gt;&lt;abbr title=&quot;Graphics Interchange Format&quot;&gt;GIF&lt;/abbr&gt; 是一种位图图像格式。&lt;/p&gt;
&lt;p&gt;H&lt;sub&gt;2&lt;/sub&gt;O&lt;/p&gt;
&lt;p&gt;X&lt;sup&gt;n&lt;/sup&gt; + Y&lt;sup&gt;n&lt;/sup&gt; = Z&lt;sup&gt;n&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;按 &lt;kbd&gt;CTRL&lt;/kbd&gt;+&lt;kbd&gt;ALT&lt;/kbd&gt;+&lt;kbd&gt;Delete&lt;/kbd&gt; 结束会话。&lt;/p&gt;
&lt;p&gt;大多数&lt;mark&gt;蝾螈&lt;/mark&gt;是夜行动物，以昆虫、蠕虫和其他小生物为食。&lt;/p&gt;
&lt;section data-footnotes=&quot;&quot; class=&quot;footnotes&quot;&gt;&lt;h2 class=&quot;sr-only&quot; id=&quot;footnote-label&quot;&gt;Footnotes&lt;/h2&gt;
&lt;ol&gt;
&lt;li id=&quot;user-content-fn-1&quot;&gt;
&lt;p&gt;以上引文摘自 Rob Pike 在 2015 年 11 月 18 日 Gopherfest 上的&lt;a href=&quot;https://www.youtube.com/watch?v=PAAkCSZUG1c&quot; rel=&quot;https://www.cikio.cn/nofollow&quot;&gt;演讲&lt;span&gt;↗&lt;/span&gt;&lt;/a&gt;。 &lt;a href=&quot;#user-content-fnref-1&quot; data-footnote-backref=&quot;&quot; aria-label=&quot;https://www.cikio.cn/Back%20to%20reference%201&quot; class=&quot;data-footnote-backref&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt; &lt;blockquote&gt;本内容由 Frosti Feed 自动生成，可能存在排版问题；建议直接访问原文：&lt;a href=&quot;https://www.cikio.cn/blog/markdown-style-guide/&quot;&gt;https://www.cikio.cn/blog/markdown-style-guide/&lt;/a&gt;&lt;/blockquote&gt;</content:encoded><dc:creator>Cikio</dc:creator><pubDate>Mon, 01 Jul 2024 00:00:00 GMT</pubDate></item><item><title>使用 MDX</title><link>https://www.cikio.cn/blog/using-mdx/</link><guid isPermaLink="true">https://www.cikio.cn/blog/using-mdx/</guid><description>演示如何在 Astro 中编写和使用 MDX 内容</description><content:encoded>暂无正文内容。 &lt;blockquote&gt;本内容由 Frosti Feed 自动生成，可能存在排版问题；建议直接访问原文：&lt;a href=&quot;https://www.cikio.cn/blog/using-mdx/&quot;&gt;https://www.cikio.cn/blog/using-mdx/&lt;/a&gt;&lt;/blockquote&gt;</content:encoded><dc:creator>Cikio</dc:creator><pubDate>Sat, 02 Jul 2022 00:00:00 GMT</pubDate></item></channel></rss>