<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>夢酷 の Blog</title><description>MengKu</description><link>https://blog.mengku.shop/</link><language>zh_CN</language><item><title>文章更新提醒功能食用指南 - 超级牛逼！</title><link>https://blog.mengku.shop/posts/post-diff-guide/</link><guid isPermaLink="true">https://blog.mengku.shop/posts/post-diff-guide/</guid><description>也就是右下角那个超级牛逼的小铃铛，到底该怎么用？</description><pubDate>Sat, 21 Feb 2026 17:32:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;没错，就是你现在看到的右下角那个并不起眼的小铃铛。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;你可能已经注意到了，最近博客右下角多了一个小铃铛图标。这并不是什么订阅推送（虽然它长得很像），而是一个&lt;strong&gt;基于客户端的文章更新检测系统&lt;/strong&gt;。&lt;/p&gt;
&lt;h1&gt;为什么要搞这个？&lt;/h1&gt;
&lt;p&gt;很多时候，我们写完一篇文章后，可能会发现有错别字，或者某些观点需要补充，甚至是因为某些原因需要删改内容。&lt;/p&gt;
&lt;p&gt;对于读者（也就是你）来说，如果你之前看过这篇文章，再次点进来时，可能很难发现到底哪里变了。是改了个标点？还是加了一大段干货？&lt;/p&gt;
&lt;p&gt;为了解决这个“找不同”的难题，我们引入了这个功能。它会记录你上次访问时的文章版本，并在你下次访问时，自动对比服务器上的最新版本，告诉你：&lt;strong&gt;这篇文章变了，具体变在哪。&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;食用方法&lt;/h1&gt;
&lt;p&gt;其实非常简单，整个流程完全自动化，不需要你手动做任何操作。&lt;/p&gt;
&lt;h2&gt;1. 发现更新&lt;/h2&gt;
&lt;p&gt;当你浏览博客时，系统会自动在后台获取最新的 RSS 订阅源，并与你本地缓存的文章记录进行比对。&lt;/p&gt;
&lt;p&gt;如果发现了有文章更新（无论是内容、标题还是描述），右下角的小铃铛就会出现一个&lt;strong&gt;红点&lt;/strong&gt;，并且会有一个入场动画提醒你“有新东西了”。&lt;/p&gt;
&lt;h2&gt;2. 查看列表&lt;/h2&gt;
&lt;p&gt;点击小铃铛，会弹出一个面板，列出所有有变动的文章。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;新文章&lt;/strong&gt;：带有一个绿色的 &lt;code&gt;NEW&lt;/code&gt; 标签，表示这是你上次访问以来新发布的文章。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;更新&lt;/strong&gt;：带有一个蓝色的 &lt;code&gt;UPDATE&lt;/code&gt; 标签，表示这篇文章你之前可能看过（或者它存在于你的缓存中），但现在它有了新的变化。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;3. 查看 DIFF&lt;/h2&gt;
&lt;p&gt;这是最核心的功能。点击带有 &lt;code&gt;UPDATE&lt;/code&gt; 标签的文章标题，浏览器会直接跳转到该文章，并自动滚动到&lt;strong&gt;第一个变更点&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;在文章正文中，你会看到类似代码编辑器的 DIFF 效果：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;lt;span style=&quot;color:rgb(220 38 38);text-decoration:line-through&quot;&amp;gt;红色划线部分&amp;lt;/span&amp;gt;：表示被删除或修改前的内容。&lt;/li&gt;
&lt;li&gt;&amp;lt;span style=&quot;color:rgb(22 163 74);text-decoration:underline&quot;&amp;gt;绿色下划线部分&amp;lt;/span&amp;gt;：表示新增或修改后的内容。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]
如果变更内容较多，我们只会显示变更点附近的几行文字作为上下文（Context），其余未变动的部分会保持原样，不会干扰你的正常阅读。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;常见问题&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q: 为什么我没看到小铃铛？&lt;/strong&gt;
A: 如果没有检测到任何新文章或更新，小铃铛会默认隐藏，以免打扰你阅读。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: 为什么有时候明明文章没变化，却提示更新了？&lt;/strong&gt;
A: 系统不仅检测正文，还会检测标题和描述。有时候我可能只是改了个标点，或者修正了排版，也会触发更新通知。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: 我不想看这些红红绿绿的线了怎么办？&lt;/strong&gt;
A: 在小铃铛面板右上角，有一个&lt;strong&gt;清空&lt;/strong&gt;按钮（垃圾桶图标）。点击它，系统会将当前所有文章标记为“已读/最新”，并清空本地的对比记录。下次再有新变化时，才会再次提醒。&lt;/p&gt;
</content:encoded></item><item><title>网站加友链的最佳姿势是什么？当然是自动化啦！</title><link>https://blog.mengku.shop/posts/auto-pr-link/</link><guid isPermaLink="true">https://blog.mengku.shop/posts/auto-pr-link/</guid><description>如果你经常一觉醒来就看到一堆友链 PR，还得逐个检查格式、顺手帮对方修语法错误，那把这件事自动化确实会轻松很多。</description><pubDate>Tue, 17 Feb 2026 22:41:17 GMT</pubDate><content:encoded>&lt;h1&gt;起因&lt;/h1&gt;
&lt;p&gt;正如很多站长都会遇到的那样，如果你通过 PR 来处理友链申请，尤其是在完全没有自动化的情况下，大概率会遇到下面这种场面：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/auto-pr-link-1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;数量多其实还不是最麻烦的，真正麻烦的是：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/auto-pr-link-2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;以及各种格式问题。&lt;/p&gt;
&lt;p&gt;是的，我甚至都没有设计什么复杂格式，但很多人提交友链时，连 JSON 都写不明白。上图是忘了引号，下图则连 &lt;code&gt;.json&lt;/code&gt; 后缀都没写对。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/auto-pr-link-3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;很长一段时间里，这些小问题我都是手动帮忙修的，毕竟看起来都不算大事。&lt;/p&gt;
&lt;p&gt;但问题在于：当你正在打游戏，或者正忙着处理别的事情时，突然弹出一个友链 PR，你到底是现在处理，还是留到之后集中处理？无论怎么选，都挺打断节奏。&lt;/p&gt;
&lt;p&gt;所以我就在想：有没有办法把这件事尽可能自动化掉？&lt;/p&gt;
&lt;h1&gt;正式开始&lt;/h1&gt;
&lt;p&gt;我们能不能用 GitHub Action 来自动化这件事？&lt;/p&gt;
&lt;p&gt;思路是这样的：让用户在提交友链时额外填写一个回链字段，然后由 GitHub Action 实际检测是否存在回链。这样不仅能确认对方确实添加了你的友链，也能顺便完成一次所有权验证。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/auto-pr-link-11.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;h1&gt;正式开始（旧的）&lt;/h1&gt;
&lt;p&gt;我们可以先把整个流程拆开来想一遍。&lt;/p&gt;
&lt;p&gt;GitHub Action 本来就是用来处理这类自动化任务的，这不正好符合我们的需求吗？甚至还可以顺手做一些更高级的事情，比如所有权验证，某种程度上和站长平台验证域名的思路很像。&lt;/p&gt;
&lt;p&gt;于是，整体流程草图很快就出来了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/auto-pr-link-4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;接下来再把这份思路交给 AI 帮忙整理实现。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/auto-pr-link-5.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;最终你就得到了&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/auto-pr-link-6.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;没关系，前期看起来乱一点很正常，毕竟 GitHub Action 这类流程很多时候只能在真实环境里慢慢调试。&lt;/p&gt;
&lt;p&gt;最终我们就会得到...&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/auto-pr-link-7.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;看起来是不是很简单？其实并没有。现在看到的这套流程虽然表面上还算清晰，但也是反复梳理和修改之后，才勉强打磨到“基本能用”的状态。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/auto-pr-link-8.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;下面再说一些非常容易踩坑的地方。&lt;/p&gt;
&lt;h1&gt;踩坑&lt;/h1&gt;
&lt;p&gt;首先，这整套架构虽然最终看起来还算清晰，但实际逻辑并不简单。要是一次就能跑通，那已经算运气很好了；一旦中间某一步出问题，排查起来会相当痛苦。&lt;/p&gt;
&lt;p&gt;所以在多次调整架构之后，我最终决定直接使用 GitHub 的标签系统来跟踪进度并锚定规则。&lt;/p&gt;
&lt;p&gt;每一步都给 PR 打上明确的标签，就像这样：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/auto-pr-link-9.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;这样做的好处是，不仅在外部一眼就能看出某个 PR 卡在哪一步，也能让你在不额外写复杂日志的情况下，大致判断问题出在哪里。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/auto-pr-link-10.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;接下来是所有权验证。这个环节其实必须做好错误处理，因为它往往无法一次性顺利跑到底。借助 GitHub 标签，我们可以控制某些步骤是否跳过，从而避免验证文件被重复要求，或者每次都随机生成一个新的文件。&lt;/p&gt;
&lt;p&gt;只要打上 &lt;code&gt;所有权验证进行中&lt;/code&gt; 这个标签，Action 就会去寻找之前已经创建好的验证文件，而不是重新生成一个新的。&lt;/p&gt;
&lt;p&gt;到这里看起来还只是基本功，但后面还有一个更关键的问题。&lt;/p&gt;
&lt;p&gt;我发现，只要是从外部仓库拉进来的 PR，Action 就没法直接通过 &lt;code&gt;GITHUB_TOKEN&lt;/code&gt; 去合并它。不过这个问题也不算麻烦，额外创建一个自己的个人访问令牌（PAT），再把它绑定到 Action 中即可。&lt;/p&gt;
&lt;p&gt;至此，这套自动化流程终于能比较顺畅地跑起来了。&lt;/p&gt;
</content:encoded></item><item><title>Fuwari静态博客搭建教程</title><link>https://blog.mengku.shop/posts/fuwari/</link><guid isPermaLink="true">https://blog.mengku.shop/posts/fuwari/</guid><description>Fuwari 是一个静态博客框架，配合 Cloudflare Pages 可以快速搭建一个轻量、安全且易维护的个人博客</description><pubDate>Tue, 16 Sep 2025 16:00:00 GMT</pubDate><content:encoded>&lt;h3&gt;你需要准备的东西&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;一点基础的折腾能力。遇到问题先自己排查，实在解决不了再搜索或借助 AI，这样搭建过程会顺利很多。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://git-scm.com/downloads&quot;&gt;Git - Downloads (git-scm.com)&lt;/a&gt;：用于管理本地代码并与 GitHub 仓库同步。如果你更习惯图形界面，也可以尝试 &lt;a href=&quot;https://github.com/apps/desktop&quot;&gt;GitHub Desktop | Simple collaboration from your desktop&lt;/a&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en&quot;&gt;Node.js — Run JavaScript Everywhere (nodejs.org)&lt;/a&gt;：Fuwari 基于 Node.js，因此需要先安装它。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;一个 &lt;a href=&quot;https://github.com&quot;&gt;GitHub&lt;/a&gt; 账号：用于创建仓库并托管 Fuwari 项目文件。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;一个 &lt;a href=&quot;https://cloudflare.com&quot;&gt;Cloudflare&lt;/a&gt; 账号：用于创建 Pages 项目并绑定域名。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;/posts/obsidian/&quot;&gt;黑曜石（Obsidian）&lt;/a&gt;：这是一个可视化 Markdown 编辑器。由于 Fuwari 的文章和页面都以 Markdown 文件保存，准备一个顺手的编辑器会方便很多。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;需要会一些基础的 Markdown 语法。如果暂时不熟悉，可以先看这个教程：&lt;a href=&quot;https://markdown.com.cn/basic-syntax/&quot;&gt;Markdown 基本语法 | Markdown 官方教程&lt;/a&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;流程图&lt;/h3&gt;
&lt;p&gt;本地部署Fuwari，编写文章 -&amp;gt; 推送更改到远程Github仓库 -&amp;gt; Cloudflare Pages检测到仓库更新自动构建新的网站静态文件 -&amp;gt; 网站成功更改&lt;/p&gt;
&lt;h3&gt;让我们开始吧&lt;/h3&gt;
&lt;h4&gt;首先，在本地部署 Fuwari&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Fork仓库：&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/saicaca/fuwari&quot;&gt;https://github.com/saicaca/fuwari&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果你不熟悉 Fork 仓库的流程，可以参考下面的图片教程。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/2024-10-14-12-15-44-image.webp&quot; alt=&quot;&quot; /&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/2024-10-14-12-17-03-image.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;然后将仓库克隆到本地：&lt;code&gt;git clone &amp;lt;你的仓库URL&amp;gt;&lt;/code&gt;。如果可以使用 SSH，后续推送通常会更方便。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;先全局安装 &lt;code&gt;pnpm&lt;/code&gt;：&lt;code&gt;npm install -g pnpm&lt;/code&gt;。如果 npm 在国内下载较慢，可以尝试切换镜像源，例如 &lt;a href=&quot;https://npmmirror.com/&quot;&gt;npmmirror 镜像站&lt;/a&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;接着在项目根目录安装依赖：&lt;code&gt;pnpm install&lt;/code&gt; 和 &lt;code&gt;pnpm add sharp&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;完成以上步骤后，Fuwari 就已经成功部署到本地了。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]&lt;/p&gt;
&lt;p&gt;你也可以使用创建一个新的空仓库然后手动上传文件，并且可以将仓库可见性设为：Private&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;改写Fuwari的基本信息并且清理多余文件&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;刚创建的 Fuwari 可能带有默认的博主名称、图标、链接、简介和示例文章。为了让站点更符合你的使用场景，建议先把这些内容改成自己的信息。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在根目录的 &lt;code&gt;src&lt;/code&gt; 文件夹中找到 &lt;code&gt;config.ts&lt;/code&gt;，这里是站点的核心配置文件。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;title：你的博客主标题&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;subtitle：你的博客副标题。可选，在首页会显示为“主标题 - 副标题”&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;lang：博客显示语言。注释里已经列出了一些常见值，例如 &lt;code&gt;en&lt;/code&gt;、&lt;code&gt;zh_CN&lt;/code&gt;、&lt;code&gt;zh_TW&lt;/code&gt;、&lt;code&gt;ja&lt;/code&gt;、&lt;code&gt;ko&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;themeColor：&lt;code&gt;hue&lt;/code&gt; 表示博客主题色。你可以先在博客右上角的调色板里挑选喜欢的颜色，再把数值写回配置中。&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/2024-10-15-09-16-30-image.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;banner：src：即banner图片，支持http/https URL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;favicon：src：即网站图标，支持http/https URL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;links：即友情链接，这些链接在导航栏上&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;avatar：你的头像&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;name：你的名字&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;bio：个性签名，会显示在头像和名字下方&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;NavBarConfig&lt;/code&gt; 用于配置导航栏链接，&lt;code&gt;ProfileConfig&lt;/code&gt; 用于配置个人资料区域的链接，效果如下图所示。&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/2024-10-15-17-49-30-image.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;icon：你可以前往 &lt;a href=&quot;https://icones.js.org/&quot;&gt;icones.js&lt;/a&gt; 搜索想要的图标。例如 QQ 可以填写 &lt;code&gt;fa6-brands:qq&lt;/code&gt;。Fuwari 默认支持 &lt;code&gt;fa6-brands&lt;/code&gt;、&lt;code&gt;fa6-regular&lt;/code&gt;、&lt;code&gt;fa6-solid&lt;/code&gt;、&lt;code&gt;material-symbols&lt;/code&gt; 等类型，必要时也可以在 &lt;code&gt;astro.config.mjs&lt;/code&gt; 中继续扩展。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/1ef05530-10fd-4301-af4e-21ddadf18605.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/da94494b-cc4b-4f07-ae95-8bf3b2f95d3c.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;这里我附上我的 &lt;code&gt;config.ts&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;pre&gt;&lt;code&gt;import type {
  LicenseConfig,
  NavBarConfig,
  ProfileConfig,
  SiteConfig,
} from &apos;./types/config&apos;
import { LinkPreset } from &apos;./types/config&apos;

