<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>ZiMu</title><description>个人博客</description><link>https://www.myzimu.com/</link><language>zh_CN</language><item><title>Obsidian 同步测试（应发布）</title><link>https://www.myzimu.com/posts/obsidian/%E6%B5%8B%E8%AF%95%E5%8F%91%E5%B8%83/</link><guid isPermaLink="true">https://www.myzimu.com/posts/obsidian/%E6%B5%8B%E8%AF%95%E5%8F%91%E5%B8%83/</guid><pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;这是一篇应被同步到博客的测试笔记&lt;/h1&gt;
&lt;p&gt;正文随便写。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;有 &lt;code&gt;published: true&lt;/code&gt; 的都应被 sync 脚本拷到 &lt;code&gt;src/content/posts/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>琐碎日记_北京环球影城</title><link>https://www.myzimu.com/posts/obsidian/%E7%90%90%E7%A2%8E%E6%97%A5%E8%AE%B0-%E5%8C%97%E4%BA%AC%E7%8E%AF%E7%90%83%E5%BD%B1%E5%9F%8E/</link><guid isPermaLink="true">https://www.myzimu.com/posts/obsidian/%E7%90%90%E7%A2%8E%E6%97%A5%E8%AE%B0-%E5%8C%97%E4%BA%AC%E7%8E%AF%E7%90%83%E5%BD%B1%E5%9F%8E/</guid><pubDate>Tue, 31 Dec 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&amp;lt;video src=&quot;https://oss.myzimu.com/%E5%8D%9A%E5%AE%A2%E8%A7%86%E9%A2%91/%E7%90%90%E7%A2%8E%E6%97%A5%E8%AE%B0_%E5%8C%97%E4%BA%AC%E7%8E%AF%E7%90%83%E5%BD%B1%E5%9F%8E/%E5%8C%97%E4%BA%AC%E7%8E%AF%E7%90%83%E5%BD%B1%E5%9F%8E_Video001.mp4&quot; controls style=&quot;max-width:100%&quot;&amp;gt;&amp;lt;/video&amp;gt;&lt;/p&gt;
</content:encoded></item><item><title>KMS服务器</title><link>https://www.myzimu.com/posts/obsidian/kms%E6%9C%8D%E5%8A%A1%E5%99%A8/</link><guid isPermaLink="true">https://www.myzimu.com/posts/obsidian/kms%E6%9C%8D%E5%8A%A1%E5%99%A8/</guid><pubDate>Mon, 12 Aug 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;KMS服务器&lt;/h1&gt;
&lt;h2&gt;注意事项&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;KMS激活方式的有效期是180天；&lt;/li&gt;
&lt;li&gt;系统会每隔一个礼拜自动连接KMS服务器进行续期，只要KMS服务器保持在线，无需手动操作&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;安装前准备&lt;/h2&gt;
&lt;p&gt;安装&lt;code&gt;Git&lt;/code&gt;，&lt;code&gt;Docker&lt;/code&gt;，&lt;code&gt;Docker-Compose&lt;/code&gt;，&lt;code&gt;Vim&lt;/code&gt;（可选）&lt;/p&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;确认是否安装 Git ，Docker ，Docker-Compose&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# Git
git --version

# Docker
docker --version

# Docker-Compose
docker-compose --version
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;Docker&lt;/code&gt; 安装&lt;/p&gt;
&lt;p&gt;请参照 &lt;a href=&quot;https://www.myzimu.com/post/943fa6d.html&quot;&gt;Ubuntu 22.04 中安装 Docker | ZiMu (myzimu.com)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Docker-Compose&lt;/code&gt; 安装&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 更新软件包
sudo apt-get update
sudo apt-get upgrade

# 安装 Docker-Compose
apt install docker-compose
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;h2&gt;Docker 运行 vlmcsd&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;# 切换到 local 文件夹（可选,不会影响后续操作）
cd /var/local

# 1.克隆 vlmcsd
git clone https://github.com/Wind4/vlmcsd-docker.git vlmcsd
#   如果克隆失败的话使用下面的命令（本人没有使用过该方式）
git clone https://gitclone.com/github.com/Wind4/vlmcsd-docker.git vlmcsd

