<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>海上共明月</title><link>https://withlia.cn/</link><description>Recent content on 海上共明月</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Thu, 09 Jul 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://withlia.cn/index.xml" rel="self" type="application/rss+xml"/><item><title>你好，世界</title><link>https://withlia.cn/p/hello-world/</link><pubDate>Sun, 06 Mar 2022 00:00:00 +0000</pubDate><guid>https://withlia.cn/p/hello-world/</guid><description>&lt;img src="https://withlia.cn/p/hello-world/cover.jpg" alt="Featured image of post 你好，世界" /&gt;&lt;p&gt;欢迎来到 Hugo Stack 主题。这是你的第一篇文章。你可以编辑或删除它，然后开始你的写作旅程！&lt;/p&gt;
&lt;p&gt;关于本主题的更多信息，请查看文档：https://stack.jimmycai.com/&lt;/p&gt;
&lt;p&gt;想要拥有一个类似的站点吗？请查看 &lt;a class="link" href="https://github.com/CaiJimmy/hugo-theme-stack-starter" target="_blank" rel="noopener"
 &gt;hugo-theme-stack-stater&lt;/a&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;封面图片由 &lt;a class="link" href="https://unsplash.com/@pawel_czerwinski" target="_blank" rel="noopener"
 &gt;Pawel Czerwinski&lt;/a&gt; 拍摄，发布于 &lt;a class="link" href="https://unsplash.com/" target="_blank" rel="noopener"
 &gt;Unsplash&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;</description></item><item><title>使用宝塔面板私有部署 Twikoo 评论系统</title><link>https://withlia.cn/p/baota-deploy-twikoo/</link><pubDate>Thu, 09 Jul 2026 00:00:00 +0800</pubDate><guid>https://withlia.cn/p/baota-deploy-twikoo/</guid><description>&lt;img src="https://withlia.cn/p/baota-deploy-twikoo/0.png" alt="Featured image of post 使用宝塔面板私有部署 Twikoo 评论系统" /&gt;&lt;p&gt;给静态博客(Hugo / Hexo / VuePress 等)接入评论系统时，&lt;a class="link" href="https://github.com/twikoojs/twikoo" target="_blank" rel="noopener"
 &gt;Twikoo&lt;/a&gt; 是一个非常轻量、好看、易用的选择。官方推荐的部署方式有 Vercel、腾讯云 CloudBase 等，但如果你已经有一台自己的服务器并安装了宝塔面板，其实可以完全私有部署，数据 100% 在自己手里，也不受海外网络波动影响。
官方也有&lt;a class="link" href="https://twikoo.js.org/quick-start.html" target="_blank" rel="noopener"
 &gt;开始入门&lt;/a&gt;教程&lt;/p&gt;
&lt;p&gt;本文记录一次从零开始，在宝塔面板上部署 Twikoo 后端服务，并接入到 Hugo 博客的完整过程。&lt;/p&gt;
&lt;h2 id="一准备工作"&gt;一、准备工作
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;一台已安装宝塔面板的 Linux 服务器（本文使用 CentOS 7 + 宝塔 7.x）&lt;/li&gt;
&lt;li&gt;服务器公网 IP 一个，或已备案的域名一个（可选，若使用国内厂商服务器，绑定域名需完成 ICP 备案 + 厂商接入备案），我自己使用的是阿里云的&lt;a class="link" href="https://www.aliyun.com/product/ecs" target="_blank" rel="noopener"
 &gt;服务器&lt;/a&gt;，也是从阿里云买的&lt;a class="link" href="https://wanwang.aliyun.com/domain" target="_blank" rel="noopener"
 &gt;域名&lt;/a&gt;。其实不建议选择.cn 的域名，因为备案太久了，所以不建议使用(因为我买的.cn 域名备案时间太长了)。&lt;/li&gt;
&lt;li&gt;已完成 ICP 备案的域名一个（可选，不用域名也能跑起来）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="二安装依赖"&gt;二、安装依赖
&lt;/h2&gt;&lt;p&gt;在宝塔&amp;quot;软件商店&amp;quot;中依次安装以下软件：&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;Node.js 版本管理器&lt;/td&gt;
 &lt;td&gt;用于运行 Twikoo 服务，安装 Node.js 18.x（推荐）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MongoDB&lt;/td&gt;
 &lt;td&gt;Twikoo 的数据存储，安装 4.x 或 5.x 均可&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;PM2 管理器&lt;/td&gt;
 &lt;td&gt;用来守护 Node 进程&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Nginx&lt;/td&gt;
 &lt;td&gt;反向代理（宝塔默认已装）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img alt="依赖" class="gallery-image" data-flex-basis="612px" data-flex-grow="255" height="476" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/baota-deploy-twikoo/1.png" srcset="https://withlia.cn/p/baota-deploy-twikoo/1_hu_5f1bc09b333a239.png 800w, https://withlia.cn/p/baota-deploy-twikoo/1.png 1214w" width="1214"&gt;&lt;/p&gt;
