Files
blog/docusaurus-搭建/index.html
github-actions[bot] 1a94de4293 deploy: 8d0db7d953
2025-08-08 17:28:55 +08:00

124 lines
23 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html><html lang=zh dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width"><link rel=icon type=image/png href=https://zopiya.com/favicon-96x96.png sizes=96x96><link rel=icon type=image/svg+xml href=https://zopiya.com/favicon.svg><link rel="shortcut icon" href=https://zopiya.com/favicon.ico><link rel=apple-touch-icon sizes=180x180 href=https://zopiya.com/apple-touch-icon.png><meta name=apple-mobile-web-app-title content="仲平"><link rel=manifest href=https://zopiya.com/site.webmanifest><link rel=“icon” type=“image/png” href=“/favicon-96x96.png” sizes=“96x96”><link rel=“icon” type=“image/svg+xml” href=“/favicon.svg”><link rel=“快捷方式图标” href=“/favicon.ico”><link rel=“apple-touch-icon” sizes=“180x180” href=“/apple-touch-icon.png”><meta name=“apple-mobile-web-app-title” content=“仲平”><link rel=“manifest” href=“/site.webmanifest”><meta name=description content="如何使用 Docusaurus 搭建个人知识库网站。"><title>Docusaurus 搭建 | 仲平
</title><link rel=canonical href=https://zopiya.com/docusaurus-%E6%90%AD%E5%BB%BA/><meta property="og:url" content="https://zopiya.com/docusaurus-%E6%90%AD%E5%BB%BA/"><meta property="og:site_name" content="仲平"><meta property="og:title" content="Docusaurus 搭建"><meta property="og:description" content="如何使用 Docusaurus 搭建个人知识库网站。"><meta property="og:locale" content="zh"><meta property="og:type" content="article"><meta property="article:section" content="posts"><meta property="article:published_time" content="2023-06-28T00:00:00+00:00"><meta property="article:modified_time" content="2023-06-28T00:00:00+00:00"><meta property="article:tag" content="Project/数字文具盒"><meta property="article:tag" content="Blog/开源"><meta property="article:tag" content="Personal/Blog"><link rel=stylesheet href=https://zopiya.com/assets/combined.min.f1aee465a086a02027fd0b1fb97eaf7863c90d434ec462272e1849cc875f12cc.css media=all><script async defer data-website-id=91fd7346-f191-4484-943c-f6884fb2ab07 src=https://umami.7wate.org/script.js></script></head><body class=auto><div class=content><header><div class=header></div></header><main class=main><div class=breadcrumbs><a href=https://zopiya.com/>首页</a><span class=breadcrumbs-separator>/</span><a href=https://zopiya.com/posts/>文辑</a><span class=breadcrumbs-separator>/</span>
<a href=https://zopiya.com/docusaurus-%E6%90%AD%E5%BB%BA/>Docusaurus 搭建</a></div><div><div class=single-intro-container><h1 class=single-title>Docusaurus 搭建</h1><p class=single-readtime><time datetime=2023-06-28T00:00:00+00:00>癸卯年六月廿八日 · </time>弹指可览</p><div class=single-content><p>Docusaurus 是一款<strong>静态站点生成器</strong>。 可以搭建带有快速客户端导航的<strong>单页应用</strong>,充分利用了 <strong>React</strong>,让你的网站具有交互能力。 它提供了开箱即用的<strong>文档功能</strong>,不过也可用于搭建<strong>各种网站</strong>:个人网站、产品、博客、营销主页等等。</p><p>当下个人知识的整理归纳已经及其重要了,废话不多说。可以先体验一下我的个人 wiki<a href=https://wiki.7wate.com/>https://wiki.7wate.com/</a>,相信我你一定会爱上它!</p><h2 class=heading id=安装>安装
<a class=anchor href=#%e5%ae%89%e8%a3%85>#</a></h2><ul><li><p><a href=https://docusaurus.io/>Docusaurus 官网</a></p></li><li><p><a href=https://docusaurus.io/zh-CN/docs>Docusaurus 官网(中文版)</a></p></li></ul><p>因为<strong>中国官网文档更新相对滞后</strong>,所以这里<strong>推荐使用英文官网</strong>,进入后<strong>选择中文</strong></p><h3 class=heading id=环境>环境
<a class=anchor href=#%e7%8e%af%e5%a2%83>#</a></h3><ul><li><p><a href=http://nodejs.cn/download/>Node.js (中文网)</a> <strong>v16.14</strong> 或以上版本</p></li><li><p>本文使用 <strong>Docusaurus 2.0.0-rc.1</strong> 作为演示</p></li></ul><h3 class=heading id=初始化>初始化
<a class=anchor href=#%e5%88%9d%e5%a7%8b%e5%8c%96>#</a></h3><p>使用命令行工具可以帮助你快速简单地安装 Docusaurus 并搭建网站框架。 你可以在空仓库或现有仓库的任何地方运行这个命令,它会创建一个包含模板文件的新目录。</p><div class=highlight><pre tabindex=0 style=background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>npx create-docusaurus@latest my-website classic
</span></span></code></pre></div><h3 class=heading id=项目结构>项目结构
<a class=anchor href=#%e9%a1%b9%e7%9b%ae%e7%bb%93%e6%9e%84>#</a></h3><p>命令行工具成功运行后,你将会在新目录 <code>my-website/</code> 下看到下列文件:</p><div class=highlight><pre tabindex=0 style=background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-markdown data-lang=markdown><span style=display:flex><span>
</span></span><span style=display:flex><span>my-website
</span></span><span style=display:flex><span>├── blog
</span></span><span style=display:flex><span>  ├── 2019-05-28-hola.md
</span></span><span style=display:flex><span>  ├── 2019-05-29-hello-world.md
</span></span><span style=display:flex><span>  └── 2020-05-30-welcome.md
</span></span><span style=display:flex><span>├── docs
</span></span><span style=display:flex><span>  ├── doc1.md
</span></span><span style=display:flex><span>  ├── doc2.md
</span></span><span style=display:flex><span>  ├── doc3.md
</span></span><span style=display:flex><span>  └── mdx.md
</span></span><span style=display:flex><span>├── src
</span></span><span style=display:flex><span>  ├── css
</span></span><span style=display:flex><span>   └── custom.css
</span></span><span style=display:flex><span>  └── pages
</span></span><span style=display:flex><span>      ├── styles.module.css
</span></span><span style=display:flex><span>      └── index.js
</span></span><span style=display:flex><span>├── static
</span></span><span style=display:flex><span>  └── img
</span></span><span style=display:flex><span>├── docusaurus.config.js
</span></span><span style=display:flex><span>├── package.json
</span></span><span style=display:flex><span>├── README.md
</span></span><span style=display:flex><span>├── sidebars.js
</span></span><span style=display:flex><span>└── yarn.lock
</span></span></code></pre></div><ul><li><p><code>/blog/</code>:包含博客的 Markdown 文件。</p></li><li><p><code>/docs/</code>:包含文档的 Markdown 文件。</p></li><li><p><code>/src/</code>:如页面或自定义 React 组件一类的非文档文件。</p></li></ul><p>  - <code>/src/pages</code> - 所有放在此目录中的 JSX/TSX/MDX 文件都会被转换成网站页面。</p><ul><li><p><code>/static/</code> - 静态目录。</p></li><li><p><code>/docusaurus.config.js</code> - 站点配置文件。</p></li><li><p><code>/package.json</code> - Docusaurus 网站是一个 React 应用。 你可以安装并使用任何 npm 包。</p></li><li><p><code>/sidebars.js</code> - 由文档使用,用于指定侧边栏中的文档顺序。</p></li></ul><h3 class=heading id=运行网站>运行网站
<a class=anchor href=#%e8%bf%90%e8%a1%8c%e7%bd%91%e7%ab%99>#</a></h3><div class=highlight><pre tabindex=0 style=background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span><span style=font-weight:700;font-style:italic>cd</span> my-website
</span></span><span style=display:flex><span>npm run start
</span></span></code></pre></div><p>默认情况下,浏览器会自动打开 <a href=http://localhost:3000>http://localhost:3000</a> 的新窗口。</p><p><figure><div><img loading=lazy alt=站点首页 src=https://static.7wate.com/img/2022/07/27/13c9cd02b370f.png></div></figure></p><h3 class=heading id=项目构建>项目构建
<a class=anchor href=#%e9%a1%b9%e7%9b%ae%e6%9e%84%e5%bb%ba>#</a></h3><div class=highlight><pre tabindex=0 style=background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>npm run build
</span></span></code></pre></div><p>网站内容会被生成在 <code>/build</code> 目录中,随后可以被上传到 <a href=https://pages.github.com/>GitHub Pages</a><a href=https://vercel.com/>Vercel</a><a href=https://www.netlify.com/>Netlify</a> 等静态网页托管服务。</p><h2 class=heading id=配置>配置
<a class=anchor href=#%e9%85%8d%e7%bd%ae>#</a></h2><p>配置文件为项目目录下 <strong>docusaurus.config.js</strong>,配置字段官方文档:<a href=https://docusaurus.io/zh-CN/docs/api/docusaurus-config>点击打开</a></p><p>一定要参考官方文档,因为项目组贡献者有一位厉害的中国大学生,所以中文文档更新很及时。</p><h3 class=heading id=设置中文>设置中文
<a class=anchor href=#%e8%ae%be%e7%bd%ae%e4%b8%ad%e6%96%87>#</a></h3><p>docusaurus.config.js 中找到 i18n 配置节点,如下是原配置(其实看得懂英文就知道咋改 🤣):</p><div class=highlight><pre tabindex=0 style=background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span><span style=color:#888;font-style:italic>// Even if you don&#39;t use internalization, you can use this field to set useful
</span></span></span><span style=display:flex><span><span style=color:#888;font-style:italic>// metadata like html lang. For example, if your site is Chinese, you may want
</span></span></span><span style=display:flex><span><span style=color:#888;font-style:italic>// to replace &#34;en&#34; with &#34;zh-Hans&#34;.
</span></span></span><span style=display:flex><span><span style=color:#888;font-style:italic></span><span>i</span>18<span>n:</span> {
</span></span><span style=display:flex><span>  <span>defaultLocale:</span> <span>&#39;en&#39;,</span>
</span></span><span style=display:flex><span>  <span>locales:</span> <span>[&#39;en&#39;],</span>
</span></span><span style=display:flex><span>}<span>,</span>
</span></span></code></pre></div><p>修改为如下配置设置为中文:</p><div class=highlight><pre tabindex=0 style=background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span><span>i</span>18<span>n:</span> {
</span></span><span style=display:flex><span>  <span>defaultLocale:</span> &#34;zh-Hans&#34;,
</span></span><span style=display:flex><span>  <span>locales:</span> <span>[</span>&#34;zh-Hans&#34;<span>]</span>,
</span></span><span style=display:flex><span>}<span>,</span>
</span></span></code></pre></div><h2 class=heading id=搜索>搜索
<a class=anchor href=#%e6%90%9c%e7%b4%a2>#</a></h2><p>在使用官方插件中 Algolia DocSearch 搜索时候,会有几率踩坑,可以参考我的部署经验。</p><ol><li><p>正确启用 sitemap 插件,参考文档:<a href=https://docusaurus.io/zh-CN/docs/api/plugins/@docusaurus/plugin-sitemap>sitemap 插件</a></p></li><li><p>正确启用 Algolia DocSearch 插件,参考文档:<a href=https://docusaurus.io/zh-CN/docs/api/themes/@docusaurus/theme-search-algolia>Algolia DocSearch 插件</a></p></li><li><p>构建项目,<strong>确认插件是否显示</strong></p></li></ol><h3 class=heading id=注册账号>注册账号
<a class=anchor href=#%e6%b3%a8%e5%86%8c%e8%b4%a6%e5%8f%b7>#</a></h3><p><a href=https://www.algolia.com/>Algolia官网</a> 注册账号后,打开控制台新建数据源,填写数据名(<strong>后面会用到</strong>),并选择免费计划。</p><p><figure><div><img loading=lazy alt=新建数据源 src=https://static.7wate.com/img/2022/07/27/c249ea1971f87.png></div></figure></p><p><figure><div><img loading=lazy alt=免费计划 src=https://static.7wate.com/img/2022/07/27/4b2daf39e8a1f.png></div></figure></p><h3 class=heading id=获取-api-keys>获取 API Keys
<a class=anchor href=#%e8%8e%b7%e5%8f%96-api-keys>#</a></h3><p>控制台打开设置页面,点击 API keys拷贝 <strong>Application ID、Search-Only API Key、Admin API Key</strong></p><p><figure><div><img loading=lazy alt=打开密钥页面 src=https://static.7wate.com/img/2022/07/27/7d53ade2658b4.png></div></figure></p><p><figure><div><img loading=lazy alt="Key 页面" src=https://static.7wate.com/img/2022/07/27/6f7717de46944.png></div></figure></p><h3 class=heading id=配置-docusaurus>配置 Docusaurus
<a class=anchor href=#%e9%85%8d%e7%bd%ae-docusaurus>#</a></h3><p>打开项目配置文件 docusaurus.config.js填写如下配置</p><div class=highlight><pre tabindex=0 style=background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span><span>module.exports</span> <span>=</span> {
</span></span><span style=display:flex><span>  <span style=color:#888;font-style:italic>// ...
</span></span></span><span style=display:flex><span><span style=color:#888;font-style:italic></span>  <span>themeConfig:</span> <span>{</span>
</span></span><span style=display:flex><span>    <span style=color:#888;font-style:italic>// ...
</span></span></span><span style=display:flex><span><span style=color:#888;font-style:italic></span> <span>algolia:</span> <span>{</span>
</span></span><span style=display:flex><span>  <span>apiKey:</span> &#34;Search-Only API Key&#34;,
</span></span><span style=display:flex><span>  <span>appId:</span> &#34;Application ID&#34;,
</span></span><span style=display:flex><span>  <span>indexName:</span> &#34;数据源名称&#34;,
</span></span><span style=display:flex><span> }<span>,</span>
</span></span><span style=display:flex><span>  <span>}</span>
</span></span><span style=display:flex><span><span>}</span>
</span></span></code></pre></div><h3 class=heading id=推送数据>推送数据
<a class=anchor href=#%e6%8e%a8%e9%80%81%e6%95%b0%e6%8d%ae>#</a></h3><p>由于 Algolia 限制开源项目才可以免费试用爬虫,所以我们要自己推送数据。需要如下环境:</p><ul><li><p>Docker谷歌一堆安装教程</p></li><li><p>jq使用包管理器直接安装</p></li></ul><p>环境安装好以后,按照如下步骤操作:</p><h4 class=heading id=1-新建-env-文件键值不带双引号>1. 新建 .env 文件(键值不带双引号)
<a class=anchor href=#1-%e6%96%b0%e5%bb%ba-env-%e6%96%87%e4%bb%b6%e9%94%ae%e5%80%bc%e4%b8%8d%e5%b8%a6%e5%8f%8c%e5%bc%95%e5%8f%b7>#</a></h4><div class=highlight><pre tabindex=0 style=background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span><span style=color:#666;font-weight:700;font-style:italic>APPLICATION_ID</span>=Application ID
</span></span><span style=display:flex><span><span style=color:#666;font-weight:700;font-style:italic>API_KEY</span>=Admin API Key
</span></span></code></pre></div><h4 class=heading id=2-新建-docsearchjson爬虫配置文件>2. 新建 docsearch.json爬虫配置文件
<a class=anchor href=#2-%e6%96%b0%e5%bb%ba-docsearchjson%e7%88%ac%e8%99%ab%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6>#</a></h4><div class=highlight><pre tabindex=0 style=background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span>  &#34;index_name&#34;: <span style=color:#666;font-style:italic>&#34;wiki&#34;</span>,
</span></span><span style=display:flex><span>  &#34;start_urls&#34;: [
</span></span><span style=display:flex><span>    <span style=color:#666;font-style:italic>&#34;https://wiki.7wate.com/&#34;</span>     <span>#</span> <span>wiki</span> <span>网址</span>
</span></span><span style=display:flex><span>  ],
</span></span><span style=display:flex><span>  &#34;sitemap_urls&#34;: [
</span></span><span style=display:flex><span>    <span style=color:#666;font-style:italic>&#34;https://wiki.7wate.com/sitemap.xml&#34;</span>  <span>#</span> <span>sitemap.xml</span> <span>地址</span>
</span></span><span style=display:flex><span>  ],
</span></span><span style=display:flex><span>  &#34;stop_urls&#34;: [
</span></span><span style=display:flex><span>    <span style=color:#666;font-style:italic>&#34;/search&#34;</span>,
</span></span><span style=display:flex><span>    <span style=color:#666;font-style:italic>&#34;/v3me&#34;</span>,
</span></span><span style=display:flex><span>    <span style=color:#666;font-style:italic>&#34;/playground&#34;</span>,
</span></span><span style=display:flex><span>    <span style=color:#666;font-style:italic>&#34;/inspector&#34;</span>
</span></span><span style=display:flex><span>  ],
</span></span><span style=display:flex><span>  &#34;sitemap_alternate_links&#34;: <span style=font-weight:700;text-decoration:underline>true</span>,
</span></span><span style=display:flex><span>  &#34;selectors&#34;: {
</span></span><span style=display:flex><span>    &#34;lvl0&#34;: {
</span></span><span style=display:flex><span>      &#34;selector&#34;: <span style=color:#666;font-style:italic>&#34;(//ul[contains(@class,&#39;menu__list&#39;)]//a[contains(@class, &#39;menu__link menu__link--sublist menu__link--active&#39;)]/text() | //nav[contains(@class, &#39;navbar&#39;)]//a[contains(@class, &#39;navbar__link--active&#39;)]/text())[last()]&#34;</span>,
</span></span><span style=display:flex><span>      &#34;type&#34;: <span style=color:#666;font-style:italic>&#34;xpath&#34;</span>,
</span></span><span style=display:flex><span>      &#34;global&#34;: <span style=font-weight:700;text-decoration:underline>true</span>,
</span></span><span style=display:flex><span>      &#34;default_value&#34;: <span style=color:#666;font-style:italic>&#34;Documentation&#34;</span>
</span></span><span style=display:flex><span>    },
</span></span><span style=display:flex><span>    &#34;lvl1&#34;: <span style=color:#666;font-style:italic>&#34;header h1&#34;</span>,
</span></span><span style=display:flex><span>    &#34;lvl2&#34;: <span style=color:#666;font-style:italic>&#34;article h2&#34;</span>,
</span></span><span style=display:flex><span>    &#34;lvl3&#34;: <span style=color:#666;font-style:italic>&#34;article h3&#34;</span>,
</span></span><span style=display:flex><span>    &#34;lvl4&#34;: <span style=color:#666;font-style:italic>&#34;article h4&#34;</span>,
</span></span><span style=display:flex><span>    &#34;lvl5&#34;: <span style=color:#666;font-style:italic>&#34;article h5, article td:first-child&#34;</span>,
</span></span><span style=display:flex><span>    &#34;lvl6&#34;: <span style=color:#666;font-style:italic>&#34;article h6&#34;</span>,
</span></span><span style=display:flex><span>    &#34;text&#34;: <span style=color:#666;font-style:italic>&#34;article p, article li, article td:last-child&#34;</span>
</span></span><span style=display:flex><span>  },
</span></span><span style=display:flex><span>  &#34;strip_chars&#34;: <span style=color:#666;font-style:italic>&#34; .,;:#&#34;</span>,
</span></span><span style=display:flex><span>  &#34;custom_settings&#34;: {
</span></span><span style=display:flex><span>    &#34;separatorsToIndex&#34;: <span style=color:#666;font-style:italic>&#34;_&#34;</span>,
</span></span><span style=display:flex><span>    &#34;attributesForFaceting&#34;: [
</span></span><span style=display:flex><span>      <span style=color:#666;font-style:italic>&#34;language&#34;</span>,
</span></span><span style=display:flex><span>      <span style=color:#666;font-style:italic>&#34;version&#34;</span>,
</span></span><span style=display:flex><span>      <span style=color:#666;font-style:italic>&#34;type&#34;</span>,
</span></span><span style=display:flex><span>      <span style=color:#666;font-style:italic>&#34;docusaurus_tag&#34;</span>
</span></span><span style=display:flex><span>    ],
</span></span><span style=display:flex><span>    &#34;attributesToRetrieve&#34;: [
</span></span><span style=display:flex><span>      <span style=color:#666;font-style:italic>&#34;hierarchy&#34;</span>,
</span></span><span style=display:flex><span>      <span style=color:#666;font-style:italic>&#34;content&#34;</span>,
</span></span><span style=display:flex><span>      <span style=color:#666;font-style:italic>&#34;anchor&#34;</span>,
</span></span><span style=display:flex><span>      <span style=color:#666;font-style:italic>&#34;url&#34;</span>,
</span></span><span style=display:flex><span>      <span style=color:#666;font-style:italic>&#34;url_without_anchor&#34;</span>,
</span></span><span style=display:flex><span>      <span style=color:#666;font-style:italic>&#34;type&#34;</span>
</span></span><span style=display:flex><span>    ]
</span></span><span style=display:flex><span>  },
</span></span><span style=display:flex><span>  &#34;js_render&#34;: <span style=font-weight:700;text-decoration:underline>true</span>,
</span></span><span style=display:flex><span>  &#34;nb_hits&#34;: 856
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><h4 class=heading id=3-运行-docker>3. 运行 Docker
<a class=anchor href=#3-%e8%bf%90%e8%a1%8c-docker>#</a></h4><div class=highlight><pre tabindex=0 style=background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker run -it --env-file=.env -e <span style=color:#666;font-style:italic>&#34;CONFIG=</span><span style=font-weight:700;text-decoration:underline>$(</span>cat docsearch.json | jq -r tostring<span style=font-weight:700;text-decoration:underline>)</span><span style=color:#666;font-style:italic>&#34;</span> algolia/docsearch-scraper
</span></span></code></pre></div><p><figure><div><img loading=lazy alt=image-20220727191725309 src=https://static.7wate.com/img/2022/07/27/783c79aea020d.png></div></figure></p><p>如果数据抓取异常,推送到 algolia 的索引条目过少。可以尝试多次运行 Docker即可解决。至于为什么我也不知道反正就能搞定 ~</p><h2 class=heading id=总结>总结
<a class=anchor href=#%e6%80%bb%e7%bb%93>#</a></h2><p>如果想要稳定运行项目,请务必一定<strong>仔细阅读官方文档</strong>。官方文档维护的相当好,主要就是 algolia 搜索哪里,刚开始很容易无从下手……</p><p>因为被 Docusaurus 官方 Showcase 收录了,所以产出一篇文章推广一下 ~</p><p>更多优秀 Docusaurus 站点请访问:<a href="https://docusaurus.io/showcase?tags=personal">展示站点</a></p></div><div class=single-pagination><hr><div class=flexnowrap><div class=single-pagination-prev><div class=single-pagination-container-prev><div class=single-pagination-text></div><div class=single-pagination-text><a href=https://zopiya.com/%E6%9C%80%E8%BF%91%E5%8D%8A%E5%B9%B4%E7%9A%84%E7%94%9F%E6%B4%BB/>最近半年的生活</a></div></div></div><div class=single-pagination-next><div class=single-pagination-container-next><div class=single-pagination-text><a href=https://zopiya.com/%E5%86%99%E5%8D%9A%E5%AE%A2%E7%9A%84%E6%AD%A3%E7%A1%AE%E5%A7%BF%E5%8A%BF/>写博客的正确姿势</a></div><div class=single-pagination-text></div></div></div></div><hr></div><div class=back-to-top><a href=#top>◈ 扶摇直上 ◈</a></div></div></main></div><footer><p>© 2025 仲平. All rights reserved.</p></footer></body><script src=https://zopiya.com/js/theme-switch.js></script><script defer src=https://zopiya.com/js/copy-code.js></script></html>