# 2.切换到 vlmcsd 目录
cd vlmcsd

# 3.运行 vlmcsd
docker-compose up -d
#   如不安装 Docker-compose ，则输入下面的命令（本人没有使用过该方式）
docker build -t vlmcsd .
docker run -idt -p 1688:1688 vlmcsd
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;开放你服务器的安全组&lt;/h2&gt;
&lt;p&gt;例：阿里云的安全组&lt;/p&gt;
&lt;p&gt;​	协议类型：TCP&lt;/p&gt;
&lt;p&gt;​	端口范围：1688&lt;/p&gt;
&lt;p&gt;​	授权对象：所有IPv4(0.0.0.0/0)&lt;/p&gt;
&lt;p&gt;注：授权对象可以指定IP&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;测试端口是否开放&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# telnet + 空格 + 你的IP + 空格 + 1688
telnet 127.0.0.1 1688 
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Windows&lt;/h2&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;使用 KMS 激活 Windows&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;h1&gt;在你需要激活系统的 Windows 电脑中 右键点击 &lt;code&gt;开始按钮&lt;/code&gt;，选择 &lt;code&gt;Windows PowerShell（管理员）&lt;/code&gt;或&lt;code&gt; 终端（管理员）&lt;/code&gt;，执行命令：&lt;/h1&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;# 卸载已安装密钥
slmgr.vbs /upk

# 安装需要激活的版本密钥
# 这里以专业版为例，Windows 10 和 11 通用
# 更多版本的系统密钥见下文
slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX

# 设置 KMS 激活服务器
# 请将 127.0.0.1 替换为你的KMS服务器IP
slmgr /skms 127.0.0.1