&lt;p&gt;Node.js 安装完成后，进入 &lt;strong&gt;Node.js 版本管理器 → 版本管理&lt;/strong&gt;，把某个版本设为默认，然后重开终端确认：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node -v
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;若在 SSH 中 &lt;code&gt;npm: command not found&lt;/code&gt;，可以做个软链：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ls /www/server/nodejs/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 假设装的是 v18.19.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ln -sf /www/server/nodejs/v18.19.0/bin/node /usr/bin/node
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ln -sf /www/server/nodejs/v18.19.0/bin/npm /usr/bin/npm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="三创建-mongodb-数据库"&gt;三、创建 MongoDB 数据库
&lt;/h2&gt;&lt;p&gt;宝塔 → 数据库 → MongoDB → 添加数据库：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;数据库名：&lt;code&gt;twikoo&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;添加至：本地服务器 (127.0.0.1)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;因为 MongoDB 默认只监听 &lt;code&gt;127.0.0.1&lt;/code&gt;，外网连不到，同一台服务器上的 Twikoo 直接连即可，可以不开启认证。连接串是：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mongodb://127.0.0.1:27017/twikoo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;如果要开启密码认证，需要在 MongoDB 配置里设置 &lt;code&gt;security.authorization: enabled&lt;/code&gt;，然后重启服务，再回到宝塔数据库列表点&amp;quot;改密&amp;quot;。本文选择本机不认证的方式，简单省事。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="四部署-tkserver"&gt;四、部署 tkserver
&lt;/h2&gt;&lt;p&gt;Twikoo 的私有部署包名叫 &lt;code&gt;tkserver&lt;/code&gt;，直接用 npm 安装。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p /www/wwwroot/twikoo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /www/wwwroot/twikoo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm init -y
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install tkserver --registry&lt;span class="o"&gt;=&lt;/span&gt;https://registry.npmmirror.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;安装完成后，先看一下入口文件：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat node_modules/tkserver/package.json &lt;span class="p"&gt;|&lt;/span&gt; grep -E &lt;span class="s1"&gt;&amp;#39;&amp;#34;(main|version)&amp;#34;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;新版 &lt;code&gt;tkserver&lt;/code&gt;（本文时 1.7.14）的入口是 &lt;code&gt;server.js&lt;/code&gt;，本身就是一个完整的启动脚本，会读取 &lt;code&gt;MONGODB_URI&lt;/code&gt;、&lt;code&gt;TWIKOO_PORT&lt;/code&gt; 等环境变量后自启监听。所以我们不需要再包一层 &lt;code&gt;index.js&lt;/code&gt;，直接用 PM2 拉起它即可。&lt;/p&gt;
&lt;h2 id="五用-pm2-启动-twikoo"&gt;五、用 PM2 启动 Twikoo
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /www/wwwroot/twikoo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;MONGODB_URI&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;mongodb://127.0.0.1:27017/twikoo&amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;TWIKOO_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;8080&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; pm2 start node_modules/tkserver/server.js --name twikoo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pm2 save
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;查看运行状态：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pm2 list
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pm2 logs twikoo --lines &lt;span class="m"&gt;20&lt;/span&gt; --nostream
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;日志中应该能看到：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Twikoo: Twikoo is using mongo database
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Twikoo: Twikoo function started on host :: port 8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;本地验证：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl http://127.0.0.1:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;期望返回：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;code&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;message&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Twikoo 云函数运行正常...&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1.7.14&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果没起来，多半是以下几种情况：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Node 版本过低（低于 16），升级即可&lt;/li&gt;
&lt;li&gt;忘了 &lt;code&gt;cd /www/wwwroot/twikoo&lt;/code&gt; 就装的包，导致 &lt;code&gt;node_modules&lt;/code&gt; 装在别处&lt;/li&gt;
&lt;li&gt;MongoDB 服务没启动，&lt;code&gt;systemctl status mongod&lt;/code&gt; 查看&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="六开放端口"&gt;六、开放端口
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;curl http://127.0.0.1:8080&lt;/code&gt; 通了，不代表公网就通了。要让外部能访问，需要&lt;strong&gt;三层&lt;/strong&gt;放行：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. 阿里云 / 腾讯云安全组&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在云控制台的实例安全组入方向规则中，放行 TCP &lt;code&gt;8080&lt;/code&gt;。这一步最容易被忽略，也是最常见的踩坑点。
&lt;img alt="安全组" class="gallery-image" data-flex-basis="2613px" data-flex-grow="1088" height="80" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/baota-deploy-twikoo/2.jpg" srcset="https://withlia.cn/p/baota-deploy-twikoo/2_hu_a9f0e6ae7dfb4379.jpg 800w, https://withlia.cn/p/baota-deploy-twikoo/2.jpg 871w" width="871"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. 宝塔面板安全&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;宝塔 → 安全 → 添加放行端口 &lt;code&gt;8080&lt;/code&gt;。
&lt;img alt="安全" class="gallery-image" data-flex-basis="764px" data-flex-grow="318" height="384" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/baota-deploy-twikoo/3.jpg" srcset="https://withlia.cn/p/baota-deploy-twikoo/3_hu_ca7d40a408365169.jpg 800w, https://withlia.cn/p/baota-deploy-twikoo/3.jpg 1223w" width="1223"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. 系统防火墙 firewalld&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在服务器上执行：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;firewall-cmd --list-ports
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果没看到 &lt;code&gt;8080/tcp&lt;/code&gt;，执行：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;firewall-cmd --permanent --add-port&lt;span class="o"&gt;=&lt;/span&gt;8080/tcp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;firewall-cmd --reload
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;三层都放行后，浏览器打开 &lt;code&gt;http://你的公网IP:8080&lt;/code&gt;，看到 Twikoo 的 JSON 就成功了。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-JSON" data-lang="JSON"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;code&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;message&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Twikoo 云函数运行正常，请参考 https://twikoo.js.org/frontend.html 完成前端的配置&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1.7.14&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="七可选绑定域名--反向代理"&gt;七、（可选）绑定域名 + 反向代理
&lt;/h2&gt;&lt;p&gt;如果只用 IP + 端口方式使用，可以跳过本节。但如果你的博客是 HTTPS 站点，浏览器会拦截 HTTP 的 Twikoo 请求（混合内容），所以建议绑定域名并配置 HTTPS。&lt;/p&gt;
&lt;h3 id="1-域名解析"&gt;1. 域名解析
&lt;/h3&gt;&lt;p&gt;在你的&lt;a class="link" href="https://dnsnext.console.aliyun.com/authoritative/domains" target="_blank" rel="noopener"
 &gt;域名 DNS 控制台&lt;/a&gt;点击解析设置，添加一条 A 记录：&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;th&gt;记录值&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;A&lt;/td&gt;
 &lt;td&gt;twikoo&lt;/td&gt;
 &lt;td&gt;你的服务器公网 IP&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="2-阿里云接入备案国内服务器必做"&gt;2. 阿里云接入备案（国内服务器必做）
