<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>lyyovo&apos;s blog</title><description>(∠・ω&lt; )⌒☆</description><link>https://liaoyueyue.cn/</link><language>zh_CN</language><item><title>MarkDown基本语法</title><link>https://liaoyueyue.cn/posts/%E6%95%99%E7%A8%8B/markdown%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95/</link><guid isPermaLink="true">https://liaoyueyue.cn/posts/%E6%95%99%E7%A8%8B/markdown%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95/</guid><description>本文演示MarkDown基本语法</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;简要介绍&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Markdown&lt;/strong&gt; 是一种轻量型标记语言，是一种语法。以 &lt;code&gt;.md&lt;/code&gt; 结尾的文本文件就是 **Markdown **文件。相较于 &lt;strong&gt;Word&lt;/strong&gt; ，它更加像是 &lt;strong&gt;HTML&lt;/strong&gt; 语言或是 $\LaTeX$，并不是最淳朴的那种“所见即所得”。它处处透露着一种极简主义。高效简洁清晰的同时，又很简单。看起来舒服，语法简单，尤其在处理纯文本上有很大的优势。&lt;/p&gt;
&lt;h2&gt;标题&lt;/h2&gt;
&lt;p&gt;要创建标题，在标题文本前添加至多六个 &lt;code&gt;#&lt;/code&gt; 符号。&lt;code&gt;#&lt;/code&gt; 符号的数量决定了标题的级别。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;强调文本&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;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;code&gt;** **&lt;/code&gt; 或 &lt;code&gt;__ __&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;**粗体文本**&lt;/code&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;/td&gt;
&lt;td&gt;&lt;code&gt;* *&lt;/code&gt; 或 &lt;code&gt;_ _&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;*斜体文本*&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;斜体文本&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;删除线&lt;/td&gt;
&lt;td&gt;&lt;code&gt;~~ ~~&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;~~删除线文本~~&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;s&gt;删除线文本&lt;/s&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;高亮（扩展语法）&lt;/td&gt;
&lt;td&gt;&lt;code&gt;== ==&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;==高亮文本==&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;==高亮文本==&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;代码&lt;/h2&gt;
&lt;h3&gt;行内代码&lt;/h3&gt;
&lt;p&gt;你可以使用一对反引号在句子插入代码。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;`反引号`中的文本将被格式化为代码。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;反引号&lt;/code&gt;中的文本将被格式化为代码。&lt;/p&gt;
&lt;h3&gt;代码块&lt;/h3&gt;
&lt;p&gt;要创建一个代码块，请用三个反引号括住代码。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```
cd ~/Desktop
```
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;cd ~/Desktop
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;引用&lt;/h2&gt;
&lt;p&gt;你可以在文本前加上 &lt;code&gt;&amp;gt;&lt;/code&gt; 符号来引用文本。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; 人类面临着越来越复杂和紧迫的问题，他们有效应对这些问题的能力对于社会的稳定和持续发展至关重要。