# 激活
slmgr /ato
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;h1&gt;可能遇到的问题&lt;/h1&gt;
&lt;p&gt;问题：0xC004F069在运行Microsoft Windows非核心版本的计算机上……&lt;/p&gt;
&lt;p&gt;解决方案：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;断开网络。&lt;/li&gt;
&lt;li&gt;转到设置&amp;gt;系统&amp;gt;关于&amp;gt;更改产品密钥或升级。&lt;/li&gt;
&lt;li&gt;输入Windows 10 Pro通用的专业密钥。（这是不会激活的合法密钥，家庭升级专业版用）
VK7JG-NPHTM-C97JM-9MPGT-3V66T&lt;/li&gt;
&lt;li&gt;按开始，让它升级到10专业版。&lt;/li&gt;
&lt;li&gt;完成该过程后，再次转到更改产品密钥，然后输入您的专业版许可证密钥。&lt;/li&gt;
&lt;li&gt;联通网络，Windows应该会立即激活。&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;blockquote&gt;
&lt;p&gt;Windows 各版本密钥&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;以下是各个版本的安装秘钥，多数秘钥可以在 Windows 10 和 Windows 11 上通用。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pro&lt;/strong&gt;: W269N-WFGWX-YVC9B-4J6C9-T83GX&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pro N&lt;/strong&gt;: MH37W-N47XK-V7XM9-C7227-GCQG9&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pro Workstations&lt;/strong&gt;: NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pro Workstations N&lt;/strong&gt;: 9FNHH-K3HBT-3W4TD-6383H-6XYWF&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pro Education&lt;/strong&gt;: 6TP4R-GNPTD-KYYHQ-7B7DP-J447Y&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Home&lt;/strong&gt;: TX9XD-98N7V-6WMQ6-BX7FG-H8Q99&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Home N:&lt;/strong&gt; 3KHY7-WNT83-DGQKR-F7HPR-844BM&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Home Single Language:&lt;/strong&gt; 7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Home Country Specific:&lt;/strong&gt; PVMJN-6DFY6-9CCP6-7BKTT-D3WVR&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Education:&lt;/strong&gt; NW6C2-QMPVW-D7KKK-3GKT6-VCFB2&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Education N:&lt;/strong&gt; 2WH4N-8QGBV-H22JP-CT43Q-MDWWJ&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enterprise:&lt;/strong&gt; NPPR9-FWDCX-D2C8J-H872K-2YT43&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enterprise N:&lt;/strong&gt; DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enterprise G:&lt;/strong&gt; YYVX9-NTFWV-6MDM3-9PT4T-4M68B&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enterprise G N:&lt;/strong&gt; 44RPN-FTY23-9VTTB-MP9BX-T84FV&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enterprise LTSC 2019:&lt;/strong&gt; M7XTQ-FN8P6-TTKYV-9D4CC-J462D&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enterprise N LTSC 2019:&lt;/strong&gt; 92NFX-8DJQP-P6BBQ-THF9C-7CG2H&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enterprise LTSB 2016:&lt;/strong&gt; DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enterprise N LTSB 2016:&lt;/strong&gt; QFFDN-GRT3P-VKWWX-X7T3R-8B639&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows 11 Core:&lt;/strong&gt; 33QT6-RCNYF-DXB4F-DGP7B-7MHX9&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows 11 S (Lean):&lt;/strong&gt; NBTWJ-3DR69-3C4V8-C26MC-GQ9M6
&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Office&lt;/h2&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;使用 KMS 激活 Office 的 Vol 版本&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;h1&gt;确认安装的版本：&lt;/h1&gt;
&lt;p&gt;首先要确认你 &lt;code&gt;Office&lt;/code&gt; 安装的版本是 &lt;code&gt;批量授权 Vol &lt;/code&gt;版本 还是 &lt;code&gt;零售版 Retail &lt;/code&gt;版本&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;找到 &lt;code&gt;Office&lt;/code&gt; 的安装目录&lt;/p&gt;
&lt;p&gt;先打开你的 &lt;code&gt;Office&lt;/code&gt;的软件，这里以&lt;code&gt;Excel&lt;/code&gt;为例&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;打开&lt;code&gt;Excel&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;左上角文件 → 选项 → 加载项&lt;/li&gt;
&lt;li&gt;最下方的“位置”就是安装路径&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查看&lt;code&gt;Office&lt;/code&gt;安装的版本&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;将&lt;code&gt;Office&lt;/code&gt;的安装目录复制下来，在资源管理器中打开该目录&lt;/li&gt;
&lt;li&gt;在目录地址前输入&lt;code&gt;cmd&lt;/code&gt;和空格，然后回车&lt;/li&gt;
&lt;li&gt;输入&lt;code&gt;cscript ospp.vbs /dstatus&lt;/code&gt;回车&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;SKU_ID&lt;/code&gt;下面一行中，如果包含VL则是VL版本&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果你的&lt;code&gt;Office&lt;/code&gt;是VL版本，并且你没有手动安装过Key则执行以下命令&lt;/p&gt;
&lt;blockquote&gt;
&lt;h1&gt;在你需要激活系统的 Windows 电脑中 右键点击 &lt;code&gt;开始按钮&lt;/code&gt;，选择 &lt;code&gt;Windows PowerShelll（管理员）&lt;/code&gt;或&lt;code&gt; 终端（管理员）&lt;/code&gt;，执行命令：&lt;/h1&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;# 设置 KMS 激活服务器
# 请将 127.0.0.1 替换为你的KMS服务器IP
slmgr /skms 127.0.0.1

# 手动激活
slmgr /ato
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;blockquote&gt;
&lt;h1&gt;激活步骤：&lt;/h1&gt;
&lt;p&gt;在你需要激活系统的 Windows 电脑中 右键点击 &lt;code&gt;开始按钮&lt;/code&gt;，选择 &lt;code&gt;Windows PowerShell（管理员）&lt;/code&gt;或&lt;code&gt; 终端（管理员）&lt;/code&gt;，执行命令：&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;# 步骤 1
cd /d %ProgramFiles(x86)%\Microsoft Office\Office16
# 如果显示&quot;系统找不到指定的路径&quot;, 说明你安装的是 64 位 office ，那么就执行 `步骤3`

# 步骤 2
cd /d %ProgramFiles%\Microsoft Office\Office16

# 步骤 3 （获取并安装 office2021 批量许可证）
for /f %x in (&apos;dir /b ..\root\Licenses16\ProPlus2021VL_KMS*.xrm-ms&apos;) do cscript ospp.vbs /inslic:&quot;..\root\Licenses16\%x&quot;
# 出现 [Office license installed successfully.] 代表安装成功