&lt;/h3&gt;&lt;p&gt;如果服务器在国内（如阿里云），即便主域名已经 ICP 备案，新添加的子域名仍需要在服务器厂商侧完成&amp;quot;接入备案&amp;quot;。否则访问会被厂商网关拦截，页面提示 &lt;strong&gt;&amp;ldquo;该域名当前备案状态不符合访问要求&amp;rdquo;&lt;/strong&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;阿里云：控制台 → 备案 → 新增接入&lt;/li&gt;
&lt;li&gt;腾讯云：控制台 → 网站备案 → 补充备案&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;审核大概 1~3 个工作日。若急用，可以先按第六节的 IP + 端口方式使用。&lt;/p&gt;
&lt;h3 id="3-宝塔添加站点"&gt;3. 宝塔添加站点
&lt;/h3&gt;&lt;p&gt;宝塔 → 网站 → 添加站点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;域名：&lt;code&gt;twikoo.example.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;PHP 版本：&lt;strong&gt;纯静态&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-反向代理"&gt;4. 反向代理
&lt;/h3&gt;&lt;p&gt;打开该站点 → 设置 → 反向代理 → 添加：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;目标 URL：&lt;code&gt;http://127.0.0.1:8080&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;发送域名：&lt;code&gt;$host&lt;/code&gt;
&lt;img alt="反向代理" class="gallery-image" data-flex-basis="279px" data-flex-grow="116" height="711" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/baota-deploy-twikoo/4.jpg" srcset="https://withlia.cn/p/baota-deploy-twikoo/4_hu_75200d2f086e2609.jpg 800w, https://withlia.cn/p/baota-deploy-twikoo/4.jpg 827w" width="827"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5-ssl-证书"&gt;5. SSL 证书
&lt;/h3&gt;&lt;p&gt;站点设置 → SSL → Let&amp;rsquo;s Encrypt，勾选域名一键申请，成功后开启&amp;quot;强制 HTTPS&amp;quot;。(建议去阿里云做这个)&lt;/p&gt;
&lt;h3 id="6-验证"&gt;6. 验证
&lt;/h3&gt;&lt;p&gt;浏览器打开 &lt;code&gt;https://twikoo.example.com&lt;/code&gt;，看到 Twikoo 的 JSON 即可。&lt;/p&gt;
&lt;h2 id="八hugo-博客接入"&gt;八、Hugo 博客接入
&lt;/h2&gt;&lt;p&gt;以 &lt;a class="link" href="https://github.com/CaiJimmy/hugo-theme-stack" target="_blank" rel="noopener"
 &gt;hugo-theme-stack&lt;/a&gt; 主题为例（主题内置了 Twikoo 支持）。修改 &lt;code&gt;config/_default/params.toml&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;enabled&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;provider&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;twikoo&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;twikoo&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;envId&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://twikoo.example.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;region&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;path&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;lang&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;zh-CN&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;envId&lt;/code&gt; 填的就是你上面得到的地址：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用域名：&lt;code&gt;https://twikoo.example.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;使用 IP：&lt;code&gt;http://47.x.x.x:8080&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;region&lt;/code&gt; 只有腾讯云 CloudBase 部署时需要填，私有部署留空即可。&lt;/p&gt;
