<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>陈磊</title>
        <link>https://chenleicode.top</link>
        <description>陈磊的个人网站</description>
        <lastBuildDate>Thu, 16 Apr 2026 06:57:41 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh-CN</language>
        <copyright>陈磊</copyright>
        <item>
            <title><![CDATA[Mac 初体验]]></title>
            <link>https://chenleicode.top/posts/first-use-mac</link>
            <guid isPermaLink="false">https://chenleicode.top/posts/first-use-mac</guid>
            <pubDate>Wed, 18 Jun 2025 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<h1 id="mac-初体验" tabindex="-1">Mac 初体验 <a class="header-anchor" href="#mac-初体验" aria-label="Permalink to “Mac 初体验”">&#8203;</a></h1>
<p>第一次购买使用 Mac，简单记录一下。</p>
<h2 id="为什么选择-mac" tabindex="-1">为什么选择 Mac <a class="header-anchor" href="#为什么选择-mac" aria-label="Permalink to “为什么选择 Mac”">&#8203;</a></h2>
<p>可能很多人会说 Mac 和 Linux 有很多相似之处，都是基于 Unix 的操作系统，很适合程序员，不用关机开盖即可使用，稳定性高等等。但其实不是我选择 Mac 的直接原因，主要有以下几个直接原因：</p>
<ul>
<li>跟随大佬，我所了解到的程序员大佬们大多数（90%）使用 Mac</li>
<li>极简和续航强大</li>
<li>想要尝试一下 Mac</li>
<li>国补和教育优惠</li>
</ul>
<h2 id="购买-mac" tabindex="-1">购买 Mac <a class="header-anchor" href="#购买-mac" aria-label="Permalink to “购买 Mac”">&#8203;</a></h2>
<p>我是在京东平台苹果自营旗舰店店购买的 MacBook Air M4 24 512，使用了国补和教育优惠，价格是8249元。</p>
<div style="display: flex; gap: 10px;">
  <div style="flex: 1;">
    <img src="/Snipaste_2025-06-18_14-54-18.jpg" alt="京东购买信息" style="width: 100%;">
  </div>
  <div style="flex: 1;">
    <img src="/Snipaste_2025-06-18_16-28-17.jpg" alt="Mac 系统信息" style="width: 100%;">
  </div>
</div>
<h2 id="使用感受" tabindex="-1">使用感受 <a class="header-anchor" href="#使用感受" aria-label="Permalink to “使用感受”">&#8203;</a></h2>
<p>第一天使用真的很想退了它，和 Windows 的操作习惯差异太大了。</p>
<p>很多快捷键都不一样，很多操作需要重新适应，比如赋值粘贴快捷键，Windows 是 Ctrl + C/V，而 Mac 是 Command + C/V，这个差异导致难以适应的点在于怎么按 Command + C/V 这个组合键，在Windows 中，我是小拇指按 Ctrl，食指按 C/V，而在 Mac 中，我只能大拇指按 Command，食指按 C/V，这个操作手势真的很不习惯。再比如 Mac 应用的关闭最小化放大按钮真的好小，不方便盲点。另外，Mac 的文件管理和 Windows 也有很大差异。</p>
<p>不过深度使用了几天后，慢慢适应了 Mac 的大部分操作习惯，截止到现在已经有两个多月了，总体上感觉还是挺不错的。Mac 的系统很简洁，无广告，操作流畅，对编程环境比较友好，比如安装 Node.js 很简单，只需要在官网下载安装包，然后安装即可（或者使用 NVM 和 FNM 等 Node 版本管理工具安装 Node）。而在 Windows 上安装 Node.js 可能需要配置环境变量等操作。此外搭配 iPhone 和 iPad 使用，会感受那种统一的操作逻辑，很舒服，这一点是在 Windows 中感受不到的。iCloud 同步也很方便，比如备忘录应用，iPhone 上的备忘录可以直接在 Mac 上查看和编辑，反之亦然。触控板很好用，手势操作很流畅，除了大范围的拖移场景，其他使用场景很牛逼，完全能替代鼠标。续航很强大，目前上班连续使用八小时没问题。</p>
<h2 id="推荐的-mac-应用" tabindex="-1">推荐的 Mac 应用 <a class="header-anchor" href="#推荐的-mac-应用" aria-label="Permalink to “推荐的 Mac 应用”">&#8203;</a></h2>
<ul>
<li><a href="https://www.clashverge.dev/" target="_blank" rel="noreferrer">Clash Verge Rev</a>: 代理工具，配置简单，跨平台。</li>
<li><a href="https://www.snipaste.com/" target="_blank" rel="noreferrer">Snipaste</a>: 截图工具，功能强大。</li>
<li><a href="https://www.google.com/chrome/" target="_blank" rel="noreferrer">Chrome</a>: 浏览器，自大学用到现在，挺好用的。</li>
</ul>
<p>另外，Mac 的自带应用也很不错，比如备忘录、提醒、邮件、音乐、播客等。</p>
<h2 id="是否应该购买-mac" tabindex="-1">是否应该购买 Mac <a class="header-anchor" href="#是否应该购买-mac" aria-label="Permalink to “是否应该购买 Mac”">&#8203;</a></h2>
<p>如果你是程序员、经济允许、有 iPhone 或 iPad、想要尝试新的操作系统，建议购买试试。</p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[使用 VitePress 搭建并自动化部署个人网站]]></title>
            <link>https://chenleicode.top/posts/vitepress-build-deploy</link>
            <guid isPermaLink="false">https://chenleicode.top/posts/vitepress-build-deploy</guid>
            <pubDate>Fri, 13 Sep 2024 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<h1 id="使用-vitepress-搭建并自动化部署个人网站" tabindex="-1">使用 VitePress 搭建并自动化部署个人网站 <a class="header-anchor" href="#使用-vitepress-搭建并自动化部署个人网站" aria-label="Permalink to “使用 VitePress 搭建并自动化部署个人网站”">&#8203;</a></h1>