# 步骤 4
# 使用用户提供的端口号设置 KMS 端口。 默认端口号为 1688。
cscript ospp.vbs /setprt:1688
# 卸载具有产品密钥最后五位数字的已安装产品密钥
cscript ospp.vbs /unpkey:6F7TH &amp;gt;nul
# 使用用户提供的产品密钥安装产品密钥（取代现有密钥）。
cscript ospp.vbs /inpkey:FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH
# 使用用户提供的主机名设置 KMS 主机名。（将[你的 IP ]替换为你的KMS的IP）
cscript ospp.vbs /sethst:[你的 IP ]
# 进行激活
cscript ospp.vbs /act
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;blockquote&gt;
&lt;h1&gt;可能遇到的问题&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;你的系统或者&lt;code&gt;Office&lt;/code&gt;是否是批量VL版本&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;是否以管理员权限运行终端&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;你的系统或者&lt;code&gt;office&lt;/code&gt;是否修改过key&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;检查你的网络连接&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;本地的解析不对,或网络问题（点击检查服务器是否能连上）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;根据出错代码自己搜索出错原因&lt;/p&gt;
&lt;p&gt;0x80070005 错误一般是你没用管理员权限运行终端
&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
</content:encoded></item><item><title>Markdown Extended Features</title><link>https://www.myzimu.com/posts/markdown-extended/</link><guid isPermaLink="true">https://www.myzimu.com/posts/markdown-extended/</guid><description>Read more about Markdown features in Fuwari</description><pubDate>Wed, 01 May 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;GitHub Repository Cards&lt;/h2&gt;
&lt;p&gt;You can add dynamic cards that link to GitHub repositories, on page load, the repository information is pulled from the GitHub API.&lt;/p&gt;
&lt;p&gt;::github{repo=&quot;Fabrizz/MMM-OnSpotify&quot;}&lt;/p&gt;
&lt;p&gt;Create a GitHub repository card with the code &lt;code&gt;::github{repo=&quot;&amp;lt;owner&amp;gt;/&amp;lt;repo&amp;gt;&quot;}&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;::github{repo=&quot;saicaca/fuwari&quot;}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Admonitions&lt;/h2&gt;
&lt;p&gt;Following types of admonitions are supported: &lt;code&gt;note&lt;/code&gt; &lt;code&gt;tip&lt;/code&gt; &lt;code&gt;important&lt;/code&gt; &lt;code&gt;warning&lt;/code&gt; &lt;code&gt;caution&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;:::note
Highlights information that users should take into account, even when skimming.
:::&lt;/p&gt;
&lt;p&gt;:::tip
Optional information to help a user be more successful.
:::&lt;/p&gt;
&lt;p&gt;:::important
Crucial information necessary for users to succeed.
:::&lt;/p&gt;
&lt;p&gt;:::warning
Critical content demanding immediate user attention due to potential risks.
:::&lt;/p&gt;
&lt;p&gt;:::caution
Negative potential consequences of an action.
:::&lt;/p&gt;
&lt;h3&gt;Basic Syntax&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;:::note
Highlights information that users should take into account, even when skimming.
:::

:::tip
Optional information to help a user be more successful.
:::
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Custom Titles&lt;/h3&gt;
&lt;p&gt;The title of the admonition can be customized.&lt;/p&gt;
&lt;p&gt;:::note[MY CUSTOM TITLE]
This is a note with a custom title.
:::&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;:::note[MY CUSTOM TITLE]
This is a note with a custom title.
:::
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;GitHub Syntax&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]
&lt;a href=&quot;https://github.com/orgs/community/discussions/16925&quot;&gt;The GitHub syntax&lt;/a&gt; is also supported.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; [!NOTE]
&amp;gt; The GitHub syntax is also supported.

&amp;gt; [!TIP]
&amp;gt; The GitHub syntax is also supported.
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Spoiler&lt;/h3&gt;
&lt;p&gt;You can add spoilers to your text. The text also supports &lt;strong&gt;Markdown&lt;/strong&gt; syntax.&lt;/p&gt;
&lt;p&gt;The content :spoiler[is hidden &lt;strong&gt;ayyy&lt;/strong&gt;]!&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;The content :spoiler[is hidden **ayyy**]!