&lt;p&gt;本地预览：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo server
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;打开任一文章页拉到底部，能看到 Twikoo 评论框就成功了。首次访问会提示设置管理员密码，设置好后点击评论框右上角齿轮图标即可进入后台，管理评论、配置邮箱通知、开启防垃圾评论等。&lt;/p&gt;
&lt;h2 id="九常见问题"&gt;九、常见问题
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Q: &lt;code&gt;curl http://127.0.0.1:8080&lt;/code&gt; 能通，但外网 IP:8080 无法访问&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;99% 是端口没放行。按第六节逐层排查（云安全组 → 宝塔安全 → firewalld）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: 浏览器控制台报 &lt;code&gt;Mixed Content&lt;/code&gt; 错误&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;博客是 HTTPS 但 Twikoo 是 HTTP。要么给博客降级为 HTTP（不推荐），要么给 Twikoo 上 HTTPS（第七节）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: PM2 状态一直是 &lt;code&gt;errored&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pm2 logs twikoo --lines 50 --nostream&lt;/code&gt; 看具体报错。常见的是入口文件路径写错，或 Node 版本过低。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: 评论无法发出，一直转圈&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;前端 F12 打开控制台看请求是否 500 / CORS 报错&lt;/li&gt;
&lt;li&gt;检查 Twikoo 后端能否连上 MongoDB（&lt;code&gt;pm2 logs twikoo&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="十参考资料"&gt;十、参考资料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://twikoo.js.org/" target="_blank" rel="noopener"
 &gt;Twikoo 官方文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://twikoo.js.org/quick-start.html#%e7%a7%81%e6%9c%89%e9%83%a8%e7%bd%b2" target="_blank" rel="noopener"
 &gt;tkserver 私有部署&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://stack.jimmycai.com/config/comments" target="_blank" rel="noopener"
 &gt;hugo-theme-stack 评论配置&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;至此，一个完全属于自己的评论系统就搭好了。数据在自己手里，速度也不错，唯一缺点就是要自己扛服务器稳定性 ——不过既然都自建博客了，这点应该也是乐趣的一部分吧。&lt;/p&gt;</description></item><item><title>概率论与数理统计</title><link>https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/</link><pubDate>Wed, 08 Jul 2026 20:44:55 +0800</pubDate><guid>https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/</guid><description>&lt;img src="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/0.png" alt="Featured image of post 概率论与数理统计" /&gt;&lt;p&gt;本笔记基于 &lt;a class="link" href="https://space.bilibili.com/661141753" target="_blank" rel="noopener"
 &gt;框框老师&lt;/a&gt; 的《概率论与数理统计》4 小时速成课整理，每一节配一张手写笔记图，方便快速回顾。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;视频原址：&lt;a class="link" href="https://www.bilibili.com/video/BV168411Z7pf/" target="_blank" rel="noopener"
 &gt;https://www.bilibili.com/video/BV168411Z7pf/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="第一章随机事件及其概率一"&gt;第一章：随机事件及其概率（一）
&lt;/h2&gt;





 


&lt;div class="video-wrapper"&gt;
 &lt;iframe src="https://player.bilibili.com/player.html?as_wide=1&amp;amp;high_quality=1&amp;amp;page=1&amp;bvid=BV168411Z7pf"
 scrolling="no"
 frameborder="no"
 framespacing="0"
 allowfullscreen="true"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img alt="第一章：随机事件及其概率（一）" class="gallery-image" data-flex-basis="167px" data-flex-grow="69" height="1600" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/1.jpg" srcset="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/1_hu_61f8f8fde706183.jpg 800w, https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/1.jpg 1116w" width="1116"&gt;&lt;/p&gt;
&lt;h2 id="第一章随机事件及其概率二"&gt;第一章：随机事件及其概率（二）
&lt;/h2&gt;





 


&lt;div class="video-wrapper"&gt;
 &lt;iframe src="https://player.bilibili.com/player.html?as_wide=1&amp;amp;high_quality=1&amp;amp;page=2&amp;bvid=BV168411Z7pf"
 scrolling="no"
 frameborder="no"
 framespacing="0"
 allowfullscreen="true"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img alt="第一章：随机事件及其概率（二）" class="gallery-image" data-flex-basis="168px" data-flex-grow="70" height="1600" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/2.jpg" srcset="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/2_hu_b64bbe416138221a.jpg 800w, https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/2.jpg 1122w" width="1122"&gt;&lt;/p&gt;