export const siteConfig: SiteConfig = {
  title: &apos;AcoFork Blog&apos;,
  subtitle: &apos;爱你所爱！&apos;,
  lang: &apos;zh_CN&apos;,         // &apos;en&apos;, &apos;zh_CN&apos;, &apos;zh_TW&apos;, &apos;ja&apos;, &apos;ko&apos;
  themeColor: {
    hue: 355,         // Default hue for the theme color, from 0 to 360. e.g. red: 0, teal: 200, cyan: 250, pink: 345
    fixed: false,     // Hide the theme color picker for visitors
  },
  banner: {
    enable: true,
    src: &apos;https://eo-r2.2x.nz/myblog/img/222.webp&apos;,   // Relative to the /src directory. Relative to the /public directory if it starts with &apos;/&apos;
    position: &apos;center&apos;,      // Equivalent to object-position, only supports &apos;top&apos;, &apos;center&apos;, &apos;bottom&apos;. &apos;center&apos; by default
    credit: {
      enable: false,         // Display the credit text of the banner image
      text: &apos;&apos;,              // Credit text to be displayed
      url: &apos;&apos;                // (Optional) URL link to the original artwork or artist&apos;s page
    }
  },
  favicon: [    // Leave this array empty to use the default favicon
     {
       src: &apos;https://q2.qlogo.cn/headimg_dl?dst_uin=2973517380&amp;amp;spec=5&apos;,    // Path of the favicon, relative to the /public directory
       //theme: &apos;light&apos;,              // (Optional) Either &apos;light&apos; or &apos;dark&apos;, set only if you have different favicons for light and dark mode
       sizes: &apos;128x128&apos;,              // (Optional) Size of the favicon, set only if you have favicons of different sizes
     }
  ]
}