<p>今天分享的主题是使用 VitePress 搭建并自动化部署个人网站。</p>
<h2 id="vitepress-是什么" tabindex="-1">VitePress 是什么 <a class="header-anchor" href="#vitepress-是什么" aria-label="Permalink to “VitePress 是什么”">&#8203;</a></h2>
<p><a href="https://vitepress.dev/zh/guide/what-is-vitepress" target="_blank" rel="noreferrer">VitePress</a> 是一个静态站点生成器 (SSG)，专为构建快速、以内容为中心的站点而设计。简而言之，VitePress 获取用 Markdown 编写的内容，对其应用主题，并生成可以轻松部署到任何地方的静态 HTML 页面。</p>
<div  class="info custom-block"><p class="custom-block-title">其他 SSG</p>
<ul>
<li><a href="https://jekyllrb.com/" target="_blank" rel="noreferrer">Jekyll</a>：GitHub Pages 原生集成</li>
<li><a href="https://rspress.dev/zh/" target="_blank" rel="noreferrer">Rspress</a>：基于 Rspack 和 React，字节跳动</li>
</ul>
</div>
<h2 id="使用-vitepress-的网站" tabindex="-1">使用 VitePress 的网站 <a class="header-anchor" href="#使用-vitepress-的网站" aria-label="Permalink to “使用 VitePress 的网站”">&#8203;</a></h2>
<ul>
<li><a href="https://vuejs.org/" target="_blank" rel="noreferrer">Vue</a></li>
<li><a href="https://vitejs.dev/" target="_blank" rel="noreferrer">Vite</a></li>
<li><a href="https://rollupjs.org/" target="_blank" rel="noreferrer">Rollup</a></li>
<li><a href="https://pinia.vuejs.org/" target="_blank" rel="noreferrer">Pinia</a></li>
<li><a href="https://vueuse.org/" target="_blank" rel="noreferrer">VueUse</a></li>
<li><a href="https://vitest.dev/" target="_blank" rel="noreferrer">Vitest</a></li>
<li><a href="https://d3js.org/" target="_blank" rel="noreferrer">D3</a></li>
<li><a href="https://unocss.dev/" target="_blank" rel="noreferrer">UnoCSS</a></li>
<li><a href="https://element-plus.org/zh-CN/" target="_blank" rel="noreferrer">Element Plus</a></li>
<li><a href="https://typicode.github.io/husky/zh/" target="_blank" rel="noreferrer">Husky</a></li>
<li><a href="https://chenleicode.top/" target="_blank" rel="noreferrer">陈磊个人网站</a></li>
</ul>
<p>...</p>
<h2 id="快速搭建一个-demo" tabindex="-1">快速搭建一个 Demo <a class="header-anchor" href="#快速搭建一个-demo" aria-label="Permalink to “快速搭建一个 Demo”">&#8203;</a></h2>
<div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 创建文件目录</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">mkdir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> vitepress-demo</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 进入文件目录</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> vitepress-demo</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 安装 vitepress</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> add</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -D</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> vitepress</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # 或 pnpm add -D vitepress</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 初始化 vitepress</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> vitepress</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> init</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # 或 pnpm vitepress init</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 回答几个简单的问题</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">┌</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  Welcome</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> to</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> VitePress!</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">◇</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  Where</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> should</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> VitePress</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> initialize</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> the</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> config?</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  ./docs</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">◇</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  Site</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> title:</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  My</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Awesome</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Project</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">◇</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  Site</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> description:</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  A</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> VitePress</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Site</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">◇</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  Theme:</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  Default</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Theme</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">◇</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  Use</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> TypeScript</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> for</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> and</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> theme</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> files?</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  Yes</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">◇</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  Add</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> VitePress</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> scripts</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> to</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> package.json?</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  Yes</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">│</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">└</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  Done!</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Now</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> docs:dev</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> and</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> start</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> writing.</span></span></code></pre>
</div><details  class="details custom-block"><summary>终端示例截图</summary>
<p><img src="/vitepress-demo-terminal.png" alt="vitepress-demo-terminal"></p>
</details>
<div  class="tip custom-block"><p class="custom-block-title">注意事项</p>
<ul>
<li>默认生成的是 config.mjs 或 config.mts，如果要改成 config.js 或 config.ts，需要在 <code>package.json</code> 添加 <code>&quot;type&quot;: &quot;module&quot;</code></li>
<li>按照上述操作的构建输出目录是 <code>docs/.vitepress/dist</code>，如果 <code>问：Where should VitePress initialize the config?  答：./</code>, 构建输出目录是 <code>.vitepress/dist</code></li>
<li>默认情况下，VitePress 将其开发服务器缓存存储在 <code>.vitepress/cache</code> 中，如果使用 Git，应该将它们添加到 .gitignore 文件中</li>
<li><a href="https://chenleicode.top/demo/" target="_blank" rel="noreferrer">演示 demo</a></li>
</ul>
</div>
<h2 id="语法" tabindex="-1">语法 <a class="header-anchor" href="#语法" aria-label="Permalink to “语法”">&#8203;</a></h2>
<p>VitePress 的语法不算多，下面只介绍几个特别的语法点</p>
<h3 id="file-based-routing" tabindex="-1">基于文件的路由 <a class="header-anchor" href="#file-based-routing" aria-label="Permalink to “基于文件的路由”">&#8203;</a></h3>
<p>VitePress 使用基于文件的路由，这意味着生成的 HTML 页面是从源 Markdown 文件的目录结构映射而来的。例如，给定以下目录结构：</p>
<div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span>.</span></span>
<span class="line"><span>├─ guide</span></span>
<span class="line"><span>│  ├─ getting-started.md</span></span>
<span class="line"><span>│  └─ index.md</span></span>
<span class="line"><span>├─ index.md</span></span>
<span class="line"><span>└─ prologue.md</span></span></code></pre>
</div><p>生成的 HTML 页面会是这样：</p>
<div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span>index.md                  -->  /index.html (可以通过 / 访问)</span></span>
<span class="line"><span>prologue.md               -->  /prologue.html</span></span>
<span class="line"><span>guide/index.md            -->  /guide/index.html (可以通过 /guide/ 访问)</span></span>
<span class="line"><span>guide/getting-started.md  -->  /guide/getting-started.html</span></span></code></pre>
</div><div  class="tip custom-block"><p class="custom-block-title">注意事项</p>
<ul>
<li>如果想要干净的路径:</li>
</ul>
<div class="language-ts"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// config.ts</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineConfig</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  cleanUrls: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">})</span></span></code></pre>
</div><ul>
<li>生成的 HTML 页面会是这样：</li>
</ul>
<div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span>index.md                  -->  /</span></span>
<span class="line"><span>prologue.md               -->  /prologue</span></span>
<span class="line"><span>guide/index.md            -->  /guide/index</span></span>
<span class="line"><span>guide/getting-started.md  -->  /guide/getting-started</span></span></code></pre>
</div></div>
<p>生成的 HTML 可以托管在任何支持静态文件的 Web 服务器上。</p>
<h3 id="根目录" tabindex="-1">根目录 <a class="header-anchor" href="#根目录" aria-label="Permalink to “根目录”">&#8203;</a></h3>
<p>项目根目录是与 <code>.vitepress</code> 特殊目录同级的地方。<code>.vitepress</code> 目录是 VitePress 配置文件、开发服务器缓存、构建输出和可选主题自定义代码的预留位置。</p>
<h3 id="源目录" tabindex="-1">源目录 <a class="header-anchor" href="#源目录" aria-label="Permalink to “源目录”">&#8203;</a></h3>
<p>源目录是 Markdown 源文件所在的位置。默认情况下，它与项目根目录相同。但是，可以通过 <code>srcDir</code> 配置选项对其进行配置。</p>
<p><code>srcDir</code> 选项是相对于项目根目录解析的。例如，对于 <code>srcDir: 'src'</code>，文件结构将如下所示：</p>
<div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span>.                          # 项目根目录</span></span>
<span class="line"><span>├─ .vitepress              # 配置目录</span></span>
<span class="line"><span>└─ src                     # 源目录</span></span>
<span class="line"><span>   ├─ getting-started.md</span></span>
<span class="line"><span>   └─ index.md</span></span></code></pre>
</div><p>生成的源代码到 HTML 的映射：</p>
<div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span>src/index.md            -->  /index.html (可以通过 / 访问)</span></span>
<span class="line"><span>src/getting-started.md  -->  /getting-started.html</span></span></code></pre>
</div><h3 id="资源处理-public-目录" tabindex="-1">资源处理（public 目录） <a class="header-anchor" href="#资源处理-public-目录" aria-label="Permalink to “资源处理（public 目录）”">&#8203;</a></h3>
<p>放置在 public 中的资源将按原样复制到输出目录的根目录中。</p>
<p>请注意，应使用根绝对路径来引用放置在 public 中的文件——例如，<code>public/icon.png</code> 应始终在源代码中使用 <code>/icon.png</code> 引用。</p>
<h3 id="srcdir" tabindex="-1">srcDir <a class="header-anchor" href="#srcdir" aria-label="Permalink to “srcDir”">&#8203;</a></h3>
<ul>
<li>类型：<code>string</code></li>
<li>默认值： <code>.</code></li>
</ul>
<p>相对于项目根目录的 markdown 文件所在的文件夹。</p>
<div class="language-ts"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineConfig</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  srcDir: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'./src'</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">})</span></span></code></pre>
</div><h3 id="base" tabindex="-1">base <a class="header-anchor" href="#base" aria-label="Permalink to “base”">&#8203;</a></h3>
<ul>
<li>类型：<code>string</code></li>
<li>默认值： <code>/</code></li>
</ul>
<p>如果计划在子路径例如 GitHub 页面下部署站点，则需要设置此项。如果计划将站点部署到 <code>https://foo.github.io/bar/</code>，那么应该将 <code>base</code> 设置为 <code>'/bar/'</code>。它应该始终以 <code>/</code> 开头和结尾。</p>
<p>base 会自动添加到其他选项中以 <code>/</code> 开头的所有 URL 前面，因此只需指定一次。</p>
<div class="language-ts"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// config.ts</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineConfig</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  base: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'/base/'</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">})</span></span></code></pre>
</div><h3 id="frontmatter-配置" tabindex="-1">frontmatter 配置 <a class="header-anchor" href="#frontmatter-配置" aria-label="Permalink to “frontmatter 配置”">&#8203;</a></h3>
<p>frontmatter 支持基于页面的配置。在每个 markdown 文件中，可以使用 frontmatter 配置来覆盖站点级别或主题级别的配置选项</p>
<p>示例用法：</p>
<div class="language-md"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">---</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Docs with VitePress</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">editLink</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">---</span></span></code></pre>
</div><div  class="info custom-block"><p class="custom-block-title">详细文档</p>
<p><a href="https://vitepress.dev/zh/reference/frontmatter-config" target="_blank" rel="noreferrer">https://vitepress.dev/zh/reference/frontmatter-config</a></p>
</div>
<h3 id="本地搜索" tabindex="-1">本地搜索 <a class="header-anchor" href="#本地搜索" aria-label="Permalink to “本地搜索”">&#8203;</a></h3>
<p>得益于 <a href="https://github.com/lucaong/minisearch/" target="_blank" rel="noreferrer">minisearch</a>，VitePress 支持使用浏览器内索引进行模糊全文搜索。要启用此功能，只需在 <code>.vitepress/config.ts</code> 文件中将 <code>themeConfig.search.provider</code> 选项设置为 <code>'local'</code> 即可：</p>
<div class="language-ts"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { defineConfig } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'vitepress'</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineConfig</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  themeConfig: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    search: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      provider: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'local'</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">})</span></span></code></pre>
</div><p>默认显示语言是英文，如果想要使用中文，请使用下面的写法：</p>
<div class="language-ts"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { defineConfig } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'vitepress'</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineConfig</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  themeConfig: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    search: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      provider: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'local'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      options: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        translations: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">          button: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            buttonText: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'搜索文档'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            buttonAriaLabel: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'搜索文档'</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">          },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">          modal: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            noResultsText: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'无法找到相关结果'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            displayDetails: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'显示详细列表'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            resetButtonTitle: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'清除查询条件'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            footer: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">              selectText: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'选择'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">              navigateText: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'切换'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">              closeText: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'关闭'</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">          }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">})</span></span></code></pre>
</div><h3 id="markdown-扩展" tabindex="-1">Markdown 扩展 <a class="header-anchor" href="#markdown-扩展" aria-label="Permalink to “Markdown 扩展”">&#8203;</a></h3>
<p>VitePress 带有内置的 Markdown 扩展，类似于 <a href="https://www.mdxjs.cn/" target="_blank" rel="noreferrer">MDX</a></p>
<h4 id="使用-vue" tabindex="-1">使用 Vue <a class="header-anchor" href="#使用-vue" aria-label="Permalink to “使用 Vue”">&#8203;</a></h4>
<div class="language-md"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;script setup></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">import CustomComponent from '../../components/CustomComponent.vue'</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;/script></span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold"># 简介</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">这是在 Markdown 中使用 Vue SFC</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;CustomComponent /></span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## 标题2</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">xxxxxxxxxxxxxxxxxxxxxx</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## 标题3</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">xxxxxxxxxxxxxxxxxxxxxxxxxxxxx</span></span></code></pre>
</div><div  class="info custom-block"><p class="custom-block-title">详细文档</p>
<p><a href="https://vitepress.dev/zh/guide/using-vue" target="_blank" rel="noreferrer">https://vitepress.dev/zh/guide/using-vue</a></p>
</div>
<h4 id="internal-links" tabindex="-1">内部链接 <a class="header-anchor" href="#internal-links" aria-label="Permalink to “内部链接”">&#8203;</a></h4>
<p>内部链接将转换为单页导航的路由链接。此外，子目录中包含的每个 <code>index.md</code> 都会自动转换为 <code>index.html</code>，并带有相应的 URL <code>/</code>。</p>
<p>例如，给定以下目录结构：</p>
<div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span>.</span></span>
<span class="line"><span>├─ index.md</span></span>
<span class="line"><span>├─ foo</span></span>
<span class="line"><span>│  ├─ index.md</span></span>
<span class="line"><span>│  ├─ one.md</span></span>
<span class="line"><span>│  └─ two.md</span></span>
<span class="line"><span>└─ bar</span></span>
<span class="line"><span>   ├─ index.md</span></span>
<span class="line"><span>   ├─ three.md</span></span>
<span class="line"><span>   └─ four.md</span></span></code></pre>
</div><p>假设现在处于 <code>foo/one.md</code> 文件中：</p>
<div class="language-md"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">Home</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">](</span><span style="--shiki-light:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline">/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) &#x3C;!-- 将用户导航至根目录下的 index.html --></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">foo</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">](</span><span style="--shiki-light:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline">/foo/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) &#x3C;!-- 将用户导航至目录 foo 下的 index.html --></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">foo heading</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">](</span><span style="--shiki-light:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline">./#heading</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) &#x3C;!-- 将用户锚定到目录 foo 下的index文件中的一个标题上 --></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">bar - three</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">](</span><span style="--shiki-light:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline">../bar/three</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) &#x3C;!-- 可以省略扩展名 --></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">bar - three</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">](</span><span style="--shiki-light:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline">../bar/three.md</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) &#x3C;!-- 可以添加 .md --></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">bar - four</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">](</span><span style="--shiki-light:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline">../bar/four.html</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) &#x3C;!-- 或者可以添加 .html --></span></span></code></pre>
</div><ul>
<li><a href="/">主页</a></li>
<li><a href="./../notes/corepack.html">Corepack</a></li>
<li><a href="./../notes/corepack.html#遇到的问题">Corepack (遇到的问题)</a></li>
</ul>
<h4 id="external-links" tabindex="-1">外部链接 <a class="header-anchor" href="#external-links" aria-label="Permalink to “外部链接”">&#8203;</a></h4>
<p>外部链接带有 <code>target=&quot;_blank&quot; rel=&quot;noreferrer&quot;</code>：</p>
<ul>
<li><a href="https://cn.vuejs.org" target="_blank" rel="noreferrer">vuejs.org</a></li>
<li><a href="https://github.com/vuejs/vitepress" target="_blank" rel="noreferrer">VitePress on GitHub</a></li>
</ul>
<h4 id="custom-containers" tabindex="-1">自定义容器 <a class="header-anchor" href="#custom-containers" aria-label="Permalink to “自定义容器”">&#8203;</a></h4>
<p>自定义容器可以通过它们的类型、标题和内容来定义。</p>
<p><strong>输入</strong></p>
<div class="language-md"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">::: info</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">This is an info box.</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:::</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">::: tip</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">This is a tip.</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:::</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">::: warning</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">This is a warning.</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:::</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">::: danger</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">This is a dangerous warning.</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:::</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">::: details</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">This is a details block.</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:::</span></span></code></pre>
</div><p><strong>输出</strong></p>
<div  class="info custom-block"><p class="custom-block-title custom-block-title-default">INFO</p>
<p>This is an info box.</p>
</div>
<div  class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p>
<p>This is a tip.</p>
</div>
<div  class="warning custom-block"><p class="custom-block-title custom-block-title-default">WARNING</p>
<p>This is a warning.</p>
</div>
<div  class="danger custom-block"><p class="custom-block-title custom-block-title-default">DANGER</p>
<p>This is a dangerous warning.</p>
</div>
<details  class="details custom-block"><summary>Details</summary>
<p>This is a details block.</p>
</details>
<p>可以通过在容器的 &quot;type&quot; 之后附加文本来设置自定义标题。</p>
<p><strong>输入</strong></p>
<div class="language-md"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">::: danger STOP</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">危险区域，请勿继续</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:::</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">::: details 点我查看代码</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">```js</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'Hello, VitePress!'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">```</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:::</span></span></code></pre>
</div><p><strong>输出</strong></p>
<div  class="danger custom-block"><p class="custom-block-title">STOP</p>
<p>危险区域，请勿继续</p>
</div>
<details  class="details custom-block"><summary>点我查看代码</summary>
<div class="language-js"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'Hello, VitePress!'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span></code></pre>
</div></details>
<p>此外，还可以通过在站点配置中添加以下内容来全局设置自定义标题的内容</p>
<div class="language-ts"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// config.ts</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineConfig</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // ...</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  markdown: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    container: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      tipLabel: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'提示'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      warningLabel: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'警告'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      dangerLabel: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'危险'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      infoLabel: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'信息'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      detailsLabel: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'详细信息'</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // ...</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">})</span></span></code></pre>
</div><h2 id="使用-github-pages-部署" tabindex="-1">使用 GitHub Pages 部署 <a class="header-anchor" href="#使用-github-pages-部署" aria-label="Permalink to “使用 GitHub Pages 部署”">&#8203;</a></h2>
<ol>
<li>在项目的 <code>.github/workflows</code> 目录中创建一个名为 <code>deploy.yml</code> 的文件，其中包含这样的内容：</li>
</ol>
<div class="language-yaml"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 构建 VitePress 站点并将其部署到 GitHub Pages 的示例工作流程</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Deploy VitePress site to Pages</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">on</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # 在针对 `main` 分支的推送上运行</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  push</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    branches</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">main</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # 允许你从 Actions 选项卡手动运行此工作流程</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  workflow_dispatch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 设置 GITHUB_TOKEN 的权限，以允许部署到 GitHub Pages</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">read</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  pages</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  id-token</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 只允许同时进行一次部署，跳过正在运行和最新队列之间的运行队列</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 但是，不取消正在进行的运行，允许这些生产部署完成</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">concurrency</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  group</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">pages</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # 自定义的组名</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  cancel-in-progress</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">false</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">jobs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # 构建工作</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  build</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    runs-on</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">ubuntu-latest</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    steps</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Checkout</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">actions/checkout@v4</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">          fetch-depth</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # 保留 Git 信息</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      # 使用 pnpm</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      # - name: Setup pnpm</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      #   uses: pnpm/action-setup@v3</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      #   with:</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      #     version: latest</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Setup Node</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">actions/setup-node@v4</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">          node-version</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">20</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">          cache</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">npm</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # 或 pnpm / yarn</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Setup Pages</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">actions/configure-pages@v4</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Install dependencies</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        run</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">npm ci</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # 或 pnpm install / yarn install</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Build with VitePress</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        run</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">npm run docs:build</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # 或 pnpm docs:build / yarn docs:build</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Upload artifact</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">actions/upload-pages-artifact@v3</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">          path</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">docs/.vitepress/dist</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # 构建输出目录</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # 部署工作</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  deploy</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    environment</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">github-pages</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      url</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">${{ steps.deployment.outputs.page_url }}</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    needs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">build</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    runs-on</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">ubuntu-latest</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Deploy</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    steps</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Deploy to GitHub Pages</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">deployment</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">actions/deploy-pages@v4</span></span></code></pre>
</div><div  class="tip custom-block"><p class="custom-block-title">注意事项</p>
<ul>
<li>请将 base 设置为 <code>/repo-name/</code></li>
<li>GitHub Actions 是 GitHub 提供的一种持续集成和持续部署（CI/CD）服务，允许你在仓库中自动化各种软件开发工作流程。通过 GitHub Actions，你可以在特定的触发条件下自动执行代码的构建、测试、部署等任务，从而简化软件开发和发布的过程。类似于 GitLab CI/CD</li>
<li>actions/* 是 GitHub Actions 提供的官方行动（Action），用于在 CI/CD 流水线中执行特定任务</li>
<li>ubuntu-latest 是一个常用的 GitHub-hosted runner，也可以在本地或服务器上配置自有 runner</li>
<li>github-pages 是 GitHub 提供的一项免费托管服务，允许你直接从 GitHub 仓库中发布静态网站</li>
<li>npm ci：它是为持续集成环境设计的，直接从 package-lock.json 文件中安装依赖，并跳过创建或更新 package-lock.json 文件的步骤。提供更快的安装速度，确保安装的依赖与开发时使用的版本完全一致，避免潜在的依赖版本冲突或不一致问题</li>
</ul>
</div>
<ol start="2">
<li>在存储库设置中的 <code>Pages</code> 菜单项下，选择 <code>Build and deployment &gt; Source &gt; GitHub Actions</code></li>
</ol>
<details  class="details custom-block"><summary>操作截图</summary>
<p><img src="/Snipaste_2024-08-07_16-24-24.png" alt="vitepress-demo-github-pages"></p>
</details>
<ol start="3">
<li>将更改推送到 main 分支并等待 GitHub Action 工作流完成。你应该看到站点部署到 <code>https://user-name.github.io/repo-name/</code>。你的站点将在每次推送到 main 分支时自动部署。</li>
</ol>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[《恶意》读后感]]></title>
            <link>https://chenleicode.top/posts/malice</link>
            <guid isPermaLink="false">https://chenleicode.top/posts/malice</guid>
            <pubDate>Mon, 19 Aug 2024 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<h1 id="《恶意》读后感" tabindex="-1">《恶意》读后感 <a class="header-anchor" href="#《恶意》读后感" aria-label="Permalink to “《恶意》读后感”">&#8203;</a></h1>
<p>又一次强迫自己读书……</p>
<p>很久很久没有读书了，但是觉得需要读点书，所以挑选了一本字数少，能看下去的小说。刚开始看觉得也就那样，一般般，甚至有点看不下去，随着剧情的不断推进，慢慢觉得还行，还不错。</p>
<p>个人理解这是一个因为嫉妒而杀人的故事。</p>
<p>在中学时代杀人者常常被霸凌，有时会协助霸凌者霸凌其他人。有一个同学会常常帮助他，正常人会感激这个帮助者，然而杀人者并没有这样觉得，反而内心升起一股对帮助者的恶意。成年之后，帮助者成为了一名作家，杀人者找了一个机会接近帮助者，也想要成为一名作家，帮助者并没有因为中学时代的敌意疏远杀人者，反而帮助杀人者成为一名作家，但是杀人者没有如愿成为一名作家，并且得了癌症，慢慢的嫉妒越积越多，一次偶然机会，得知了中学时代协助霸凌的事情可能要公之于众，这成为了一个直接导火索，随后设计了杀人动机，杀了帮助者。</p>
<p>对于别人的优秀，如果有嫉妒，一定不要让嫉妒变得扭曲，试着做出一些改变，让嫉妒激励自己成为更好的自己。</p>
<p><img src="/malice.png" alt="恶意"></p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[安装依赖报错：pngquant failed to build, make sure that libpng-dev is installed]]></title>
            <link>https://chenleicode.top/posts/install-dependency-error</link>
            <guid isPermaLink="false">https://chenleicode.top/posts/install-dependency-error</guid>
            <pubDate>Wed, 03 Jul 2024 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<h1 id="安装依赖报错-pngquant-failed-to-build-make-sure-that-libpng-dev-is-installed" tabindex="-1">安装依赖报错：pngquant failed to build, make sure that libpng-dev is installed <a class="header-anchor" href="#安装依赖报错-pngquant-failed-to-build-make-sure-that-libpng-dev-is-installed" aria-label="Permalink to “安装依赖报错：pngquant failed to build, make sure that libpng-dev is installed”">&#8203;</a></h1>
<p>这个报错有很多原因，我只介绍我的报错原因以及解决办法。</p>
<h2 id="操作系统" tabindex="-1">操作系统 <a class="header-anchor" href="#操作系统" aria-label="Permalink to “操作系统”">&#8203;</a></h2>
<p>Windows 10</p>
<h2 id="报错原因" tabindex="-1">报错原因 <a class="header-anchor" href="#报错原因" aria-label="Permalink to “报错原因”">&#8203;</a></h2>
<p>我是一个强迫症，没事的时候总喜欢删除电脑多余的软件（当时觉得是多余的软件），其中我删除了两个软件，导致了在安装 pngquant 的过程中，没有编译 pngquant 二进制文件的环境了，因此出现报错。</p>
<p><img src="/Snipaste_2024-07-03_08-44-20.png" alt="删除的软件"></p>
<div  class="info custom-block"><p class="custom-block-title">注意</p>
<p>建议不要删除电脑自带的 Microsoft Visual C++</p>
</div>
<h2 id="解决办法" tabindex="-1">解决办法 <a class="header-anchor" href="#解决办法" aria-label="Permalink to “解决办法”">&#8203;</a></h2>
<p>重新安装以下软件就可以了，应该是可以只安装一个，我是安装了两个（X86, X64）</p>
<p><img src="/Snipaste_2024-07-03_08-23-11.png" alt="需要安装的软件"></p>
<p>链接：<a href="https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170#latest-microsoft-visual-c-redistributable-version" target="_blank" rel="noreferrer">https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170#latest-microsoft-visual-c-redistributable-version</a></p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[GitHub 推送失败网络连接问题]]></title>
            <link>https://chenleicode.top/posts/github-connect</link>
            <guid isPermaLink="false">https://chenleicode.top/posts/github-connect</guid>
            <pubDate>Tue, 02 Apr 2024 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<h1 id="github-推送失败网络连接问题" tabindex="-1">GitHub 推送失败网络连接问题 <a class="header-anchor" href="#github-推送失败网络连接问题" aria-label="Permalink to “GitHub 推送失败网络连接问题”">&#8203;</a></h1>
<p>最近换了电脑，果然又出现此网络问题了。</p>
<p>简单来说，出现此问题的原因是 22 端口被禁了，需要切换到 443 端口，下面是解决办法：</p>
<h2 id="第一步-有梯子" tabindex="-1">第一步：有梯子 <a class="header-anchor" href="#第一步-有梯子" aria-label="Permalink to “第一步：有梯子”">&#8203;</a></h2>
<p>这儿就不多介绍了，能推送代码到 GitHub ，大概率会有梯子。</p>
<h2 id="第二步-配置-github-的-ssh-连接-通过-443-端口" tabindex="-1">第二步：配置 GitHub 的 SSH 连接（通过 443 端口） <a class="header-anchor" href="#第二步-配置-github-的-ssh-连接-通过-443-端口" aria-label="Permalink to “第二步：配置 GitHub 的 SSH 连接（通过 443 端口）”">&#8203;</a></h2>
<p>创建或编辑 ~/.ssh/config，写入以下内容：</p>
<div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span>Host github.com</span></span>
<span class="line"><span>  Hostname ssh.github.com</span></span>
<span class="line"><span>  Port 443</span></span></code></pre>
</div><p>然后执行以下命令，并按提示输入 yes 即可</p>
<div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">ssh</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -T</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> git@github.com</span></span></code></pre>
</div><div  class="tip custom-block"><p class="custom-block-title">注意</p>
<ul>
<li><code>~</code> 在 macOS 中，代表 <code>/Users/username</code>,  在 Windows 下，代表 <code>C:\Users\username</code></li>
<li>默认是看不到 <code>.ssh</code>, 需要手动显示隐藏的文件</li>
</ul>
</div>
<h2 id="吐槽一下" tabindex="-1">吐槽一下 <a class="header-anchor" href="#吐槽一下" aria-label="Permalink to “吐槽一下”">&#8203;</a></h2>
<p>在这儿偷偷吐槽一下，生活在中国大陆的程序员太不容易了，与各种网络问题缠斗，心太累了……</p>
]]></content:encoded>
        </item>
    </channel>
</rss>