&lt;h2 id="第二章一维随机变量及其分布一"&gt;第二章：一维随机变量及其分布（一）
&lt;/h2&gt;





 


&lt;div class="video-wrapper"&gt;
 &lt;iframe src="https://player.bilibili.com/player.html?as_wide=1&amp;amp;high_quality=1&amp;amp;page=4&amp;bvid=BV168411Z7pf"
 scrolling="no"
 frameborder="no"
 framespacing="0"
 allowfullscreen="true"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img alt="第二章：一维随机变量及其分布（一）" class="gallery-image" data-flex-basis="178px" data-flex-grow="74" height="1600" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/3.jpg" srcset="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/3_hu_80c398415dece576.jpg 800w, https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/3.jpg 1190w" width="1190"&gt;&lt;/p&gt;
&lt;h2 id="第二章一维随机变量及其分布二"&gt;第二章：一维随机变量及其分布（二）
&lt;/h2&gt;





 


&lt;div class="video-wrapper"&gt;
 &lt;iframe src="https://player.bilibili.com/player.html?as_wide=1&amp;amp;high_quality=1&amp;amp;page=5&amp;bvid=BV168411Z7pf"
 scrolling="no"
 frameborder="no"
 framespacing="0"
 allowfullscreen="true"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img alt="第二章：一维随机变量及其分布（二）" class="gallery-image" data-flex-basis="175px" data-flex-grow="73" height="1600" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/4.jpg" srcset="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/4_hu_515e48644a739479.jpg 800w, https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/4.jpg 1172w" width="1172"&gt;&lt;/p&gt;
&lt;h2 id="第三章二维随机变量及其分布"&gt;第三章：二维随机变量及其分布
&lt;/h2&gt;





 


&lt;div class="video-wrapper"&gt;
 &lt;iframe src="https://player.bilibili.com/player.html?as_wide=1&amp;amp;high_quality=1&amp;amp;page=6&amp;bvid=BV168411Z7pf"
 scrolling="no"
 frameborder="no"
 framespacing="0"
 allowfullscreen="true"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img alt="第三章：二维随机变量及其分布" class="gallery-image" data-flex-basis="188px" data-flex-grow="78" height="1600" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/5.jpg" srcset="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/5_hu_a0434c0d080e4c3d.jpg 800w, https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/5.jpg 1254w" width="1254"&gt;&lt;/p&gt;
&lt;h2 id="第四章随机变量的数字特征"&gt;第四章：随机变量的数字特征
&lt;/h2&gt;





 


&lt;div class="video-wrapper"&gt;
 &lt;iframe src="https://player.bilibili.com/player.html?as_wide=1&amp;amp;high_quality=1&amp;amp;page=7&amp;bvid=BV168411Z7pf"
 scrolling="no"
 frameborder="no"
 framespacing="0"
 allowfullscreen="true"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img alt="第四章：随机变量的数字特征" class="gallery-image" data-flex-basis="175px" data-flex-grow="73" height="1600" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/6.jpg" srcset="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/6_hu_cd16d9356783d3fb.jpg 800w, https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/6.jpg 1172w" width="1172"&gt;&lt;/p&gt;
&lt;h2 id="第五六章中心极限定理与数理统计基本概念"&gt;第五、六章：中心极限定理与数理统计基本概念
&lt;/h2&gt;





 


&lt;div class="video-wrapper"&gt;
 &lt;iframe src="https://player.bilibili.com/player.html?as_wide=1&amp;amp;high_quality=1&amp;amp;page=8&amp;bvid=BV168411Z7pf"
 scrolling="no"
 frameborder="no"
 framespacing="0"
 allowfullscreen="true"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img alt="第五、六章：中心极限定理与数理统计基本概念" class="gallery-image" data-flex-basis="179px" data-flex-grow="74" height="1600" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/7.jpg" srcset="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/7_hu_1faaebf786650d5a.jpg 800w, https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/7.jpg 1196w" width="1196"&gt;&lt;/p&gt;
&lt;h2 id="第七章参数估计"&gt;第七章：参数估计
&lt;/h2&gt;





 