export const navBarConfig: NavBarConfig = {
  links: [
    LinkPreset.Home,
    LinkPreset.Archive,
    LinkPreset.About,
    {
      name: &apos;随机图&apos;,
      url: &apos;https://pic.onani.cn&apos;,     // Internal links should not include the base path, as it is automatically added
      external: true,                               // Show an external link icon and will open in a new tab
    },
    {
      name: &apos;GitHub&apos;,
      url: &apos;https://github.com/saicaca/fuwari&apos;,     // Internal links should not include the base path, as it is automatically added
      external: true,                               // Show an external link icon and will open in a new tab
    },
  ],
}

export const profileConfig: ProfileConfig = {
  avatar: &apos;https://eo-r2.2x.nz/myblog/img/111.webp&apos;,  // Relative to the /src directory. Relative to the /public directory if it starts with &apos;/&apos;
  name: &apos;二叉树树&apos;,
  bio: &apos;Protect What You Love./爱你所爱！&apos;,
  links: [
    // {
      // name: &apos;Twitter&apos;,
      // icon: &apos;fa6-brands:twitter&apos;,       // Visit https://icones.js.org/ for icon codes
                                        // You will need to install the corresponding icon set if it&apos;s not already included
                                        // `pnpm add @iconify-json/&amp;lt;icon-set-name&amp;gt;`
      // url: &apos;https://twitter.com&apos;,
    // },
    // {
      // name: &apos;Steam&apos;,
      // icon: &apos;fa6-brands:steam&apos;,
      // url: &apos;https://store.steampowered.com&apos;,
    // },
    {
      name: &apos;GitHub&apos;,
      icon: &apos;fa6-brands:github&apos;,
      url: &apos;https://github.com/afoim&apos;,
    },
    {
      name: &apos;QQ&apos;,
      icon: &apos;fa6-brands:qq&apos;,
      url: &apos;https://qm.qq.com/q/Uy9kmDXHYO&apos;,
    },
    {
      name: &apos;Email&apos;,
      icon: &apos;fa6-solid:envelope&apos;,
      url: &apos;mailto:email@example.com&apos;,
    },
  ],
}