&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Expressive Code Example</title><link>https://www.myzimu.com/posts/expressive-code/</link><guid isPermaLink="true">https://www.myzimu.com/posts/expressive-code/</guid><description>How code blocks look in Markdown using Expressive Code.</description><pubDate>Wed, 10 Apr 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Here, we&apos;ll explore how code blocks look using &lt;a href=&quot;https://expressive-code.com/&quot;&gt;Expressive Code&lt;/a&gt;. The provided examples are based on the official documentation, which you can refer to for further details.&lt;/p&gt;
&lt;h2&gt;Expressive Code&lt;/h2&gt;
&lt;h3&gt;Syntax Highlighting&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://expressive-code.com/key-features/syntax-highlighting/&quot;&gt;Syntax Highlighting&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Regular syntax highlighting&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;console.log(&apos;This code is syntax highlighted!&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Rendering ANSI escape sequences&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;ANSI colors:
- Regular: [31mRed[0m [32mGreen[0m [33mYellow[0m [34mBlue[0m [35mMagenta[0m [36mCyan[0m
- Bold:    [1;31mRed[0m [1;32mGreen[0m [1;33mYellow[0m [1;34mBlue[0m [1;35mMagenta[0m [1;36mCyan[0m
- Dimmed:  [2;31mRed[0m [2;32mGreen[0m [2;33mYellow[0m [2;34mBlue[0m [2;35mMagenta[0m [2;36mCyan[0m

256 colors (showing colors 160-177):
[38;5;160m160 [38;5;161m161 [38;5;162m162 [38;5;163m163 [38;5;164m164 [38;5;165m165[0m
[38;5;166m166 [38;5;167m167 [38;5;168m168 [38;5;169m169 [38;5;170m170 [38;5;171m171[0m
[38;5;172m172 [38;5;173m173 [38;5;174m174 [38;5;175m175 [38;5;176m176 [38;5;177m177[0m

Full RGB colors:
[38;2;34;139;34mForestGreen - RGB(34, 139, 34)[0m

Text formatting: [1mBold[0m [2mDimmed[0m [3mItalic[0m [4mUnderline[0m
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Editor &amp;amp; Terminal Frames&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://expressive-code.com/key-features/frames/&quot;&gt;Editor &amp;amp; Terminal Frames&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Code editor frames&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;console.log(&apos;Title attribute example&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;!-- src/content/index.html --&amp;gt;
&amp;lt;div&amp;gt;File name comment example&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Terminal frames&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;echo &quot;This terminal frame has no title&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;Write-Output &quot;This one has a title!&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Overriding frame types&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;echo &quot;Look ma, no frame!&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;# Without overriding, this would be a terminal frame
function Watch-Tail { Get-Content -Tail 20 -Wait $args }
New-Alias tail Watch-Tail
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Text &amp;amp; Line Markers&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://expressive-code.com/key-features/text-markers/&quot;&gt;Text &amp;amp; Line Markers&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Marking full lines &amp;amp; line ranges&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;// Line 1 - targeted by line number
// Line 2
// Line 3
// Line 4 - targeted by line number
// Line 5
// Line 6
// Line 7 - targeted by range &quot;7-8&quot;
// Line 8 - targeted by range &quot;7-8&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Selecting line marker types (mark, ins, del)&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;function demo() {
  console.log(&apos;this line is marked as deleted&apos;)
  // This line and the next one are marked as inserted
  console.log(&apos;this is the second inserted line&apos;)

  return &apos;this line uses the neutral default marker type&apos;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Adding labels to line markers&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;// labeled-line-markers.jsx
&amp;lt;button
  role=&quot;button&quot;
  {...props}
  value={value}
  className={buttonClassName}
  disabled={disabled}
  active={active}
&amp;gt;
  {children &amp;amp;&amp;amp;
    !active &amp;amp;&amp;amp;
    (typeof children === &apos;string&apos; ? &amp;lt;span&amp;gt;{children}&amp;lt;/span&amp;gt; : children)}
&amp;lt;/button&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Adding long labels on their own lines&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;// labeled-line-markers.jsx
&amp;lt;button
  role=&quot;button&quot;
  {...props}

  value={value}
  className={buttonClassName}

  disabled={disabled}
  active={active}
&amp;gt;

  {children &amp;amp;&amp;amp;
    !active &amp;amp;&amp;amp;
    (typeof children === &apos;string&apos; ? &amp;lt;span&amp;gt;{children}&amp;lt;/span&amp;gt; : children)}
&amp;lt;/button&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Using diff-like syntax&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;+this line will be marked as inserted
-this line will be marked as deleted
this is a regular line
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;--- a/README.md
+++ b/README.md
@@ -1,3 +1,4 @@
+this is an actual diff file
-all contents will remain unmodified
 no whitespace will be removed either
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Combining syntax highlighting with diff-like syntax&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;  function thisIsJavaScript() {
    // This entire block gets highlighted as JavaScript,
    // and we can still add diff markers to it!
-   console.log(&apos;Old code to be removed&apos;)
+   console.log(&apos;New and shiny code!&apos;)
  }
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Marking individual text inside lines&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;function demo() {
  // Mark any given text inside lines
  return &apos;Multiple matches of the given text are supported&apos;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Regular expressions&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;console.log(&apos;The words yes and yep will be marked.&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Escaping forward slashes&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;echo &quot;Test&quot; &amp;gt; /home/test.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Selecting inline marker types (mark, ins, del)&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;function demo() {
  console.log(&apos;These are inserted and deleted marker types&apos;);
  // The return statement uses the default marker type
  return true;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Word Wrap&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://expressive-code.com/key-features/word-wrap/&quot;&gt;Word Wrap&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Configuring word wrap per block&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;// Example with wrap
function getLongString() {
  return &apos;This is a very long string that will most probably not fit into the available space unless the container is extremely wide&apos;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;// Example with wrap=false
function getLongString() {
  return &apos;This is a very long string that will most probably not fit into the available space unless the container is extremely wide&apos;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Configuring indentation of wrapped lines&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;// Example with preserveIndent (enabled by default)
function getLongString() {
  return &apos;This is a very long string that will most probably not fit into the available space unless the container is extremely wide&apos;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;// Example with preserveIndent=false
function getLongString() {
  return &apos;This is a very long string that will most probably not fit into the available space unless the container is extremely wide&apos;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Collapsible Sections&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://expressive-code.com/plugins/collapsible-sections/&quot;&gt;Collapsible Sections&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// All this boilerplate setup code will be collapsed
import { someBoilerplateEngine } from &apos;@example/some-boilerplate&apos;
import { evenMoreBoilerplate } from &apos;@example/even-more-boilerplate&apos;

const engine = someBoilerplateEngine(evenMoreBoilerplate())

// This part of the code will be visible by default
engine.doSomething(1, 2, 3, calcFn)

function calcFn() {
  // You can have multiple collapsed sections
  const a = 1
  const b = 2
  const c = a + b

  // This will remain visible
  console.log(`Calculation result: ${a} + ${b} = ${c}`)
  return c
}

// All this code until the end of the block will be collapsed again
engine.closeConnection()
engine.freeMemory()
engine.shutdown({ reason: &apos;End of example boilerplate code&apos; })
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Line Numbers&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://expressive-code.com/plugins/line-numbers/&quot;&gt;Line Numbers&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Displaying line numbers per block&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;// This code block will show line numbers
console.log(&apos;Greetings from line 2!&apos;)
console.log(&apos;I am on line 3&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;// Line numbers are disabled for this block
console.log(&apos;Hello?&apos;)
console.log(&apos;Sorry, do you know what line I am on?&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Changing the starting line number&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;console.log(&apos;Greetings from line 5!&apos;)
console.log(&apos;I am on line 6&apos;)
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Simple Guides for Fuwari</title><link>https://www.myzimu.com/posts/guide/</link><guid isPermaLink="true">https://www.myzimu.com/posts/guide/</guid><description>How to use this blog template.</description><pubDate>Mon, 01 Apr 2024 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;Cover image source: &lt;a href=&quot;https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/208fc754-890d-4adb-9753-2c963332675d/width=2048/01651-1456859105-(colour_1.5),girl,_Blue,yellow,green,cyan,purple,red,pink,_best,8k,UHD,masterpiece,male%20focus,%201boy,gloves,%20ponytail,%20long%20hair,.jpeg&quot;&gt;Source&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This blog template is built with &lt;a href=&quot;https://astro.build/&quot;&gt;Astro&lt;/a&gt;. For the things that are not mentioned in this guide, you may find the answers in the &lt;a href=&quot;https://docs.astro.build/&quot;&gt;Astro Docs&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Front-matter of Posts&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;---
title: My First Blog Post
published: 2023-09-09
description: This is the first post of my new Astro blog.
image: ./cover.jpg
tags: [Foo, Bar]
category: Front-end
draft: false
---
&lt;/code&gt;&lt;/pre&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Attribute&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The title of the post.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;published&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The date the post was published.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;A short description of the post. Displayed on index page.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;image&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The cover image path of the post.&amp;lt;br/&amp;gt;1. Start with &lt;code&gt;http://&lt;/code&gt; or &lt;code&gt;https://&lt;/code&gt;: Use web image&amp;lt;br/&amp;gt;2. Start with &lt;code&gt;/&lt;/code&gt;: For image in &lt;code&gt;public&lt;/code&gt; dir&amp;lt;br/&amp;gt;3. With none of the prefixes: Relative to the markdown file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tags&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The tags of the post.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;category&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The category of the post.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;draft&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;If this post is still a draft, which won&apos;t be displayed.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Where to Place the Post Files&lt;/h2&gt;
&lt;p&gt;Your post files should be placed in &lt;code&gt;src/content/posts/&lt;/code&gt; directory. You can also create sub-directories to better organize your posts and assets.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;src/content/posts/
├── post-1.md
└── post-2/
    ├── cover.png
    └── index.md
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Markdown Example</title><link>https://www.myzimu.com/posts/markdown/</link><guid isPermaLink="true">https://www.myzimu.com/posts/markdown/</guid><description>A simple example of a Markdown blog post.</description><pubDate>Sun, 01 Oct 2023 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;An h1 header&lt;/h1&gt;
&lt;p&gt;Paragraphs are separated by a blank line.&lt;/p&gt;
&lt;p&gt;2nd paragraph. &lt;em&gt;Italic&lt;/em&gt;, &lt;strong&gt;bold&lt;/strong&gt;, and &lt;code&gt;monospace&lt;/code&gt;. Itemized lists
look like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;this one&lt;/li&gt;
&lt;li&gt;that one&lt;/li&gt;
&lt;li&gt;the other one&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note that --- not considering the asterisk --- the actual text
content starts at 4-columns in.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Block quotes are
written like so.&lt;/p&gt;
&lt;p&gt;They can span multiple paragraphs,
if you like.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., &quot;it&apos;s all
in chapters 12--14&quot;). Three dots ... will be converted to an ellipsis.
Unicode is supported. ☺&lt;/p&gt;
&lt;h2&gt;An h2 header&lt;/h2&gt;
&lt;p&gt;Here&apos;s a numbered list:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;first item&lt;/li&gt;
&lt;li&gt;second item&lt;/li&gt;
&lt;li&gt;third item&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Note again how the actual text starts at 4 columns in (4 characters
from the left side). Here&apos;s a code sample:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# Let me re-iterate ...
for i in 1 .. 10 { do-something(i) }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;As you probably guessed, indented 4 spaces. By the way, instead of
indenting the block, you can use delimited blocks, if you like:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;define foobar() {
    print &quot;Welcome to flavor country!&quot;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;(which makes copying &amp;amp; pasting easier). You can optionally mark the
delimited block for Pandoc to syntax highlight it:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;import time
# Quick, count to ten!
for i in range(10):
    # (but not *too* quick)
    time.sleep(0.5)
    print i
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;An h3 header&lt;/h3&gt;
&lt;p&gt;Now a nested list:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;First, get these ingredients:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;carrots&lt;/li&gt;
&lt;li&gt;celery&lt;/li&gt;
&lt;li&gt;lentils&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Boil some water.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dump everything in the pot and follow
this algorithm:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; find wooden spoon
 uncover pot
 stir
 cover pot
 balance wooden spoon precariously on pot handle
 wait 10 minutes
 goto first step (or shut off burner when done)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Do not bump wooden spoon or it will fall.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Notice again how text always lines up on 4-space indents (including
that last line which continues item 3 above).&lt;/p&gt;
&lt;p&gt;Here&apos;s a link to &lt;a href=&quot;http://foo.bar&quot;&gt;a website&lt;/a&gt;, to a &lt;a href=&quot;local-doc.html&quot;&gt;local
doc&lt;/a&gt;, and to a &lt;a href=&quot;#an-h2-header&quot;&gt;section heading in the current
doc&lt;/a&gt;. Here&apos;s a footnote [^1].&lt;/p&gt;
&lt;p&gt;[^1]: Footnote text goes here.&lt;/p&gt;
&lt;p&gt;Tables can look like this:&lt;/p&gt;
&lt;p&gt;size material color&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;9 leather brown
10 hemp canvas natural
11 glass transparent&lt;/p&gt;
&lt;p&gt;Table: Shoes, their sizes, and what they&apos;re made of&lt;/p&gt;
&lt;p&gt;(The above is the caption for the table.) Pandoc also supports
multi-line tables:&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;keyword text&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;red Sunsets, apples, and
other red or reddish
things.&lt;/p&gt;
&lt;p&gt;green Leaves, grass, frogs
and other things it&apos;s
not easy being.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;A horizontal rule follows.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Here&apos;s a definition list:&lt;/p&gt;
&lt;p&gt;apples
: Good for making applesauce.
oranges
: Citrus!
tomatoes
: There&apos;s no &quot;e&quot; in tomatoe.&lt;/p&gt;
&lt;p&gt;Again, text is indented 4 spaces. (Put a blank line between each
term/definition pair to spread things out more.)&lt;/p&gt;
&lt;p&gt;Here&apos;s a &quot;line block&quot;:&lt;/p&gt;
&lt;p&gt;| Line one
| Line too
| Line tree&lt;/p&gt;
&lt;p&gt;and images can be specified like so:&lt;/p&gt;
&lt;p&gt;Inline math equations go in like so: $\omega = d\phi / dt$. Display
math should get its own line and be put in in double-dollarsigns:&lt;/p&gt;
&lt;p&gt;$$I = \int \rho R^{2} dV$$&lt;/p&gt;
&lt;p&gt;$$
\begin{equation*}
\pi
=3.1415926535
;8979323846;2643383279;5028841971;6939937510;5820974944
;5923078164;0628620899;8628034825;3421170679;\ldots
\end{equation*}
$$&lt;/p&gt;
&lt;p&gt;And note that you can backslash-escape any punctuation characters
which you wish to be displayed literally, ex.: `foo`, *bar*, etc.&lt;/p&gt;
</content:encoded></item><item><title>Include Video in the Posts</title><link>https://www.myzimu.com/posts/video/</link><guid isPermaLink="true">https://www.myzimu.com/posts/video/</guid><description>This post demonstrates how to include embedded video in a blog post.</description><pubDate>Tue, 01 Aug 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Just copy the embed code from YouTube or other platforms, and paste it in the markdown file.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
title: Include Video in the Post
published: 2023-10-19
// ...
---

&amp;lt;iframe width=&quot;100%&quot; height=&quot;468&quot; src=&quot;https://www.youtube.com/embed/5gIf0_xpFPI?si=N1WTorLKL0uwLsU_&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;YouTube&lt;/h2&gt;
&lt;p&gt;&amp;lt;iframe width=&quot;100%&quot; height=&quot;468&quot; src=&quot;https://www.youtube.com/embed/5gIf0_xpFPI?si=N1WTorLKL0uwLsU_&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/p&gt;
&lt;h2&gt;Bilibili&lt;/h2&gt;
&lt;p&gt;&amp;lt;iframe width=&quot;100%&quot; height=&quot;468&quot; src=&quot;//player.bilibili.com/player.html?bvid=BV1fK4y1s7Qf&amp;amp;p=1&quot; scrolling=&quot;no&quot; border=&quot;0&quot; frameborder=&quot;no&quot; framespacing=&quot;0&quot; allowfullscreen=&quot;true&quot;&amp;gt; &amp;lt;/iframe&amp;gt;&lt;/p&gt;
</content:encoded></item></channel></rss>