&lt;div class="video-wrapper"&gt;
 &lt;iframe src="https://player.bilibili.com/player.html?as_wide=1&amp;amp;high_quality=1&amp;amp;page=9&amp;bvid=BV168411Z7pf"
 scrolling="no"
 frameborder="no"
 framespacing="0"
 allowfullscreen="true"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img alt="第七章：参数估计" class="gallery-image" data-flex-basis="175px" data-flex-grow="73" height="1600" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/8.jpg" srcset="https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/8_hu_525f195b32b22e3e.jpg 800w, https://withlia.cn/p/%E6%A6%82%E7%8E%87%E8%AE%BA%E4%B8%8E%E6%95%B0%E7%90%86%E7%BB%9F%E8%AE%A1/8.jpg 1170w" width="1170"&gt;&lt;/p&gt;</description></item><item><title>Markdown 语法指南</title><link>https://withlia.cn/p/markdown-%E8%AF%AD%E6%B3%95%E6%8C%87%E5%8D%97/</link><pubDate>Thu, 07 Sep 2023 00:00:00 +0000</pubDate><guid>https://withlia.cn/p/markdown-%E8%AF%AD%E6%B3%95%E6%8C%87%E5%8D%97/</guid><description>&lt;img src="https://withlia.cn/p/markdown-%E8%AF%AD%E6%B3%95%E6%8C%87%E5%8D%97/cover.jpg" alt="Featured image of post Markdown 语法指南" /&gt;&lt;p&gt;本文提供了可以在 Hugo 内容文件中使用的基本 Markdown 语法示例，同时也展示了 Hugo 主题中基本 HTML 元素是否被 CSS 样式装饰。&lt;/p&gt;
&lt;h2 id="标题"&gt;标题
&lt;/h2&gt;&lt;p&gt;以下 HTML &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt;—&lt;code&gt;&amp;lt;h6&amp;gt;&lt;/code&gt; 元素代表六个级别的章节标题。&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; 是最高级别，&lt;code&gt;&amp;lt;h6&amp;gt;&lt;/code&gt; 是最低级别。&lt;/p&gt;
&lt;h1 id="一级标题"&gt;一级标题
&lt;/h1&gt;&lt;h2 id="二级标题"&gt;二级标题
&lt;/h2&gt;&lt;h3 id="三级标题"&gt;三级标题
&lt;/h3&gt;&lt;h4 id="四级标题"&gt;四级标题
&lt;/h4&gt;&lt;h5 id="五级标题"&gt;五级标题
&lt;/h5&gt;&lt;h6 id="六级标题"&gt;六级标题
&lt;/h6&gt;&lt;h2 id="段落"&gt;段落
&lt;/h2&gt;&lt;p&gt;Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.&lt;/p&gt;
&lt;p&gt;Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.&lt;/p&gt;
&lt;h2 id="引用块"&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="无来源署名的引用"&gt;无来源署名的引用
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;Tiam, ad mint andaepu dandae nostion secatur sequo quae.
&lt;strong&gt;注意&lt;/strong&gt; 你可以在引用块内使用 &lt;em&gt;Markdown 语法&lt;/em&gt;。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="附有来源的引用"&gt;附有来源的引用
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;不要通过共享内存来通信，而要通过通信来共享内存。&lt;br&gt;
— &lt;cite&gt;Rob Pike&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/cite&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="表格"&gt;表格
&lt;/h2&gt;&lt;p&gt;表格并不是 Markdown 核心规范的一部分，但 Hugo 开箱即用地支持它们。&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;Bob&lt;/td&gt;
 &lt;td&gt;27&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Alice&lt;/td&gt;
 &lt;td&gt;23&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="表格内的行内-markdown"&gt;表格内的行内 Markdown
&lt;/h3&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;italics&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;bold&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;code&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;A&lt;/th&gt;
 &lt;th&gt;B&lt;/th&gt;
 &lt;th&gt;C&lt;/th&gt;
 &lt;th&gt;D&lt;/th&gt;
 &lt;th&gt;E&lt;/th&gt;
 &lt;th&gt;F&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;/td&gt;
 &lt;td&gt;Phasellus ultricies, sapien non euismod aliquam, dui ligula tincidunt odio, at accumsan nulla sapien eget ex.&lt;/td&gt;
 &lt;td&gt;Proin eleifend dictum ipsum, non euismod ipsum pulvinar et. Vivamus sollicitudin, quam in pulvinar aliquam, metus elit pretium purus&lt;/td&gt;
 &lt;td&gt;Proin sit amet velit nec enim imperdiet vehicula.&lt;/td&gt;
 &lt;td&gt;Ut bibendum vestibulum quam, eu egestas turpis gravida nec&lt;/td&gt;
 &lt;td&gt;Sed scelerisque nec turpis vel viverra. Vivamus vitae pretium sapien&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="代码块"&gt;代码块