\- 道格·恩格尔巴特，1961
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;人类面临着越来越复杂和紧迫的问题，他们有效应对这些问题的能力对于社会的稳定和持续发展至关重要。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;- 道格·恩格尔巴特，1961&lt;/p&gt;
&lt;h2&gt;列表&lt;/h2&gt;
&lt;p&gt;要创建有序列表，每行以数字加上 &lt;code&gt;.&lt;/code&gt; 开头。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1. 第一条
2. 第二条
3. 第三条
&lt;/code&gt;&lt;/pre&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;p&gt;你可以在文本前加上 &lt;code&gt;-&lt;/code&gt;、&lt;code&gt;*&lt;/code&gt; 或 &lt;code&gt;+&lt;/code&gt; 来创建无序列表。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;- 第一条
- 第二条
- 第三条
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&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;/li&gt;
&lt;/ul&gt;
&lt;p&gt;要创建任务列表，每个列表项以连字符和空格开头，后跟 &lt;code&gt;[ ]&lt;/code&gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;- [x] 这是已完成的任务。
- [ ] 这是未完成的任务。
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;[x] 这是已完成的任务。&lt;/li&gt;
&lt;li&gt;[ ] 这是未完成的任务。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;链接&lt;/h2&gt;
&lt;p&gt;如果要链接到外部URL，可以通过在方括号（&lt;code&gt;[ ]&lt;/code&gt;）中填入描述链接的文本，然后在括号中（&lt;code&gt;()&lt;/code&gt;）添加URL来创建内联链接。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[百度一下，你就知道](https://www.baidu.com/)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href=&quot;https://www.baidu.com/&quot;&gt;百度一下，你就知道&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;图片&lt;/h2&gt;
&lt;p&gt;你可以通过在链接前加上 &lt;code&gt;!&lt;/code&gt; 符号来在笔记中插入外部图片。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;![John von Neumann](https://bkimg.cdn.bcebos.com/pic/dcc451da81cb39dbb6fd7aca494e1e24ab18962b9aad)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;lt;img src=&quot;https://bkimg.cdn.bcebos.com/pic/dcc451da81cb39dbb6fd7aca494e1e24ab18962b9aad&quot; alt=&quot;John von Neumann&quot; style=&quot;height: 200px;&quot; /&amp;gt;&lt;/p&gt;
&lt;h2&gt;表格&lt;/h2&gt;
&lt;p&gt;你可以使用竖线（&lt;code&gt;|&lt;/code&gt;）和短横线（&lt;code&gt;-&lt;/code&gt;）来创建表格。竖线用于分隔列，短横线用于定义列标题。&lt;/p&gt;
&lt;p&gt;通过在标题行中添加冒号（&lt;code&gt;:&lt;/code&gt;），你可以将文本左对齐、居中或右对齐。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;| 学号 | 姓名  | 年龄 |
| :--- | :--: | ---: |
|1|张三|18|
|2|李四|19|
&lt;/code&gt;&lt;/pre&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;1&lt;/td&gt;
&lt;td&gt;张三&lt;/td&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;李四&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;水平线&lt;/h2&gt;
&lt;p&gt;你可以在单独的一行上使用三个或更多星号 &lt;code&gt;***&lt;/code&gt;、短横线 &lt;code&gt;---&lt;/code&gt; 或下划线 &lt;code&gt;___&lt;/code&gt; 来添加水平线。这些分隔符号里允许有空格。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;***
****
* * *
---
----
- - -
___
____
_ _ _
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;上标、下标、注释（扩展语法）&lt;/h2&gt;
&lt;h3&gt;上标用 &quot;^&quot; 包围，下标用 &quot;~&quot; 包围&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;在64位系统上，`int`类型通常占用 4个字节，所以上限是 2^31^ - 1 = 2147483647
H~2~O 一氧化二氢!
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在64位系统上，&lt;code&gt;int&lt;/code&gt;类型通常占用 4个字节，所以上限是 2^31^ - 1 = 2147483647&lt;/p&gt;
&lt;p&gt;H~2~O 一氧化二氢!&lt;/p&gt;
&lt;h3&gt;脚注&quot;[^n]&quot;后置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;这是一个简单的脚注[^1]。
[^1]: 这是脚注的内容文本。
[^注释]: 可以使用非数字来命名脚注。但渲染时，脚注仍然会显示为数字。这样可以更容易地识别脚注内容。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是一个简单的脚注&lt;a href=&quot;%E8%BF%99%E6%98%AF%E8%84%9A%E6%B3%A8%E7%9A%84%E5%86%85%E5%AE%B9%E6%96%87%E6%9C%AC%E3%80%82&quot;&gt;^1&lt;/a&gt;。&lt;/p&gt;
&lt;h2&gt;数学公式（扩展语法）&lt;/h2&gt;
&lt;p&gt;你可以使用 &lt;a href=&quot;http://docs.mathjax.org/en/latest/basic/mathjax.html&quot;&gt;MathJax&lt;/a&gt; 和 LaTeX 符号在笔记中添加数学公式。&lt;/p&gt;
&lt;p&gt;要在笔记中添加 MathJax 公式，请用双美元符号（&lt;code&gt;$$&lt;/code&gt;）将其括起来。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$$
\begin{vmatrix}a &amp;amp; b\\
c &amp;amp; d
\end{vmatrix}=ad-bc
$$
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;$$
\begin{vmatrix}a &amp;amp; b\
c &amp;amp; d
\end{vmatrix}=ad-bc
$$&lt;/p&gt;
&lt;p&gt;你也可以用 &lt;code&gt;$&lt;/code&gt; 符号包裹数学公式来实现行内数学公式。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;这是一个行内数学表达式 $a^2+b^2=c^2$。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是一个行内数学表达式 $a^2+b^2=c^2$。&lt;/p&gt;
&lt;p&gt;想了解更多有关语法的信息，请参阅&lt;a href=&quot;https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference&quot;&gt;MathJax 基础教程&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;要查看支持的 MathJax 包列表，请参阅&lt;a href=&quot;http://docs.mathjax.org/en/latest/input/tex/extensions/index.html&quot;&gt;TeX/LaTeX 扩展列表&lt;/a&gt;。&lt;/p&gt;
&lt;h2&gt;图表（扩展语法）&lt;/h2&gt;
&lt;p&gt;你可以使用 &lt;a href=&quot;https://mermaid-js.github.io/&quot;&gt;Mermaid&lt;/a&gt; 语法在笔记中添加图表和流程图。Mermaid 支持多种图表，如&lt;a href=&quot;https://mermaid.js.org/syntax/flowchart.html&quot;&gt;流程图&lt;/a&gt;、&lt;a href=&quot;https://mermaid.js.org/syntax/sequenceDiagram.html&quot;&gt;时序图&lt;/a&gt;和&lt;a href=&quot;https://mermaid.js.org/syntax/timeline.html&quot;&gt;时间线&lt;/a&gt;等。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
sequenceDiagram
    Alice-&amp;gt;&amp;gt;+John: 你好 John，你好吗？
    Alice-&amp;gt;&amp;gt;+John: John，你能听到我吗？
    John--&amp;gt;&amp;gt;-Alice: 嗨 Alice，我能听到你！
    John--&amp;gt;&amp;gt;-Alice: 我感觉很好！
```
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;sequenceDiagram
    Alice-&amp;gt;&amp;gt;+John: 你好 John，你好吗？
    Alice-&amp;gt;&amp;gt;+John: John，你能听到我吗？
    John--&amp;gt;&amp;gt;-Alice: 嗨 Alice，我能听到你！
    John--&amp;gt;&amp;gt;-Alice: 我感觉很好！
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
graph TD

生物学 --&amp;gt; 化学
```
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;graph TD

生物学 --&amp;gt; 化学
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Emoji表情（扩展语法）&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://emojipedia.org/apple/&quot;&gt;Emoji大全&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;:sweat_smile: 
:drooling_face:
:clown_face:
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:sweat_smile:
:drooling_face:
:clown_face:&lt;/p&gt;
&lt;h3&gt;Typora 的常用快捷键&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;th&gt;效果&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;D&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;选中当前词&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;选中当前句/行&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;E&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;选中当前区块&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;F&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;搜索当前选中&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;B&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;加粗当前选中&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;H&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;替换当前选中&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;I&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;倾斜当前选中&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;U&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;下划当前选中&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;K&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;将当前选中生成链接&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;J&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;滚动屏幕将选中滚至顶部&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;W&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;关闭当前窗口&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;N&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;打开新窗口&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;O&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;打开文件&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;P&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;搜索文件并打开&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;回车&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;表格下方插入行&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;,&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;打开偏好设置&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;.&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;切换全角/半角标点&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;切换正常/源代码视图&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;Shift&lt;/code&gt; + &lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;缩小视图缩放&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;Shift&lt;/code&gt; + &lt;code&gt;+&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;放大视图缩放&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded></item><item><title>Git基本使用方法</title><link>https://liaoyueyue.cn/posts/%E6%95%99%E7%A8%8B/git%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/</link><guid isPermaLink="true">https://liaoyueyue.cn/posts/%E6%95%99%E7%A8%8B/git%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/</guid><description>本文演示Git基本使用方法</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;./assets/git-cheat-sheet.jpg&quot; alt=&quot;git_help&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;1. 安装Git&lt;/h2&gt;
&lt;h3&gt;Windows&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;下载安装程序：https://git-scm.com/download/win&lt;/li&gt;
&lt;li&gt;运行安装程序，按默认选项安装&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;macOS&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 使用Homebrew安装
brew install git
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Linux (以Ubuntu为例)&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;sudo apt-get update
sudo apt-get install git
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;2. 配置Git&lt;/h2&gt;
&lt;p&gt;首次使用Git前需要配置用户信息：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 自动创建.ssh到C盘用户目录，之后自行到GitHub或者Gitee上关联keygen
ssh-keygen -t rsa 
git config --global user.name &quot;Your Name&quot;
git config --global user.email &quot;youremail@example.com&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可选配置：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 设置默认编辑器为VSCode
git config --global core.editor &quot;code --wait&quot;
# 彩色输出
git config --global color.ui true
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;3. 创建仓库&lt;/h2&gt;
&lt;h3&gt;初始化新仓库&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;mkdir project-name
cd project-name
git init
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;克隆现有仓库&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git clone https://github.com/username/repository.git
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;4. 基本工作流程&lt;/h2&gt;
&lt;h3&gt;查看状态&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;添加文件到暂存区&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 添加特定文件
git add filename
# 添加所有修改的文件
git add .
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;提交更改&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git commit -m &quot;提交信息&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;查看提交历史&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git log
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;5. 分支管理&lt;/h2&gt;
&lt;h3&gt;创建分支&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git branch branch-name
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;切换分支&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git checkout branch-name
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;创建并切换分支&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git checkout -b branch-name
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;合并分支&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git checkout main
git merge branch-name
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;删除分支&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git branch -d branch-name
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;6. 远程仓库&lt;/h2&gt;
&lt;h3&gt;添加远程仓库&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git remote add origin https://github.com/username/repository.git
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;推送到远程仓库&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git push -u origin main
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;从远程仓库拉取更新&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git pull
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;获取远程更新&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git fetch
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;6. 撤销更改&lt;/h2&gt;
&lt;h3&gt;工作区的修改撤销&lt;/h3&gt;
&lt;p&gt;当你修改了文件但还没有执行&lt;code&gt;git add&lt;/code&gt;时：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 撤销对单个文件的修改
git checkout -- filename
# 撤销对所有已修改文件的修改
git checkout -- .
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;这条命令会用暂存区（或最后一次提交）的版本替换工作区的版本&lt;/p&gt;
&lt;p&gt;注意：这个操作是不可逆的，被撤销的更改无法恢复&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;暂存区的修改撤销&lt;/h3&gt;
&lt;p&gt;当你已经执行了&lt;code&gt;git add&lt;/code&gt;但还没有提交：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 将单个文件从暂存区移回工作区（取消暂存）
git reset HEAD filename
# 将所有文件从暂存区移回工作区
git reset HEAD .
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;reset&lt;/code&gt;命令将文件从暂存区移出，但保留工作区的修改&lt;/p&gt;
&lt;p&gt;文件状态变为已修改但未暂存&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;撤销最近的提交&lt;/h3&gt;
&lt;h4&gt;修改最后一次提交（内容或消息）&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;# 将暂存区的修改合并到最后一次提交中
git commit --amend
# 仅修改提交信息而不改变内容
git commit --amend -m &quot;新的提交信息&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;如果已经推送到远程仓库，谨慎使用amend操作&lt;/p&gt;
&lt;p&gt;需要使用&lt;code&gt;git push --force&lt;/code&gt;强制推送修改后的提交&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;彻底撤销最后一次提交&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;# 保留工作区和暂存区的修改
git reset HEAD^
# 保留工作区修改，但清空暂存区
git reset --mixed HEAD^
# 彻底丢弃最后一次提交的所有修改
git reset --hard HEAD^
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;HEAD^`表示前一次提交&lt;/p&gt;
&lt;p&gt;&lt;code&gt;--mixed&lt;/code&gt;（默认）：保留工作目录的修改，重置暂存区&lt;/p&gt;
&lt;p&gt;&lt;code&gt;--soft&lt;/code&gt;：保留工作目录和暂存区的修改&lt;/p&gt;
&lt;p&gt;&lt;code&gt;--hard&lt;/code&gt;：丢弃所有修改&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;撤销指定提交&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 创建一个新提交来撤销指定提交的更改
git revert &amp;lt;commit-hash&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;revert&lt;/code&gt;是通过创建一个新的提交来抵消之前的提交&lt;/p&gt;
&lt;p&gt;适合已经推送到远程仓库的提交&lt;/p&gt;
&lt;p&gt;保留了撤销的历史记录&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;重置到任意提交点&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 移动到指定提交，保留工作目录修改
git reset &amp;lt;commit-hash&amp;gt;
# 移动到指定提交，丢弃所有修改
git reset --hard &amp;lt;commit-hash&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;--hard&lt;/code&gt;重置会永久丢弃所有未提交的更改&lt;/p&gt;
&lt;p&gt;如果已经推送到远程仓库，需要谨慎使用&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;找回被删除的提交&lt;/h3&gt;
&lt;p&gt;如果你误删了提交，可以使用&lt;code&gt;reflog&lt;/code&gt;找回：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 查看操作历史
git reflog
# 使用找到的commit hash重置回去
git reset --hard &amp;lt;commit-hash&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;实用场景示例&lt;/h3&gt;
&lt;h4&gt;场景1：撤销未暂存的修改&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;# 不小心修改了文件但想恢复
git checkout -- file.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;场景2：撤销已暂存但未提交的修改&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;git add file1.txt file2.txt
# 突然发现不应该add file1.txt
git reset HEAD file1.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;场景3：撤销最近的本地提交&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;git commit -m &quot;错误的提交&quot;
git reset HEAD^
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;场景4：撤销已推送到远程的提交&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;git revert HEAD
git push
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;场景5：彻底回滚到某个历史版本&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;git log  # 查看要回滚到的commit hash
git reset --hard abc123
git push --force  # 谨慎使用!
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;对已推送到远程仓库的提交，优先使用&lt;code&gt;git revert&lt;/code&gt;而非&lt;code&gt;reset&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;--hard&lt;/code&gt;重置前，确保工作区没有重要未提交的修改&lt;/li&gt;
&lt;li&gt;强制推送(&lt;code&gt;--force&lt;/code&gt;)会覆盖远程历史，团队协作时应谨慎使用&lt;/li&gt;
&lt;li&gt;关键操作前可以先创建临时分支备份当前状态&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;h2&gt;7. 忽略文件&lt;/h2&gt;
&lt;p&gt;创建&lt;code&gt;.gitignore&lt;/code&gt;文件，添加需要忽略的文件或目录：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 忽略编译生成的文件
*.class
*.exe
*.dll
*.o

# 忽略日志文件
*.log

# 忽略IDE特定文件
.idea/
.vscode/

# 忽略Node.js依赖
node_modules/

# 忽略Python虚拟环境
venv/
.env
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;重置.gitignore规则后的清理&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git rm -r --cached .  # 从索引删除所有文件
git add .             # 重新添加，此时会遵守新的.gitignore规则
git commit -m &quot;fixed gitignore&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;8. 标签管理&lt;/h2&gt;
&lt;h3&gt;创建标签&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git tag v1.0.0
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;查看标签&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git tag
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;推送标签到远程&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git push origin v1.0.0
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;删除本地标签&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;git tag -d v1.0.0
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;9. 常用别名设置&lt;/h2&gt;
&lt;p&gt;添加以下内容到&lt;code&gt;~/.gitconfig&lt;/code&gt;文件的&lt;code&gt;[alias]&lt;/code&gt;部分：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[alias]
    co = checkout
    ci = commit
    st = status
    br = branch
    hist = log --pretty=format:\&quot;%h %ad | %s%d [%an]\&quot; --graph --date=short
    type = cat-file -t
    dump = cat-file -p
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;10. 最佳实践建议&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;提交时使用清晰、有意义的提交信息&lt;/li&gt;
&lt;li&gt;保持提交的原子性（每次提交只做一件事）&lt;/li&gt;
&lt;li&gt;定期从上游仓库获取更新&lt;/li&gt;
&lt;li&gt;在专用分支上开发新功能&lt;/li&gt;
&lt;li&gt;使用&lt;code&gt;.gitignore&lt;/code&gt;忽略不需要版本控制的文件&lt;/li&gt;
&lt;li&gt;推送前先拉取最新代码，避免冲突&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;11. 获取帮助&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;git help &amp;lt;command&amp;gt;
git &amp;lt;command&amp;gt; --help
man git-&amp;lt;command&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Markdown-扩展功能</title><link>https://liaoyueyue.cn/posts/%E5%BC%95%E5%AF%BC/markdown-%E6%89%A9%E5%B1%95%E5%8A%9F%E8%83%BD/</link><guid isPermaLink="true">https://liaoyueyue.cn/posts/%E5%BC%95%E5%AF%BC/markdown-%E6%89%A9%E5%B1%95%E5%8A%9F%E8%83%BD/</guid><description>阅读更多关于Fuwari中Markdown功能的信息</description><pubDate>Wed, 01 May 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;GitHub存储库卡&lt;/h2&gt;
&lt;p&gt;您可以添加链接到GitHub存储库的动态卡，在页面加载时，存储库信息是从GitHub API获取的。&lt;/p&gt;
&lt;p&gt;::github{repo=&quot;Fabrizz/MMM-OnSpotify&quot;}&lt;/p&gt;
&lt;p&gt;使用代码创建GitHub存储库卡 &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;警告&lt;/h2&gt;
&lt;p&gt;支持以下类型的警告: &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
突出显示用户应该考虑的信息，即使在浏览时也是如此。
:::&lt;/p&gt;
&lt;p&gt;:::tip
帮助用户取得更大成功的可选信息。
:::&lt;/p&gt;
&lt;p&gt;:::important
用户成功所必需的关键信息。
:::&lt;/p&gt;
&lt;p&gt;:::warning
由于潜在风险，需要用户立即关注的关键内容。
:::&lt;/p&gt;
&lt;p&gt;:::caution
行动的负面潜在后果。
:::&lt;/p&gt;
&lt;h3&gt;基本语法&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;:::note
突出显示用户应该考虑的信息，即使在浏览时也是如此。
:::

:::tip
帮助用户取得更大成功的可选信息。
:::
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;自定义标题&lt;/h3&gt;
&lt;p&gt;警告的标题可以自定义。&lt;/p&gt;
&lt;p&gt;:::note[我的自定义标题]
这是一个带有自定义标题的注释。
:::&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;:::note[我的自定义标题]
这是一个带有自定义标题的注释。
:::
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;GitHub语法&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; 也得到了支持。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; [!NOTE]
&amp;gt; GitHub语法也受支持。

&amp;gt; [!TIP]
&amp;gt; GitHub语法也受支持。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Spoiler&lt;/h3&gt;
&lt;p&gt;你可以在文本中添加剧透。文本还支持&lt;strong&gt;Markdown&lt;/strong&gt;语法。&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>表现力代码示例</title><link>https://liaoyueyue.cn/posts/%E5%BC%95%E5%AF%BC/%E8%A1%A8%E7%8E%B0%E5%8A%9B%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B/</link><guid isPermaLink="true">https://liaoyueyue.cn/posts/%E5%BC%95%E5%AF%BC/%E8%A1%A8%E7%8E%B0%E5%8A%9B%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B/</guid><description>在 Markdown 中使用 Expressive Code 渲染代码块的视觉效果展示。</description><pubDate>Wed, 10 Apr 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;本文将展示在 Markdown 中使用 &lt;a href=&quot;https://expressive-code.com/&quot;&gt;表现力代码 (Expressive Code)&lt;/a&gt; 渲染代码块的效果。以下示例均基于官方文档，如需深入了解核心配置，请参阅官方指南。&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;语法高亮官方文档&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;常规语法高亮&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;渲染 ANSI 转义序列 (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;使用类 Diff 语法 (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;结合语法高亮与类 Diff 语法 (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
// 该区间内所有样板 (Boilerplate) 初始代码将被折叠
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>Fuwari的简单指南</title><link>https://liaoyueyue.cn/posts/%E5%BC%95%E5%AF%BC/fuwari%E7%9A%84%E7%AE%80%E5%8D%95%E6%8C%87%E5%8D%97/</link><guid isPermaLink="true">https://liaoyueyue.cn/posts/%E5%BC%95%E5%AF%BC/fuwari%E7%9A%84%E7%AE%80%E5%8D%95%E6%8C%87%E5%8D%97/</guid><description>如何使用此博客模板。</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://liaoyueyue.cn/posts/%E5%BC%95%E5%AF%BC/markdown/</link><guid isPermaLink="true">https://liaoyueyue.cn/posts/%E5%BC%95%E5%AF%BC/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>在文章中嵌入视频</title><link>https://liaoyueyue.cn/posts/%E5%BC%95%E5%AF%BC/%E5%9C%A8%E6%96%87%E7%AB%A0%E4%B8%AD%E5%B5%8C%E5%85%A5%E8%A7%86%E9%A2%91/</link><guid isPermaLink="true">https://liaoyueyue.cn/posts/%E5%BC%95%E5%AF%BC/%E5%9C%A8%E6%96%87%E7%AB%A0%E4%B8%AD%E5%B5%8C%E5%85%A5%E8%A7%86%E9%A2%91/</guid><description>本文演示如何在博客文章中嵌入视频。</description><pubDate>Tue, 01 Aug 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;只需从 YouTube 或其他平台复制嵌入代码 (Embed Code)，并将其粘贴至 Markdown (Markdown) 文件中即可。&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>