export const licenseConfig: LicenseConfig = {
  enable: true,
  name: &apos;CC BY-NC-SA 4.0&apos;,
  url: &apos;https://creativecommons.org/licenses/by-nc-sa/4.0/&apos;,
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;清理多余文件。根目录下的 &lt;code&gt;src/content/posts&lt;/code&gt; 文件夹里会带有一些示例文章，这些内容主要用于演示 Markdown 语法和 Fuwari 的基本用法。你可以先备份到别处，再按需删除。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;完成这些设置后，就可以开始撰写自己的文章了。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;让我们开始写作！&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;推荐使用 &lt;a href=&quot;/posts/obsidian/&quot;&gt;黑曜石（Obsidian）&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;首先，在项目根目录执行：&lt;code&gt;pnpm new-post &amp;lt;这里填写你的文章标题&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;然后，在根目录下的 &lt;code&gt;src/content/posts&lt;/code&gt; 文件夹中会多出一个 &lt;code&gt;xxx.md&lt;/code&gt;文件&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;用 MarkText 打开这个文件后，你会看到一组基础元数据，其中有几项最需要关注。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;pre&gt;&lt;code&gt;title: xxx
published: 2024-10-14
description: &apos;&apos;
image: &apos;&apos;
tags: []
categories: &apos;&apos;
draft: false 
lang: &apos;&apos;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;title：文章标题&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;published：文章创建时间&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;description：文章描述，正常会显示在文章标题下面&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;image：文章封面图（同目录需要写 &lt;code&gt;./&lt;/code&gt; 如：&lt;code&gt;./https://eo-r2.2x.nz/myblog/img/2024-10-14-11-33-28-image.webp&lt;/code&gt;）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;tag：文章标签&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;categories：文章分类&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;还需要修改根目录下的 &lt;code&gt;astro.config.mjs&lt;/code&gt;，把其中的 &lt;code&gt;site:&lt;/code&gt; 改成你自己的站点 URL，例如：&lt;code&gt;site: &quot;https://onani.cn&quot;,&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果你想在 Markdown 文章里方便地插入图片，也可以顺手把编辑器配置好。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;这并不复杂。借助 MarkText，可以像使用传统博客编辑器一样直接复制粘贴图片，不过需要先做一点简单配置：&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;依次点击 MarkText 左上角菜单 -&amp;gt; &lt;code&gt;File&lt;/code&gt; -&amp;gt; &lt;code&gt;Preferences&lt;/code&gt; -&amp;gt; 左侧 &lt;code&gt;Image&lt;/code&gt; 分类，然后按照下图进行设置。注意把第一个选项改成以 &lt;code&gt;Copy&lt;/code&gt; 开头的模式，开启 &lt;code&gt;Prefer&lt;/code&gt; 开关，并在上下两个文本框中分别填写绝对路径和相对路径。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/2024-10-14-12-54-21-image.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;这样一来，插入图片时就会先把图片复制到 &lt;code&gt;https://eo-r2.2x.nz/myblog/img&lt;/code&gt; 对应的位置，再自动以 &lt;code&gt;![1](https://eo-r2.2x.nz/myblog/img/1.webp)&lt;/code&gt; 这样的格式写入 Markdown 文件。你只需要复制粘贴，剩下的步骤 MarkText 会自动完成。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;配置完成后，你就可以比较高效地用 MarkText 编写 Markdown 博文了。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;本地预览，然后发布到Github&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;当你觉得文章写得差不多时，可以在项目根目录执行：&lt;code&gt;pnpm dev&lt;/code&gt;。稍等片刻后，就能在本地预览博客效果。&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/2024-10-14-13-03-44-image.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;接下来就可以使用 Git 把这些改动发布到 GitHub。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;首先，让 Git 知道你是谁：&lt;code&gt;git config --global user.name &quot;你的GitHub用户名&quot;&lt;/code&gt; 和 &lt;code&gt;git config --global user.email &quot;你的GitHub邮箱@example.com&quot;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;然后，将远程仓库地址改成 SSH 形式（如果你本来就是通过 SSH 克隆的，就不需要再修改）：&lt;code&gt;git remote set-url origin git@github.com:xxx/xxx&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;随后，提交所有变更：&lt;code&gt;git add .&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;接着，创建一次本地提交：&lt;code&gt;git commit -m &quot;项目初始化&quot;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;最后，把本地更改推送到远程仓库：&lt;code&gt;git push&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;完成后，你的 GitHub 仓库里就应该能看到新的提交记录了。&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/2024-10-14-13-10-12-image.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;让Cloudflare连接上Github，使用Pages服务展示你的博客（FREE！）&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;前往Cloudflare的 Workers 和 Pages 页面，创建一个新Pages&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/2024-10-14-13-14-28-image.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;然后选择连接Git存储库，连接你的Github，随后设置构建命令：&lt;code&gt;pnpm build&lt;/code&gt;  ，然后设置构建输出目录：&lt;code&gt;dist&lt;/code&gt; ，如图&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/2024-10-14-13-16-15-image.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;绑定自定义域，访问自定义域即可访问你的博客！&lt;img src=&quot;https://blog.mengku.shop/public/assets/images/2024-10-14-13-17-00-image.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;随后，你只需要在本地编写文章，然后&lt;a href=&quot;#%E6%9C%AC%E5%9C%B0%E9%A2%84%E8%A7%88%E7%84%B6%E5%90%8E%E5%8F%91%E5%B8%83%E5%88%B0github&quot;&gt;使用Git将更改推送到远程仓库&lt;/a&gt;，Cloudflare就会自动部署，更新你的博客！&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>隐私政策</title><link>https://blog.mengku.shop/posts/privacy-policy/</link><guid isPermaLink="true">https://blog.mengku.shop/posts/privacy-policy/</guid><description>本隐私政策适用于夢酷 の Blog（以下简称“我们”）。</description><pubDate>Thu, 31 Dec 1998 19:20:15 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;[!NOTE]
&lt;strong&gt;站点合规说明&lt;/strong&gt;：本页面为本博客（夢酷 の Blog）的 Cookie 与数据隐私政策说明，整理于此供访客查阅。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1&gt;All Cookies&lt;/h1&gt;
&lt;h3&gt;Strictly necessary cookies（必要的cookies）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cloudflare.com/analytics/&quot;&gt;Cloudflare Analytics&lt;/a&gt;：收集站点的基本访问情况&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cloud.umami.is&quot;&gt;Umami&lt;/a&gt;：收集站点的基本访问情况&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://giscus.app&quot;&gt;Giscus&lt;/a&gt;：提供评论功能&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Functionality cookies（功能性cookies）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;无&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Tracking cookies（追蹤cookies）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tongji.baidu.com/&quot;&gt;百度统计&lt;/a&gt;：收集站点的基本访问情况&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://analytics.google.com&quot;&gt;Google Analytics&lt;/a&gt;：收集站点访问情况&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://clarity.microsoft.com&quot;&gt;Microsoft Clarity&lt;/a&gt;：收集站点访问情况&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Targeting and advertising cookies（定位和廣告cookies）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adsense.google.com/&quot;&gt;Google Adsense&lt;/a&gt;：提供广告服务&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;latest update: 2026/02/04&lt;/em&gt;&lt;/p&gt;
</content:encoded></item></channel></rss>