&lt;/h2&gt;&lt;h3 id="使用反引号的代码块"&gt;使用反引号的代码块
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;&amp;lt;!doctype html&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt; &lt;span class="na"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;en&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;meta&lt;/span&gt; &lt;span class="na"&gt;charset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;utf-8&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Example HTML5 Document&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Test&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="使用四个空格缩进的代码块"&gt;使用四个空格缩进的代码块
&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;!doctype html&amp;gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
 &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;
 &amp;lt;title&amp;gt;Example HTML5 Document&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
 &amp;lt;p&amp;gt;Test&amp;lt;/p&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id="diff-代码块"&gt;Diff 代码块
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-diff" data-lang="diff"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[dependencies.bevy]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git = &amp;#34;https://github.com/bevyengine/bevy&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rev = &amp;#34;11f52b8c72fc3a568e8bb4a4cd1f3eb025ac2e13&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gd"&gt;- features = [&amp;#34;dynamic&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gi"&gt;+ features = [&amp;#34;jpeg&amp;#34;, &amp;#34;dynamic&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="单行代码块"&gt;单行代码块
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;A paragraph&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="列表类型"&gt;列表类型
&lt;/h2&gt;&lt;h3 id="有序列表"&gt;有序列表
&lt;/h3&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="无序列表"&gt;无序列表
&lt;/h3&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="嵌套列表"&gt;嵌套列表
&lt;/h3&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="其他元素--abbrsubsupkbdmark"&gt;其他元素 —— abbr、sub、sup、kbd、mark
&lt;/h2&gt;&lt;p&gt;&lt;abbr title="Graphics Interchange Format"&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;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;以上引用摘自 Rob Pike 在 2015 年 11 月 18 日 Gopherfest 上的 &lt;a class="link" href="https://www.youtube.com/watch?v=PAAkCSZUG1c" target="_blank" rel="noopener"
 &gt;演讲&lt;/a&gt;。&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>图片画廊</title><link>https://withlia.cn/p/%E5%9B%BE%E7%89%87%E7%94%BB%E5%BB%8A/</link><pubDate>Sat, 26 Aug 2023 00:00:00 +0000</pubDate><guid>https://withlia.cn/p/%E5%9B%BE%E7%89%87%E7%94%BB%E5%BB%8A/</guid><description>&lt;img src="https://withlia.cn/p/%E5%9B%BE%E7%89%87%E7%94%BB%E5%BB%8A/2.jpg" alt="Featured image of post 图片画廊" /&gt;&lt;p&gt;Hugo Stack 主题支持使用 Markdown 创建交互式图片画廊。它由 &lt;a class="link" href="https://photoswipe.com/" target="_blank" rel="noopener"
 &gt;PhotoSwipe&lt;/a&gt; 驱动，语法灵感来自 &lt;a class="link" href="https://typlog.com/" target="_blank" rel="noopener"
 &gt;Typlog&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;要使用此功能，图片必须与 Markdown 文件位于同一目录中，因为它使用 Hugo 的页面包（Page Bundle）功能来读取图片尺寸。&lt;strong&gt;不支持外部图片。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="语法"&gt;语法
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;![&lt;span class="nt"&gt;图片 1&lt;/span&gt;](&lt;span class="na"&gt;1.jpg&lt;/span&gt;) ![&lt;span class="nt"&gt;图片 2&lt;/span&gt;](&lt;span class="na"&gt;2.jpg&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="效果"&gt;效果
&lt;/h2&gt;&lt;p&gt;&lt;img alt="图片 1" class="gallery-image" data-flex-basis="342px" data-flex-grow="142" height="1400" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/%E5%9B%BE%E7%89%87%E7%94%BB%E5%BB%8A/1.jpg" srcset="https://withlia.cn/p/%E5%9B%BE%E7%89%87%E7%94%BB%E5%BB%8A/1_hu_4c8600a66f278e44.jpg 800w, https://withlia.cn/p/%E5%9B%BE%E7%89%87%E7%94%BB%E5%BB%8A/1_hu_ba10ab92dc5a4e16.jpg 1600w, https://withlia.cn/p/%E5%9B%BE%E7%89%87%E7%94%BB%E5%BB%8A/1.jpg 2000w" width="2000"&gt; &lt;img alt="图片 2" class="gallery-image" data-flex-basis="160px" data-flex-grow="66" height="2250" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://withlia.cn/p/%E5%9B%BE%E7%89%87%E7%94%BB%E5%BB%8A/2.jpg" srcset="https://withlia.cn/p/%E5%9B%BE%E7%89%87%E7%94%BB%E5%BB%8A/2_hu_e511c73cee932c22.jpg 800w, https://withlia.cn/p/%E5%9B%BE%E7%89%87%E7%94%BB%E5%BB%8A/2.jpg 1500w" width="1500"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;图片由 &lt;a class="link" href="https://unsplash.com/@mymind" target="_blank" rel="noopener"
 &gt;mymind&lt;/a&gt; 和 &lt;a class="link" href="https://unsplash.com/@lukechesser" target="_blank" rel="noopener"
 &gt;Luke Chesser&lt;/a&gt; 拍摄，发布于 &lt;a class="link" href="https://unsplash.com/" target="_blank" rel="noopener"
 &gt;Unsplash&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;</description></item><item><title>短代码 Shortcodes</title><link>https://withlia.cn/p/%E7%9F%AD%E4%BB%A3%E7%A0%81-shortcodes/</link><pubDate>Fri, 25 Aug 2023 00:00:00 +0000</pubDate><guid>https://withlia.cn/p/%E7%9F%AD%E4%BB%A3%E7%A0%81-shortcodes/</guid><description>&lt;img src="https://withlia.cn/p/%E7%9F%AD%E4%BB%A3%E7%A0%81-shortcodes/cover.jpg" alt="Featured image of post 短代码 Shortcodes" /&gt;&lt;p&gt;更多详细信息，请查看 &lt;a class="link" href="https://stack.jimmycai.com/writing/shortcodes" target="_blank" rel="noopener"
 &gt;官方文档&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="哔哩哔哩视频"&gt;哔哩哔哩视频
&lt;/h2&gt;





 


&lt;div class="video-wrapper"&gt;
 &lt;iframe src="https://player.bilibili.com/player.html?as_wide=1&amp;amp;high_quality=1&amp;amp;page=1&amp;bvid=BV1d4411N7zD"
 scrolling="no"
 frameborder="no"
 framespacing="0"
 allowfullscreen="true"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h2 id="腾讯视频"&gt;腾讯视频
&lt;/h2&gt;
&lt;div class="video-wrapper"&gt;
 &lt;iframe src="https://v.qq.com/txp/iframe/player.html?vid=g0014r3khdw&amp;auto=0" 
 scrolling="no" 
 frameborder="no"
 framespacing="0" 
 allowfullscreen="true"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="youtube-视频"&gt;YouTube 视频
&lt;/h2&gt;&lt;div class="video-wrapper"&gt;
 &lt;iframe loading="lazy" 
 src="https://www.youtube.com/embed/0qwALOOvUik" 
 allowfullscreen 
 title="YouTube Video"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h2 id="通用视频文件"&gt;通用视频文件
&lt;/h2&gt;&lt;div class="video-wrapper"&gt;
 &lt;video
 controls
 src="https://www.w3schools.com/tags/movie.mp4"
 
 
 
 &gt;
 &lt;p&gt;
 Your browser doesn't support HTML5 video. Here is a
 &lt;a href="https://www.w3schools.com/tags/movie.mp4"&gt;link to the video&lt;/a&gt; instead.
 &lt;/p&gt;
 &lt;/video&gt;
&lt;/div&gt;

&lt;h2 id="gitlab"&gt;GitLab
&lt;/h2&gt;&lt;script
 type="application/javascript"
 src="https://gitlab.com/-/snippets/2589724.js"
&gt;&lt;/script&gt;
&lt;h2 id="引用"&gt;引用
&lt;/h2&gt;&lt;blockquote&gt;
 &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p&gt;&lt;span class="cite"&gt;&lt;span&gt;― &lt;/span&gt;&lt;span&gt;某位名人, &lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Book"&gt;&lt;cite&gt;他们写的书&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;hr&gt;

 &lt;blockquote&gt;
 &lt;p&gt;封面图片由 &lt;a class="link" href="https://unsplash.com/@codioful" target="_blank" rel="noopener"
 &gt;Codioful&lt;/a&gt; 拍摄，发布于 &lt;a class="link" href="https://unsplash.com/photos/WDSN62Qdxuk" target="_blank" rel="noopener"
 &gt;Unsplash&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;</description></item><item><title>数学公式排版</title><link>https://withlia.cn/p/%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F%E6%8E%92%E7%89%88/</link><pubDate>Thu, 24 Aug 2023 00:00:00 +0000</pubDate><guid>https://withlia.cn/p/%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F%E6%8E%92%E7%89%88/</guid><description>&lt;img src="https://withlia.cn/p/%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F%E6%8E%92%E7%89%88/cover.jpg" alt="Featured image of post 数学公式排版" /&gt;&lt;p&gt;Stack 主题内置支持使用 &lt;a class="link" href="https://katex.org/" target="_blank" rel="noopener"
 &gt;KaTeX&lt;/a&gt; 进行数学公式排版。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;该功能默认未在站点范围内启用&lt;/strong&gt;，但你可以为单篇文章启用它，只需在 front matter 中添加 &lt;code&gt;math: true&lt;/code&gt;。你也可以通过在 &lt;code&gt;config.toml&lt;/code&gt; 的 &lt;code&gt;params.article&lt;/code&gt; 部分添加 &lt;code&gt;math = true&lt;/code&gt; 来在整个站点启用。&lt;/p&gt;
&lt;h2 id="行内公式"&gt;行内公式
&lt;/h2&gt;&lt;p&gt;这是一个行内数学表达式：$\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…$&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="块级公式"&gt;块级公式
&lt;/h2&gt;$$
 \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } 
$$&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$$
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;$$
 f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi
$$&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$$
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item></channel></rss>