<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Domal</title>
    <link>https://domal.cc/</link>
    <description>Domal</description>
    <generator>Hugo -- gohugo.io</generator>
    <atom:link href="https://domal.cc/" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>头像</title>
      <link>https://domal.cc/gallery/%E5%A4%B4%E5%83%8F/</link>
      <pubDate>Sat, 12 Sep 2026 23:05:00 &#43;0800</pubDate>
      
      <guid>https://domal.cc/gallery/%E5%A4%B4%E5%83%8F/</guid>
      <description></description>
    </item>
    
    
    
    
    <item>
      <title>面向 Hugo 内容管理者的 Android 用户</title>
      <link>https://domal.cc/thinking/hugo%E5%90%8E%E7%AB%AF%E8%AE%BE%E6%83%B3---2/</link>
      <pubDate>Mon, 07 Sep 2026 22:17:00 &#43;0800</pubDate>
      
      <guid>https://domal.cc/thinking/hugo%E5%90%8E%E7%AB%AF%E8%AE%BE%E6%83%B3---2/</guid>
      <description>&amp;lt;p&amp;gt;又开始折腾了。在完成了 Windows 桌面客户端之后，我又有了新想法。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;需求很纯粹：&amp;lt;strong&amp;gt;手机编辑内容 → 一键发布上线。&amp;lt;/strong&amp;gt; 想法听着简单，但第一步就被卡住了——手机上无法直接运行 &amp;lt;code&amp;gt;hugo.exe&amp;lt;/code&amp;gt;，而移植 Hugo 源码更是难上加难（这点我曾用 DeepSeek 求证过）。于是 DeepSeek 给了我两条现成的方案，先记录如下。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;方案-agithub-仓库--github-actions-自动构建发布推荐最省心&amp;#34;&amp;gt;方案 A：GitHub 仓库 &#43; GitHub Actions 自动构建发布（推荐，最省心）&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;原理&amp;#34;&amp;gt;原理&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; class=&amp;#34;chroma&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-text&amp;#34; data-lang=&amp;#34;text&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;line&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;cl&amp;#34;&amp;gt;手机（写/改 Markdown）→ push 到 GitHub 仓库&amp;#xA;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;#34;line&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;cl&amp;#34;&amp;gt;                      → GitHub Actions 检测到 push&amp;#xA;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;#34;line&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;cl&amp;#34;&amp;gt;                      → 自动跑 hugo 构建 public/&amp;#xA;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;#34;line&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;cl&amp;#34;&amp;gt;                      → 自动用 SSH/SFTP 上传到宝塔站点目录&amp;#xA;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;h3 id=&amp;#34;手机端需要什么&amp;#34;&amp;gt;手机端需要什么&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;手机编辑器：&amp;lt;strong&amp;gt;GitHub 网页编辑&amp;lt;/strong&amp;gt;、手机版 GitHub App，或任何&amp;lt;strong&amp;gt;支持 GitHub 同步的 Markdown 编辑器&amp;lt;/strong&amp;gt;（如 Obsidian 手机版 &#43; Git 插件）；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;手机改完文件 → 提交 → push，发布全流程即告完成。&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;需要做的一次性配置&amp;#34;&amp;gt;需要做的一次性配置&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ol&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;把博客源码推到一个 GitHub（私有）仓库；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;在仓库里放一个 Actions 工作流文件（&amp;lt;code&amp;gt;.github/workflows/deploy.yml&amp;lt;/code&amp;gt;），内容大致是：检出代码 → 安装 hugo → 执行 &amp;lt;code&amp;gt;hugo --minify&amp;lt;/code&amp;gt; → 用 &amp;lt;code&amp;gt;scp/sftp&amp;lt;/code&amp;gt; 上传到宝塔；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;在 GitHub Secrets 中存放服务器 IP / 账号 / 私钥（&amp;lt;strong&amp;gt;无需把密码写进代码&amp;lt;/strong&amp;gt;）。&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ol&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;优点&amp;#34;&amp;gt;优点&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;手机零开发&amp;lt;/strong&amp;gt;：不动手写任何 App，用现成的 GitHub App / 网页编辑器即可；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;发布全自动&amp;lt;/strong&amp;gt;：&amp;lt;code&amp;gt;push&amp;lt;/code&amp;gt; 即发布，贴合&amp;amp;quot;手机端写完即发&amp;amp;quot;的需求；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;有版本历史&amp;lt;/strong&amp;gt;：可回滚、可备份，心里踏实。&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;缺点&amp;#34;&amp;gt;缺点&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;需要手机能访问 GitHub（国内网络可能要代理）；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;用户需略懂 Git 概念（不过 GitHub 手机 App 的&amp;amp;quot;提交&amp;amp;quot;按钮已经足够简单）。&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;blockquote&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;这本质上是把之前讨论过的「GitHub 中转 &#43; 服务器构建」路线自动化了，前端发布动作完全不在手机端执行。&amp;lt;/p&amp;gt;</description>
    </item>
    
    <item>
      <title>Hugo Markdown Client 使用方法</title>
      <link>https://domal.cc/posts/md-client-%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/</link>
      <pubDate>Sat, 05 Sep 2026 23:30:00 &#43;0800</pubDate>
      <author>豆沫</author>
      <guid>https://domal.cc/posts/md-client-%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/</guid>
      <description>&amp;lt;h1 id=&amp;#34;hugo-markdown-client简称-hmdc使用方法&amp;#34;&amp;gt;Hugo Markdown Client（简称 HMDC）使用方法&amp;lt;/h1&amp;gt;&amp;#xA;&amp;lt;blockquote&amp;gt;&amp;#xA;&amp;lt;p class=&amp;#34;dropcap&amp;#34;&amp;gt;适用于 &amp;lt;code&amp;gt;publish&amp;lt;/code&amp;gt; 文件夹中构建好的 &amp;lt;strong&amp;gt;HMDC.exe&amp;lt;/strong&amp;gt;（单文件自包含版本）。&amp;#xA;本教程面向&amp;lt;strong&amp;gt;不熟悉命令行 / Git&amp;lt;/strong&amp;gt; 的 Hugo 博客写作者，教你在图形界面里完成「写文章 → 本地预览 → 发布上线」的全部流程。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/blockquote&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;目录&amp;#34;&amp;gt;目录&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;ol&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E4%B8%80%E8%AE%A4%E8%AF%86-HMDC&amp;#34;&amp;gt;认识 HMDC&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E4%BA%8C%E5%AE%89%E8%A3%85%E4%B8%8E%E5%90%AF%E5%8A%A8&amp;#34;&amp;gt;安装与启动&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E4%B8%89%E5%87%86%E5%A4%87-hugo%E5%8F%AA%E9%9C%80%E4%B8%80%E6%AC%A1&amp;#34;&amp;gt;准备 Hugo（只需一次）&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E5%9B%9B%E7%95%8C%E9%9D%A2%E5%B8%83%E5%B1%80%E6%80%BB%E8%A7%88&amp;#34;&amp;gt;界面布局总览&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E4%BA%94%E7%AC%AC%E4%B8%80%E6%AD%A5%E6%89%93%E5%BC%80-hugo-%E9%A1%B9%E7%9B%AE&amp;#34;&amp;gt;第一步：打开 Hugo 项目&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E5%85%AD%E5%86%99%E6%96%87%E7%AB%A0markdown-%E7%BC%96%E8%BE%91%E5%99%A8%E8%AF%A6%E8%A7%A3&amp;#34;&amp;gt;写文章：Markdown 编辑器详解&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E4%B8%83frontmatter%E6%96%87%E7%AB%A0%E5%85%83%E6%95%B0%E6%8D%AE&amp;#34;&amp;gt;Frontmatter：文章元数据&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E5%85%AB%E7%BC%96%E8%BE%91%E9%A2%84%E8%A7%88%E6%A8%A1%E5%BC%8F%E5%88%87%E6%8D%A2&amp;#34;&amp;gt;编辑/预览模式切换&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E4%B9%9D%E6%96%87%E4%BB%B6%E7%AE%A1%E7%90%86&amp;#34;&amp;gt;文件管理（新建/复制/重命名/删除）&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E5%8D%81%E6%9C%AC%E5%9C%B0%E9%A2%84%E8%A7%88%E5%90%AF%E5%8A%A8-hugo-%E6%9C%8D%E5%8A%A1%E5%99%A8&amp;#34;&amp;gt;本地预览：启动 Hugo 服务器&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E5%8D%81%E4%B8%80ai-%E5%8A%A9%E6%89%8Bdeepseek-%E5%8A%A0%E6%8C%81&amp;#34;&amp;gt;AI 助手（DeepSeek 加持）&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E5%8D%81%E4%BA%8C%E6%9E%84%E5%BB%BA%E5%8F%91%E5%B8%83%E5%88%B0%E5%AE%9D%E5%A1%94%E6%9C%8D%E5%8A%A1%E5%99%A8&amp;#34;&amp;gt;构建发布到宝塔服务器&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E5%8D%81%E4%B8%89%E5%A4%9A%E8%AF%AD%E8%A8%80%E7%BD%91%E7%AB%99%E9%95%9C%E5%83%8F%E5%A4%8D%E5%88%B6&amp;#34;&amp;gt;多语言网站：镜像复制&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E5%8D%81%E5%9B%9B%E4%B8%AA%E6%80%A7%E5%8C%96%E4%B8%BB%E9%A2%98%E4%B8%8E%E8%AF%AD%E8%A8%80&amp;#34;&amp;gt;个性化：主题与语言&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E5%8D%81%E4%BA%94%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BD%8D%E7%BD%AE&amp;#34;&amp;gt;配置文件位置&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#%E5%8D%81%E5%85%AD%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5&amp;#34;&amp;gt;常见问题排查&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ol&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;一认识-hmdc&amp;#34;&amp;gt;一、认识 HMDC&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;HMDC&amp;lt;/strong&amp;gt; 是一款 Windows 桌面应用，目标是让完全不会命令行的用户也能管理 Hugo 静态博客。它把三大能力集成在一个窗口里：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;写作&amp;lt;/strong&amp;gt;：带格式工具栏、行号、表格/代码等一键插入的 Markdown 编辑器；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;预览&amp;lt;/strong&amp;gt;：一键在「源码」和「渲染后页面」之间切换；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;发布&amp;lt;/strong&amp;gt;：本地构建 &amp;lt;code&amp;gt;public/&amp;lt;/code&amp;gt; 后通过 SFTP 直接上传到宝塔服务器。&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;二安装与启动&amp;#34;&amp;gt;二、安装与启动&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;21-系统要求&amp;#34;&amp;gt;2.1 系统要求&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Windows 10 / 11&amp;lt;/strong&amp;gt;（64 位）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;无需安装 .NET&amp;lt;/strong&amp;gt;（HMDC.exe 是 self-contained 单文件，已内置运行时）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;无需预装 Hugo&amp;lt;/strong&amp;gt;（见下一节，可在 HMDC 内自动下载）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;硬盘空间：程序本体约 76 MB&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;22-启动&amp;#34;&amp;gt;2.2 启动&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;把整个 &amp;lt;code&amp;gt;publish&amp;lt;/code&amp;gt; 文件夹复制到任意位置（如桌面、D 盘），&amp;lt;strong&amp;gt;双击 &amp;lt;code&amp;gt;HMDC.exe&amp;lt;/code&amp;gt;&amp;lt;/strong&amp;gt; 即可运行。&amp;lt;/p&amp;gt;</description>
    </item>
    
    
    <item>
      <title>MD Client进展</title>
      <link>https://domal.cc/posts/md-client%E8%BF%9B%E5%B1%95/</link>
      <pubDate>Fri, 04 Sep 2026 22:35:00 &#43;0800</pubDate>
      <author>豆沫</author>
      <guid>https://domal.cc/posts/md-client%E8%BF%9B%E5%B1%95/</guid>
      <description>&amp;lt;p&amp;gt;这段时间一直在打磨自己写的 &amp;lt;strong&amp;gt;Hugo Markdown Client&amp;lt;/strong&amp;gt;，到现在功能上已经差不多收尾了。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;从最早的只能写本地 Markdown 并手动同步，到后来逐步补齐了 Frontmatter 编辑、标签与分类管理、多语言文件的目录组织，再到接入项目文件树与静态资源整理，整套桌面工作流的体验已经比刚开始顺滑许多。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;下一步ssh--docker-一键发布&amp;#34;&amp;gt;下一步：SSH &#43; Docker 一键发布&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;目前离「写完即发布」还差最后一公里——把内容推送并构建上线。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;接下来准备测试的方案是：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;通过 &amp;lt;strong&amp;gt;SSH&amp;lt;/strong&amp;gt; 将本地更新的内容直接推送到部署在 &amp;lt;strong&amp;gt;Docker&amp;lt;/strong&amp;gt; 上的 Hugo 站点仓库；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;触发容器内的一次 &amp;lt;code&amp;gt;hugo&amp;lt;/code&amp;gt; 构建；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;将构建产物刷新到对外服务的目录，完成一次发布。&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;目标是把以上步骤串成&amp;lt;strong&amp;gt;一个动作&amp;lt;/strong&amp;gt;，在 Client 里点一下，即可完成「推送 &#43; 构建 &#43; 发布」的全流程。真正实现从边写边推到一键上线的闭环。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;待验证的问题&amp;#34;&amp;gt;待验证的问题&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;这里也有一些具体的技术点需要在测试中确认：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;SSH 鉴权与密钥的管理是否足够安全、又不至于太繁琐；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;远程触发构建的方式是走 &amp;lt;code&amp;gt;docker exec&amp;lt;/code&amp;gt; 还是挂载目录后监听触发更稳妥；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;构建增量与缓存策略，避免每次全量编译拖慢发布速度；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;构建失败时的回滚与错误反馈是否清晰。&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;小结&amp;#34;&amp;gt;小结&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;这个收尾阶段最值得期待的，其实是整条链路真正跑通的那一刻——写作、管理、发布都待在一个自己可控的 Client 里完成。等 SSH &#43; Docker 的推送测试通过后，再回来补一篇更完整的流程记录。&amp;lt;/p&amp;gt;</description>
    </item>
    
    <item>
      <title>浅说 Artalk</title>
      <link>https://domal.cc/posts/artalk%E9%83%A8%E7%BD%B2/</link>
      <pubDate>Thu, 03 Sep 2026 17:35:00 &#43;0800</pubDate>
      <author>豆沫</author>
      <guid>https://domal.cc/posts/artalk%E9%83%A8%E7%BD%B2/</guid>
      <description>&amp;lt;h1 id=&amp;#34;在docker上部署artalk时遇到的问题汇总&amp;#34;&amp;gt;在Docker上部署Artalk时遇到的问题汇总。&amp;lt;/h1&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;很多年前，折腾过Typecho比较老牌的博客系统，原生自带评论功能，但是存在PHP漏洞风险，需要定期备份，说到这儿想起我曾经写过的文章，都已经俨然不在了。但是Typecho还是有些比较显著的有点的，比如开箱即用，浏览器登录就能写文章，手机、网吧随时可以更新博客，不需要本地环境，而且生态也比较成熟，上手门槛很低。但是需要维护服务器安全，防SQL注入、后台暴力破解、定期备份，而且也不能直接拿md文件进行迁移，数据库一旦损坏恢复起来相当麻烦。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;然后Hugo就完全不用考虑这些了，服务器上只有静态文件，几乎不存在Web攻击风险，而且本地markdown明文，迁移及其简单，够时间速度也是业界顶尖的纯在。也是应了那句话：一朝被蛇咬，十年怕井绳。之前就是因为不想维护PHP&#43;MySQL所以导致所有的文章被清空，所以这也是我选hugo的原因。话又说回来，Hugo必须接入第三方系统才能进行评论。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;众所周知Hugo是一个纯静态的网站，不像Mix space 有内置的评论系统。之前用了waline但是为了开发类似朋友圈评论那样的评论功能，waline似乎没办法做到，为了满足开发需求，在众多评论系统中选择了Artalk和Twikoo.&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;-artalk-vs-twikoo-核心对比&amp;#34;&amp;gt;⚖️ Artalk vs. Twikoo 核心对比&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;table&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;thead&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;th style=&amp;#34;text-align: left&amp;#34;&amp;gt;特性&amp;lt;/th&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;th style=&amp;#34;text-align: left&amp;#34;&amp;gt;Artalk&amp;lt;/th&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;th style=&amp;#34;text-align: left&amp;#34;&amp;gt;Twikoo&amp;lt;/th&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;/thead&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;tbody&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;集成难度&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;中等，需自行部署后端服务&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;简单&amp;lt;/strong&amp;gt;，提供多种Serverless部署方式&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;部署方式&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;需自有服务器&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;无服务器&amp;lt;/strong&amp;gt;，可部署在Vercel、EdgeOne等平台&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;数据存储&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;SQLite&amp;lt;/strong&amp;gt;（轻量），也支持PostgreSQL/MySQL&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;MongoDB&amp;lt;/strong&amp;gt; 或 &amp;lt;strong&amp;gt;LokiJS&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;性能与资源&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;性能优秀&amp;lt;/strong&amp;gt;（Go语言），资源占用相对较低&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;依赖外部数据库，对小型站点可能显得“笨重”&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;Hugo集成&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;官方文档有指引&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;社区教程和文档非常丰富&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;主题生态&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;有深度整合的主题，如&amp;lt;strong&amp;gt;Hugo-Theme-Amigo&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;支持广泛，多数主题可通过简单配置集成&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;数据迁移&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;官方提供从Twikoo等系统的迁移工具&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;数据导出相对复杂&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;功能亮点&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;朋友圈风格UI、弹幕、实时评论&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td style=&amp;#34;text-align: left&amp;#34;&amp;gt;轻量、免费、部署选择多&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;/tbody&amp;gt;&amp;#xA;&amp;lt;/table&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;经过对比发现还是Artalk自由度更高一些，不用过于以来外部数据库，这也是为什么选择Artalk的原因。既然有了方向那就开搞~&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;开始之前确保&amp;#34;&amp;gt;开始之前确保：&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;[√] 服务器 &#43; 宝塔面板&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;[√] 已安装 Docker&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;[√] 域名&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;宝塔面板上用 Docker 部署 Artalk 主要分为三个步骤：拉取镜像并创建容器、配置反向代理、集成到 Hugo 博客。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;一-在宝塔面板部署-artalk-后端&amp;#34;&amp;gt;一. 在宝塔面板部署 Artalk 后端&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ol&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;  &amp;lt;strong&amp;gt;拉取镜像&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ol&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;   *   打开宝塔面板，进入 Docker -&amp;amp;gt; 线上镜像；&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;   *   输入 artalk/artalk-go，点击“搜索”并拉取选择版本下载完成；&amp;lt;/p&amp;gt;</description>
    </item>
    
    
    
    
    
    
    <item>
      <title>荒岛救赎：归航之旅</title>
      <link>https://domal.cc/thinking/%E8%8D%92%E5%B2%9B%E6%95%91%E8%B5%8E%E5%BD%92%E8%88%AA%E4%B9%8B%E6%97%85/</link>
      <pubDate>Mon, 17 Aug 2026 23:28:00 &#43;0800</pubDate>
      
      <guid>https://domal.cc/thinking/%E8%8D%92%E5%B2%9B%E6%95%91%E8%B5%8E%E5%BD%92%E8%88%AA%E4%B9%8B%E6%97%85/</guid>
      <description>&amp;lt;h1 id=&amp;#34;完整游戏剧情架构设计方案&amp;#34;&amp;gt;完整游戏剧情&amp;amp;amp;架构设计方案&amp;lt;/h1&amp;gt;&amp;#xA;&amp;lt;blockquote&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;类型：第三人称开放世界剧情向生存ARPG&amp;lt;br&amp;gt;&amp;#xA;核心组合：男主 &#43; 小女孩（固定主角组）&amp;lt;br&amp;gt;&amp;#xA;单双人统一：单人模式下小女孩AI控制，双人模式下玩家B控制小女孩&amp;lt;br&amp;gt;&amp;#xA;剧情目标：寻找失散的恋人 &#43; 寻找小女孩的父母  &#43; 离开孤岛&amp;#xA;恋人定位：全程NPC（仅线索与回忆存在，实体未出现）&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/blockquote&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;一游戏核心总览&amp;#34;&amp;gt;一、游戏核心总览&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;1-游戏定位&amp;#34;&amp;gt;1. 游戏定位&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;一款&amp;lt;strong&amp;gt;单人/双人均可&amp;lt;/strong&amp;gt;的第三人称开放世界剧情向生存ARPG。融合情感羁绊、团队生存博弈、硬核动作狩猎与多分支剧情。单双人模式共享完全一致的主线剧情、目标与结局，仅在操作与互动方式上有差异化设计。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;2-核心主题&amp;#34;&amp;gt;2. 核心主题&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;绝境从不毁灭人心——真正的救赎，是在孤独中守护一份承诺，在绝望里点亮一盏希望。&amp;lt;br&amp;gt;&amp;#xA;“哥哥，我们一起找到他们。”&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;3-核心特色&amp;#34;&amp;gt;3. 核心特色&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;固定主角组&amp;lt;/strong&amp;gt;：男主（25岁，Ethan 伊森） &#43; 小女孩（约10岁，Mia 米娅），贯穿始终的羁绊核心&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;双线寻人目标&amp;lt;/strong&amp;gt;：寻找失踪的恋人（25岁，Joy 乔伊） &#43; 寻找Mia的父母&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;统一单双人剧情&amp;lt;/strong&amp;gt;：单人AI小女孩，双人玩家B控制小女孩&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;硬核生存规则&amp;lt;/strong&amp;gt;：昼夜高危机制、强制归巢、动态天气、猛兽AI&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;高自由开放世界&amp;lt;/strong&amp;gt;：无缝地图，探索、建造、战斗、剧情一体化&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;情感沉浸系统&amp;lt;/strong&amp;gt;：记忆相机、希望值、恋人线索链、Mia成长曲线&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;二世界观与背景&amp;#34;&amp;gt;二、世界观与背景&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;蔚蓝远洋，年轻情侣【男主】与【恋人】结束城市奔波，搭乘远洋轮渡开启蜜月旅行。同船有一位约10岁的米娅，她是海洋生物学家的女儿，随父母出海考察。&amp;lt;br&amp;gt;&amp;#xA;甲板上，Mia的相机不慎掉落，Ethan飞身趁机抓住，避免了掉入海中的情况；三人因此结识，Mia亲切地喊“哥哥”“姐姐”，并一起拍下一张合影（成为关键道具）。&amp;lt;br&amp;gt;&amp;#xA;轮渡行至海域禁区，毫无征兆的特级海上风暴骤然降临。黑云压海、暴雨倾盆、巨浪滔天，狂暴海风直接撕裂船体，轮渡瞬间解体倾覆。混乱的沉船灾难中，人群四散漂流，主角与恋人被巨浪强行冲散，彼此失联、生死未卜。&amp;#xA;Ethan与Mia被冲上一座与世隔绝的无名孤岛。岛上白天静谧，夜晚黑雾笼罩，变异猛兽横行，天气变幻莫测。&amp;lt;br&amp;gt;&amp;#xA;Ethan醒来后通过哭声寻找到Mia，Mia颤抖着说“哥哥，我怕……爸爸妈妈也不见了”。Ethan握住她的手：“别怕，我们一起找他们。”&amp;amp;hellip;&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;三完整主线剧情&amp;#34;&amp;gt;三、完整主线剧情&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;序章骤雨失航陌路孤岛&amp;#34;&amp;gt;序章：骤雨失航·陌路孤岛&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;船上初遇CG&amp;lt;/strong&amp;gt;：甲板上小女孩拍照，相机脱手，Ethan飞身接住。Mia甜甜道谢，恋人微笑轻声安抚小心。三人合影。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;海难CG&amp;lt;/strong&amp;gt;：风暴中船体断裂，男主Ethan与恋人Joy被冲散。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;苏醒与相遇&amp;lt;/strong&amp;gt;：Ethan在沙滩苏醒，循着哭声在附近礁石缝中找到Mia。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;新手引导&amp;lt;/strong&amp;gt;：Mia用半块饼干分给Ethan，并拿出父亲留下的&amp;lt;strong&amp;gt;生存手册（残破）&amp;lt;/strong&amp;gt;，帮助识别可食用植物、生火、找水源。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;首夜&amp;lt;/strong&amp;gt;：简易草棚中，Mia问“姐姐和爸爸妈妈会没事吗？”Ethan说“一定会的，我们要坚强。”Mia点头，攥紧Ethan的衣角入睡。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;记忆相机&amp;lt;/strong&amp;gt;：Mia的防水相机还能使用，拍下第一个场景“沙滩初营”，存入希望相册。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;初始技能&amp;lt;/strong&amp;gt;：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;Mia：生存手册&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;Ethan：简单建筑技巧，搭建临时住所&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;第一阶段沙滩扎根初聚人心&amp;#34;&amp;gt;第一阶段：沙滩扎根·初聚人心&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;区域&amp;lt;/strong&amp;gt;：沙滩、近海浅滩 | &amp;lt;strong&amp;gt;猛兽&amp;lt;/strong&amp;gt;：野狼、水鸟 | &amp;lt;strong&amp;gt;BOSS&amp;lt;/strong&amp;gt;：狼群首领&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;招募&amp;lt;/strong&amp;gt;：厨师、女医生&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;核心剧情&amp;lt;/strong&amp;gt;：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;深夜狼群咬伤厨师，嘶吼声被Ethan听到之后，使用自制火把吓退狼群，救到了厨师。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;女医生，被卡在礁石，三天没有吃喝，绝望之时，被Ethan、Mia救出。医生成为第二个被招募的成员，给被咬伤的厨师包扎伤口。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;沙滩沉船残骸中Ethan发现&amp;lt;strong&amp;gt;恋人的发卡&amp;lt;/strong&amp;gt;，Mia说“姐姐的……她还活着！”&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;技能解锁&amp;lt;/strong&amp;gt;：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;战斗技巧：通过与狼群战斗发现狼群怕火，并识别野狼弱点（腰腹），标记敌人位置。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;基础药物制作：用海边草药制作简易绷带。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;食物解锁：通过补货海鱼和狼肉进行充饥。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;第二阶段拓荒密林矛盾初生&amp;#34;&amp;gt;第二阶段：拓荒密林·矛盾初生&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;区域&amp;lt;/strong&amp;gt;：草原、阔叶密林 | &amp;lt;strong&amp;gt;猛兽&amp;lt;/strong&amp;gt;：野猪、鬣狗、毒蛇、毒蛙 | &amp;lt;strong&amp;gt;BOSS&amp;lt;/strong&amp;gt;：野猪王、鬣狗头领&amp;lt;/p&amp;gt;</description>
    </item>
    
    <item>
      <title>如何宣泄情绪？</title>
      <link>https://domal.cc/posts/%E6%83%85%E7%BB%AA%E8%A1%A8%E8%BE%BE/</link>
      <pubDate>Sun, 16 Aug 2026 21:48:03 &#43;0800</pubDate>
      <author>豆沫</author>
      <guid>https://domal.cc/posts/%E6%83%85%E7%BB%AA%E8%A1%A8%E8%BE%BE/</guid>
      <description>&amp;lt;h1 id=&amp;#34;写作愤怒四阶段--情绪描写手册&amp;#34;&amp;gt;写作｜愤怒四阶段 &amp;amp;amp; 情绪描写手册&amp;lt;/h1&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;核心区分：&amp;lt;strong&amp;gt;愤怒的表达（宣泄情绪） VS 表达愤怒（策略行动）&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;#xA;底层规律：浅层愤怒重情绪、容易失控；深层愤怒重目的、偏向理性克制&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;概念辨析&amp;#34;&amp;gt;概念辨析&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;table&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;thead&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;th&amp;gt;名词&amp;lt;/th&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;th&amp;gt;核心&amp;lt;/th&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;th&amp;gt;本质&amp;lt;/th&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;/thead&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;tbody&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;愤怒的表达&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;向外宣泄怒火&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;情绪输出，强化冲突画面&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;表达愤怒&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;完成某个目标&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;理性行为：求关注、反抗不公、揭露阴谋、维护权益&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;/tbody&amp;gt;&amp;#xA;&amp;lt;/table&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;愤怒的四个层级&amp;#34;&amp;gt;愤怒的四个层级&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;lv1-初级愤怒烦躁不满尚可自控&amp;#34;&amp;gt;Lv1 初级愤怒｜烦躁不满（尚可自控）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;触发：小事、短暂挫折&amp;#xA;表现：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;神态动作：皱眉、咬牙、语气生硬、小声抱怨&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;情绪：心里憋着火，但理智还在，极少大爆发&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;lv2-中级愤怒情绪失控冲突升级&amp;#34;&amp;gt;Lv2 中级愤怒｜情绪失控（冲突升级）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;触发：反复受刺激、遭遇不公&amp;#xA;表现：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;音量拔高、言辞尖锐、冷嘲热讽&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;跺脚、挥动手臂，肢体冲突开始显现&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;愤怒持续时间更长&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;lv3-高级愤怒策略内化愤怒理智主导&amp;#34;&amp;gt;Lv3 高级愤怒｜策略内化愤怒（理智主导）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;触发：触碰价值观、长期遭受不公&amp;#xA;表现：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;不再单纯吼叫发泄&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;深思的批判、有计划的反抗、据理力争辩论&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;愤怒化作行动规划，情绪藏于目的之下&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;lv4-顶级愤怒两极极端&amp;#34;&amp;gt;Lv4 顶级愤怒｜两极极端&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;1.彻底失控：丧失理智，做出伤人行为&amp;lt;br&amp;gt;&amp;#xA;2.&amp;lt;strong&amp;gt;死寂式愤怒（文学效果更强）&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;#xA;信念破灭、深度绝望。外表平静无波澜，无声反抗。&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;#xA;例：数十年著书讽刺现实；被压迫者沉默对抗；对人从刻骨怨恨变得毫无感觉。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;愤怒的表达宣泄式愤怒描写工具箱&amp;#34;&amp;gt;愤怒的表达｜宣泄式愤怒描写工具箱&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;适用：角色当场发火，向外释放情绪。分三类素材，可自由组合。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;身体神态声音&amp;#34;&amp;gt;①身体/神态/声音&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;素材库：鼻孔张大、扬下巴、面色发青/潮红、怒目圆睁、眼布血丝、牙关紧咬、双拳紧握指节作响、浑身颤抖、冷笑、声音发颤、呼吸粗重&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;例句：&amp;#xA;他双唇紧抿，气得来回踱步，衣袖下拳头攥得咯咯作响。&amp;lt;br&amp;gt;&amp;#xA;她脸色铁青，布满血丝的双眼涨得通红。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;内心心理活动&amp;#34;&amp;gt;②内心心理活动&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;素材库：痛苦回忆、恨意翻涌、怒极反笑、复仇冲动、想要暴力宣泄、迁怒他人&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;例句：&amp;#xA;胸腔翻江倒海，血液在血管里奔腾，复仇的念头攥紧了他的心神。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;对话写法&amp;#34;&amp;gt;③对话写法&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;1.各说各话，不给对方辩解机会&amp;lt;br&amp;gt;&amp;#xA;2.强行打断、提高声调&amp;lt;br&amp;gt;&amp;#xA;3.冷嘲热讽 / 压低声音压抑怒火&amp;lt;br&amp;gt;&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;例句：&amp;#xA;他压着翻涌的火气，一字一句，满是讥讽。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;表达愤怒有目的的愤怒理性驱动&amp;#34;&amp;gt;表达愤怒｜有目的的愤怒（理性驱动）&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;重点：愤怒只是底色，行为服务目标，不是单纯撒气。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;案例1人际关系&amp;#34;&amp;gt;案例1｜人际关系&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;男主忙于事业忽视女主，多次暗示无效。&amp;lt;br&amp;gt;&amp;#xA;女主没有哭闹，直接冷处理、强硬表态提出诉求。&amp;lt;br&amp;gt;&amp;#xA;目的：让对方重视自己，理性＞情绪。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;案例2时代抗争&amp;#34;&amp;gt;案例2｜时代抗争&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;女主身处男尊女卑时代，目睹种种压迫。&amp;lt;br&amp;gt;&amp;#xA;没有一味争吵，而是投入数年推动改革，挑战旧制度。&amp;lt;br&amp;gt;&amp;#xA;目的：对抗社会不公，愤怒转化长期行动。&amp;lt;/p&amp;gt;</description>
    </item>
    
    <item>
      <title>为什么你的文字没有呼吸？</title>
      <link>https://domal.cc/posts/%E6%96%87%E5%AD%97%E7%9A%84%E5%91%BC%E5%90%B8%E6%84%9F/</link>
      <pubDate>Sun, 16 Aug 2026 00:15:03 &#43;0800</pubDate>
      <author>豆沫</author>
      <guid>https://domal.cc/posts/%E6%96%87%E5%AD%97%E7%9A%84%E5%91%BC%E5%90%B8%E6%84%9F/</guid>
      <description>&amp;lt;h2 id=&amp;#34;摘要&amp;#34;&amp;gt;摘要&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;很多文字读起来拥挤窒息，缺少张弛有度的&amp;lt;strong&amp;gt;呼吸感&amp;lt;/strong&amp;gt;。核心问题分为三类：&amp;lt;strong&amp;gt;节奏单一、过度解释、意象堆砌&amp;lt;/strong&amp;gt;。&amp;#xA;解决思路：长短句交错调节阅读节奏；用场景动作展示代替直白情绪解释；善用文字留白制造虚实空间。做到三点，普通的内容也可以耐人寻味、意犹未尽。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;核心术语释义&amp;#34;&amp;gt;核心术语释义&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;table&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;thead&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;th&amp;gt;名词&amp;lt;/th&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;th&amp;gt;说明&amp;lt;/th&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;/thead&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;tbody&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;呼吸感&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;文字节奏、意象、情感表达张弛有度，阅读流畅自然，留有想象空间，不会压抑拥挤。&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;意象堆砌&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;大量叠加相似意象、冗余形容词，画面臃肿，表达乏味。&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;展示而非解释&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;不直接输出情绪结论，依靠动作、神态、环境细节，让读者自行感知情绪。&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;留白&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;借鉴书画美学，在情绪高点、结尾处隐去部分细节，留出想象与共情空间。&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;/tbody&amp;gt;&amp;#xA;&amp;lt;/table&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;三大写作痛点与解决方法&amp;#34;&amp;gt;三大写作痛点与解决方法&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;1-节奏单一长短句交错制造文字韵律&amp;#34;&amp;gt;1. 节奏单一｜长短句交错制造文字韵律&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;问题表现：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;通篇长句，没有停顿，找不到阅读换气口；或是全是短促碎句，节奏如同急促鼓点，压迫紧绷，使人无法放松。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;反面例子（长句堆砌）&amp;lt;/strong&amp;gt;&amp;#xA;他推开一扇沉重而斑驳的木窗看见那轮高悬在深蓝色夜幕上散发着银白光芒的月亮清冷而孤独。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;问题：意象重复，形容词堆叠，读起来冗长沉闷。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;优化思路：删减重复意象，长短句穿插，流动描写与静态画面切换。&amp;lt;/strong&amp;gt;&amp;#xA;他推开窗，看见月亮。一轮凉的。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;长句/短句交替，制造一呼一吸阅读节奏&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;动作流动之后画面定格，感受慢慢蔓延，生出余韵&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;2-解释过多展示状态拒绝情绪标签&amp;#34;&amp;gt;2. 解释过多｜展示状态，拒绝情绪标签&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;问题表现：写作时害怕读者看不懂，直接贴情绪标签：“他很生气”“他感到悲伤”“这里令人毛骨悚然”。作者直接替读者完成解读，剥夺想象空间。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;反面（大量心理解释）&amp;lt;/strong&amp;gt;&amp;#xA;某霸总等了很久焦躁不安，他心里越来越慌，这该死的女人竟然不回信息，他感到一阵被冷落的烦躁，眼底不由得蓄满了危险的气息。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;满是情绪注解，缺少可视的细节。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;正面（动作展示）&amp;lt;/strong&amp;gt;&amp;#xA;某霸总翻过手机扣在桌上，隔一会儿又翻过来，没有消息。他眼神一凛。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;要点：不直白说出焦躁、愤怒；依靠动作、神态呈现人物状态，情绪交由读者自己体会。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;核心原则：写&amp;lt;strong&amp;gt;看到的行为、氛围&amp;lt;/strong&amp;gt;，而不是直接告诉读者人物是什么情绪。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;3-意象堆砌学会文字留白计白当黑&amp;#34;&amp;gt;3. 意象堆砌｜学会文字留白，计白当黑&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;话说太满，便没有回旋余地；意象写得过满，文字就失去情感吐纳空间。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;清代邓石如书法理论：&amp;lt;strong&amp;gt;计白当黑&amp;lt;/strong&amp;gt;，留白和笔墨具备同等美学分量。写作同理，在情绪浓烈处、段落结尾适度留白，拔高意境。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;示例：李清照《声声慢》&amp;lt;br&amp;gt;&amp;#xA;&amp;lt;em&amp;gt;寻寻觅觅，冷冷清清，凄凄惨惨戚戚。&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;只写人物恍惚寻觅的状态，不写明究竟在寻找什么。可以是故人、回忆、旧物、逝去年华。没有写亡夫、故国，不见眼泪，只铺陈冷清凄楚。&amp;#xA;什么都没有明说，却尽数道尽悲欢。虚实之间留出空间，读者可以代入自己的故事。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;要点：不必把所有信息全部交代完毕，适度收束，激发读者想象。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;实战总结--获得文字呼吸感三条准则&amp;#34;&amp;gt;实战总结 · 获得文字呼吸感三条准则&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;1.&amp;lt;strong&amp;gt;调节节奏&amp;lt;/strong&amp;gt;：&amp;lt;br&amp;gt;&amp;#xA;规避句式单一，长短句交错，变换信息密度，给阅读留出停顿换气。&amp;lt;br&amp;gt;&amp;#xA;2.&amp;lt;strong&amp;gt;多展示，少解释&amp;lt;/strong&amp;gt;：&amp;lt;br&amp;gt;&amp;#xA;放弃直白情绪标签，描写动作、神态、环境氛围，把解读权交给读者。&amp;lt;br&amp;gt;&amp;#xA;3.&amp;lt;strong&amp;gt;善用留白&amp;lt;/strong&amp;gt;：&amp;lt;br&amp;gt;&amp;#xA;意象不要堆砌过满，情绪高点与结尾适当收束，以虚衬实，留下回味空间。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;当文字拥有呼吸，再平凡的事物，也能耐人寻味、余音绕梁。&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;思考拓展&amp;#34;&amp;gt;思考拓展&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;1.&amp;lt;strong&amp;gt;文字为什么需要呼吸感？&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;#xA;张弛的节奏、场景化展示、留白，消除阅读窒息与疲劳，给读者想象空间，让普通文本拥有回味余地。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;2.&amp;lt;strong&amp;gt;如何规避解释过多的写作误区？&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;#xA;把“他很烦躁”这类直接情绪标签，替换成对动作、眼神、环境氛围的客观描写，调动读者自主感受。&amp;lt;/p&amp;gt;</description>
    </item>
    
    
    <item>
      <title>时间轴设想</title>
      <link>https://domal.cc/thinking/%E6%97%B6%E9%97%B4%E8%BD%B4%E8%AE%BE%E6%83%B3/</link>
      <pubDate>Wed, 12 Aug 2026 18:00:00 &#43;0800</pubDate>
      
      <guid>https://domal.cc/thinking/%E6%97%B6%E9%97%B4%E8%BD%B4%E8%AE%BE%E6%83%B3/</guid>
      <description>&amp;lt;p&amp;gt;阿里技术大事记时间轴 Html 复刻方案&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h1 id=&amp;#34;html可视化时间轴复刻实践分享&amp;#34;&amp;gt;HTML可视化时间轴复刻实践分享&amp;lt;/h1&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;一开发背景&amp;#34;&amp;gt;一、开发背景&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;偶然看到一款双层分流式技术大事记时间轴设计图，整体曲线脉络、上下分层事件卡片、竖排年份标注的视觉形式表现力很强，适合用来展示企业多年技术发展里程碑，于是决定使用原生 HTML/CSS/SVG 进行页面复刻。&amp;#xA;本次复刻没有做到像素级一比一还原，但视觉结构、分层逻辑、矢量绘图核心效果已高度贴近原图，仍有细节优化空间。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;img src=&amp;#34;https://p11-flow-imagex-sign.byteimg.com/tos-cn-i-a9rns2rl98/10e40536619141a89e0c5a47fc93f760.png~tplv-a9rns2rl98-image-qvalue.image?lk3s=8e244e95&amp;amp;amp;rcl=20260813145004D0DEFD984F0C6ACA93F1&amp;amp;amp;rrcfp=1860f75c&amp;amp;amp;x-expires=1787208604&amp;amp;amp;x-signature=yk9IF6ByhAkzGsI9pbhdKBPpLoU%3D&amp;#34; alt=&amp;#34;参考&amp;#34;&amp;gt;&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;二整体技术选型&amp;#34;&amp;gt;二、整体技术选型&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;整体采用&amp;lt;strong&amp;gt;无第三方依赖原生前端方案&amp;lt;/strong&amp;gt;，轻量化、可直接在浏览器打开运行，适配大屏展示场景：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ol&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;HTML5&amp;lt;/strong&amp;gt;：语义化结构承载标题、年份事件卡片，划分上下两层事件轨道；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;CSS3&amp;lt;/strong&amp;gt;：变量管理主题色、绝对定位布局、文字竖排、响应式横向滚动、多层元素层级控制；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;原生 SVG&amp;lt;/strong&amp;gt;：绘制全部时间主线、分支连接线、节点圆点，矢量图形放大不失真；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;不引入 JS、图片、外部样式表，所有逻辑与视觉全部内联在单文件中，打包、分发、使用更便捷。&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ol&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;三复刻过程中的核心难点与解决方案&amp;#34;&amp;gt;三、复刻过程中的核心难点与解决方案&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;1-多层曲线时间脉络绘制svg难点&amp;#34;&amp;gt;1. 多层曲线时间脉络绘制（SVG难点）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;h4 id=&amp;#34;难点&amp;#34;&amp;gt;难点&amp;lt;/h4&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;原图时间轴并非单一直线，是多条交错弯折的折线路径，同时区分主视觉蓝线与灰色辅助线；每条年份节点需要垂直连线连接上下事件卡片，还要区分普通节点与终点标识圆点，手动编写路径坐标极易错位。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h4 id=&amp;#34;解决方案&amp;#34;&amp;gt;解决方案&amp;lt;/h4&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;分层编写 &amp;lt;code&amp;gt;&amp;amp;lt;path&amp;amp;gt;&amp;lt;/code&amp;gt;，区分 &amp;lt;code&amp;gt;.blue&amp;lt;/code&amp;gt; 主线、&amp;lt;code&amp;gt;.thin&amp;lt;/code&amp;gt; 细蓝辅助线、&amp;lt;code&amp;gt;.grey&amp;lt;/code&amp;gt; 灰色分层线，视觉层次和原图对齐；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;统一规划节点坐标，先标记所有年份对应圆点位置，再批量编写垂直连接线，保证卡片和主线一一对应；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;用两类 &amp;lt;code&amp;gt;circle&amp;lt;/code&amp;gt; 区分普通节点与蓝色终点圆点，强化视觉收尾。&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;2-上下双层事件卡片定位排版&amp;#34;&amp;gt;2. 上下双层事件卡片定位排版&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;h4 id=&amp;#34;难点-1&amp;#34;&amp;gt;难点&amp;lt;/h4&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;设计分为 &amp;lt;code&amp;gt;top&amp;lt;/code&amp;gt; 上层、&amp;lt;code&amp;gt;bottom&amp;lt;/code&amp;gt; 下层两条事件流，同年份可同时存在上下两条记录；所有卡片使用绝对定位，坐标偏移细微就会出现文字重叠、年份文字和主线脱节；竖排年份文字需要紧贴节点左侧，排版容错率极低。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h4 id=&amp;#34;解决方案-1&amp;#34;&amp;gt;解决方案&amp;lt;/h4&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;区分 &amp;lt;code&amp;gt;.entry.top&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;.entry.bottom&amp;lt;/code&amp;gt; 两套定位规则，分别控制上下卡片距离主线的间距；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;单独为竖排年份 &amp;lt;code&amp;gt;.year&amp;lt;/code&amp;gt; 设置 &amp;lt;code&amp;gt;writing-mode: vertical-rl&amp;lt;/code&amp;gt;，独立层级不遮挡正文；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;多轮视觉校正微调 left、bottom/top 坐标，新增多组修正样式，避免卡片互相遮挡；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;为不同长度文案的卡片设置差异化固定宽度，防止文字溢出错乱。&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;3-主题色彩统一管理与样式复用&amp;#34;&amp;gt;3. 主题色彩统一管理与样式复用&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;h4 id=&amp;#34;难点-2&amp;#34;&amp;gt;难点&amp;lt;/h4&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;页面多处复用深蓝主色、浅蓝标注色、灰色辅助线，分散写颜色值后期修改成本极高；页面包含标题、年份、正文、标记文字多种字号，样式零散难以维护。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h4 id=&amp;#34;解决方案-2&amp;#34;&amp;gt;解决方案&amp;lt;/h4&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;使用 CSS &amp;lt;code&amp;gt;:root&amp;lt;/code&amp;gt; 定义全局颜色变量 &amp;lt;code&amp;gt;--blue&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;--sky&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;--ink&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;--line&amp;lt;/code&amp;gt;，全局一处修改即可更换整套配色；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;统一封装 &amp;lt;code&amp;gt;.mark&amp;lt;/code&amp;gt; 标记类，用于突出飞天FT3等核心项目标识；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;层级分层控制 z-index：SVG底层曲线 → 年份文字层 → 事件卡片正文，解决元素遮挡问题。&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;4-宽幅画布适配与滚动兼容&amp;#34;&amp;gt;4. 宽幅画布适配与滚动兼容&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;h4 id=&amp;#34;难点-3&amp;#34;&amp;gt;难点&amp;lt;/h4&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;完整时间轴画布宽度超过常规屏幕尺寸，直接展示会裁切右侧年份事件；窄屏设备无法完整浏览全部时间线。&amp;lt;/p&amp;gt;</description>
    </item>
    
    <item>
      <title>更新日志</title>
      <link>https://domal.cc/updates/</link>
      <pubDate>Wed, 12 Aug 2026 11:53:00 &#43;0800</pubDate>
      
      <guid>https://domal.cc/updates/</guid>
      <description>&amp;lt;p&amp;gt;事不目见耳闻，而臆断其有无，可乎？&amp;lt;br&amp;gt;&amp;#xA;每一次的更迭、功能的增减、文字的沉淀，皆如实录于此。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;20260912-文章右侧目录栏&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;num&amp;#34;&amp;gt;2026·09·12&amp;lt;/span&amp;gt; 文章右侧目录栏&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;桌面右侧目录栏&amp;#34;&amp;gt;桌面右侧目录栏&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;桌面（≥1240px）&amp;lt;/strong&amp;gt;：正文右侧 &amp;lt;strong&amp;gt;sticky 目录栏&amp;lt;/strong&amp;gt;——滚动高亮当前章节、阅读进度 0%→100%、展开/收起全部子目录、点击平滑定位（含 URL hash 同步）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;工具栏含「回到顶部」按钮：平滑回顶 → 清除 URL hash&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;移动端（&amp;amp;lt;1240px）&amp;lt;/strong&amp;gt;：目录整栏隐藏&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;目录由 JS 从 &amp;lt;code&amp;gt;.prose&amp;lt;/code&amp;gt; 的 &amp;lt;code&amp;gt;h2 / h3&amp;lt;/code&amp;gt; 自动构建（标题 id 由 goldmark 生成），&amp;lt;strong&amp;gt;内容改动无需维护目录&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;有效标题 &amp;amp;lt; 3 个自动整栏隐藏；front matter 加 &amp;lt;code&amp;gt;toc: false&amp;lt;/code&amp;gt; 可整页关闭；&amp;lt;code&amp;gt;books&amp;lt;/code&amp;gt;（阅读器模式）与 &amp;lt;code&amp;gt;gallery&amp;lt;/code&amp;gt; 不启用&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;宽布局类 &amp;lt;code&amp;gt;html.toc-enabled&amp;lt;/code&amp;gt; 在 &amp;lt;code&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/code&amp;gt; 预置（与阅读模式同思路），首帧即生效，正文宽度不跳动、底部导航不闪现&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;适用：posts / thinking / about 共 14 页；构建侧注意——Hugo &amp;lt;code&amp;gt;--minify&amp;lt;/code&amp;gt; 的 JS 压缩器对正则字面量与 &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;\r&amp;lt;/code&amp;gt; 转义有误判，目录脚本已完全规避&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;20260911-排版--书籍移动端阅读模式&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;num&amp;#34;&amp;gt;2026·09·11&amp;lt;/span&amp;gt; 排版 · 书籍移动端阅读模式&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;首字下沉不再误伤引用-引文&amp;#34;&amp;gt;首字下沉不再误伤引用（&amp;lt;code&amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; 引文）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;修复&amp;lt;/strong&amp;gt;：引文块首个字被意外放大下沉（如文章开头的 &amp;lt;code&amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; 说明块）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;根因：原选择器 &amp;lt;code&amp;gt;.prose p:first-child::first-letter&amp;lt;/code&amp;gt; 过于宽泛——&amp;lt;code&amp;gt;blockquote&amp;lt;/code&amp;gt; / 列表 / 表格内的第一个段落都会被命中&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;方案：收紧为 &amp;lt;code&amp;gt;.prose &amp;amp;gt; p:first-child::first-letter&amp;lt;/code&amp;gt;（仅命中正文首个直接段落），引文不再自动触发&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;首字下沉改为按需开启&amp;#34;&amp;gt;首字下沉改为「按需开启」&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;开启 goldmark 块级属性：&amp;lt;code&amp;gt;markup.goldmark.parser.attribute.block: true&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;在需要下沉的段落（含引文内段落）后另起一行写 &amp;lt;code&amp;gt;{.dropcap}&amp;lt;/code&amp;gt; 即可，行内 Markdown（代码 / 粗体）不受影响；删掉该行即恢复普通排版&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;有序列表序号向左溢出修复&amp;#34;&amp;gt;有序列表序号向左溢出修复&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;修复&amp;lt;/strong&amp;gt;：正文有序列表（如文章「目录」的 &amp;lt;code&amp;gt;1. 2. 3. …&amp;lt;/code&amp;gt;）序号被挤出容器左侧、掉进页边距&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;根因：&amp;lt;code&amp;gt;.prose ul, .prose ol { padding-left: 0 }&amp;lt;/code&amp;gt; 对有序列表同样生效，而 &amp;lt;code&amp;gt;ol&amp;lt;/code&amp;gt; 序号默认 &amp;lt;code&amp;gt;list-style-position: outside&amp;lt;/code&amp;gt;，没有留下悬挂空间&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;方案：拆开规则——&amp;lt;code&amp;gt;ul&amp;lt;/code&amp;gt; 保留 0（改用自定义「—」伪元素）；&amp;lt;code&amp;gt;ol&amp;lt;/code&amp;gt; 单独给 &amp;lt;code&amp;gt;padding-left: 2em&amp;lt;/code&amp;gt; 悬挂缩进，并让序号统一为弱化灰 &#43; 等宽字体，与「—」项目符号呼应&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;超长-token-撑破移动端布局修复&amp;#34;&amp;gt;超长 token 撑破移动端布局修复&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;修复&amp;lt;/strong&amp;gt;：正文里的超长不可断行内容（长路径 / 类名 / 配置键）顶破容器，移动端整页出现横向滚动条&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;根因：&amp;lt;code&amp;gt;.prose&amp;lt;/code&amp;gt; 未声明 &amp;lt;code&amp;gt;overflow-wrap&amp;lt;/code&amp;gt;，行内 &amp;lt;code&amp;gt;&amp;amp;lt;code&amp;amp;gt;&amp;lt;/code&amp;gt; 中如 &amp;lt;code&amp;gt;Views/ViewModels/Models/Services/Helpers/Resources/tools/&amp;lt;/code&amp;gt;（57 字符 ≈ 436px）无法折行，而移动端 &amp;lt;code&amp;gt;main.page&amp;lt;/code&amp;gt; &#43; &amp;lt;code&amp;gt;article.post-shell&amp;lt;/code&amp;gt; 双层内边距后可用宽度只有约 272px&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;方案：&amp;lt;code&amp;gt;.prose { overflow-wrap: break-word }&amp;lt;/code&amp;gt;——长 token 仅在放不下时折行；&amp;lt;code&amp;gt;&amp;amp;lt;pre&amp;amp;gt;&amp;lt;/code&amp;gt; 因 &amp;lt;code&amp;gt;white-space: pre&amp;lt;/code&amp;gt; 不受影响仍横向滚动，表格单元格沿用更激进的 &amp;lt;code&amp;gt;anywhere&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;书籍章节取消首字下沉&amp;#34;&amp;gt;书籍章节：取消首字下沉&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;章节正文改用 &amp;lt;code&amp;gt;.prose--book&amp;lt;/code&amp;gt;，重置 &amp;lt;code&amp;gt;::first-letter&amp;lt;/code&amp;gt;（长篇连续阅读时首字放大会打断节奏）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;重置写法与 &amp;lt;code&amp;gt;.prose--thinking&amp;lt;/code&amp;gt; 保持一致；如需某段单独启用，仍可手动写 &amp;lt;code&amp;gt;{.dropcap}&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;书籍章节移动端沉浸阅读阅读器模式&amp;#34;&amp;gt;书籍章节：移动端沉浸阅读（阅读器模式）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;≤600px 时底部导航默认收起&amp;lt;/strong&amp;gt;，轻触正文空白处唤出 / 收起，营造阅读 App 的沉浸感&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/code&amp;gt; 中尽早打 &amp;lt;code&amp;gt;html.reader-mode&amp;lt;/code&amp;gt; 标记，避免底部导航「先渲染再收起」的闪现（与主题 FOUC 处理同思路）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;导航收起时同步收回为其预留的 72px 底部空间，正文可占满整屏；过渡与导航滑出同节奏&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;点按链接 / 按钮 / 代码复制 / 评论区 / 灯箱时不触发切换，避免误操作；首次进入有一次轻提示（每会话仅一次）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;自动收起&amp;lt;/strong&amp;gt;：点击唤出后 2.5 秒无操作自动收起；页面滑动（向上 / 向下）立即收起&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;在导航内操作（触摸 / 移动 / 聚焦）会重置这 2.5 秒，翻看章节目录不会看到一半被收走&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;滑动判定设 200ms 宽限期 &#43; 12px 位移阈值：唤出导航会让 &amp;lt;code&amp;gt;.page&amp;lt;/code&amp;gt; 底部内边距变化，避免出现「刚唤出就被收走」&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;滑到底部自动弹出&amp;lt;/strong&amp;gt;：滚到距底部 24px 内自动唤出导航（方便点「下一章 / 返回目录」），且&amp;lt;strong&amp;gt;不参与 2.5 秒倒计时&amp;lt;/strong&amp;gt;——触底弹出的导航保持常驻，直到离开底部（向上滑动）或轻触收起；点击唤出的导航仍按 2.5 秒自动收起&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;20260909-明暗主题方案重构--点赞识别修复&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;num&amp;#34;&amp;gt;2026·09·09&amp;lt;/span&amp;gt; 明暗主题方案重构 · 点赞识别修复&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;明暗主题切换改为单一-data-theme-驱动&amp;#34;&amp;gt;明暗主题切换改为「单一 data-theme 驱动」&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;重构&amp;lt;/strong&amp;gt;：弃用此前「&amp;lt;code&amp;gt;&amp;amp;lt;html&amp;amp;gt;&amp;lt;/code&amp;gt; 内联 &amp;lt;code&amp;gt;color-scheme&amp;lt;/code&amp;gt; &#43; JS 运行时改写 style」的方案（移动端存在竞态，切回亮色仍被浏览器压暗）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;最终方案：&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/code&amp;gt; 加 &amp;lt;code&amp;gt;&amp;amp;lt;meta name=&amp;amp;quot;color-scheme&amp;amp;quot; content=&amp;amp;quot;light dark&amp;amp;quot;&amp;amp;gt;&amp;lt;/code&amp;gt;（HTML 级、最早生效的退出 Auto Dark 锚点）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;color-scheme&amp;lt;/code&amp;gt; 完全交由 CSS &amp;lt;code&amp;gt;[data-theme=&amp;#39;light&amp;#39;/&amp;#39;dark&amp;#39;]&amp;lt;/code&amp;gt; 属性选择器跟随&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;JS（FOUC 初始化 / 手动切换 / 跟随系统）&amp;lt;strong&amp;gt;只切换 &amp;lt;code&amp;gt;data-theme&amp;lt;/code&amp;gt;&amp;lt;/strong&amp;gt;，不再手动写内联样式，杜绝双写竞态&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;效果：移动端系统暗色时也能真正切回亮色，明暗分明&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;点赞计数按真实-ip-识别&amp;#34;&amp;gt;点赞计数按真实 IP 识别&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;修复&amp;lt;/strong&amp;gt;：换设备 / 换 IP 点赞仍只能 &#43;1（看似只有一次赞）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;根因：站点经 Nginx 反代，Artalk 服务端 &amp;lt;code&amp;gt;http.proxy_header&amp;lt;/code&amp;gt; 未配置，所有请求的 &amp;lt;code&amp;gt;c.IP()&amp;lt;/code&amp;gt; 相同（内网地址）→ 不同访客被识别为同一人，互相&amp;amp;quot;取消&amp;amp;quot;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;方案：&amp;lt;code&amp;gt;artalk.yml&amp;lt;/code&amp;gt; 配置 &amp;lt;code&amp;gt;http.proxy_header: &amp;amp;quot;X-Forwarded-For&amp;amp;quot;&amp;lt;/code&amp;gt; 读取真实访客 IP，重启容器后不同 IP 各自独立计数&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;20260906-阅读量修复--明暗主题加固--移动端体验优化&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;num&amp;#34;&amp;gt;2026·09·06&amp;lt;/span&amp;gt; 阅读量修复 · 明暗主题加固 · 移动端体验优化&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;书籍章节页评论默认关闭&amp;#34;&amp;gt;书籍章节页评论默认关闭&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;章节内容下方不再默认显示评论区，页面更聚焦阅读&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;如需某章开放讨论：该章 front matter 加 &amp;lt;code&amp;gt;comments: true&amp;lt;/code&amp;gt; 即可&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;阅读量失效修复&amp;#34;&amp;gt;阅读量（👁）失效修复&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;修复&amp;lt;/strong&amp;gt;：评论关闭的页面阅读量恒为 0（评论挂载才会触发 Artalk 初始化，而 PV 统计依赖初始化）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;新增独立 PV 统计 &amp;lt;code&amp;gt;trackPV&amp;lt;/code&amp;gt; &#43; 公共兜底 &amp;lt;code&amp;gt;partials/pv-fallback.html&amp;lt;/code&amp;gt;：评论关闭时直接调用 Artalk &amp;lt;code&amp;gt;pages/pv&amp;lt;/code&amp;gt; 接口累计回填&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;覆盖：书籍章节页、关于页、更新日志页等所有&amp;amp;quot;关闭评论但仍显示阅读量&amp;amp;quot;的页面，全站 PV 恢复真实计数&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;明暗主题跟随系统加固移动端&amp;#34;&amp;gt;明暗主题跟随系统加固（移动端）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;修复&amp;lt;/strong&amp;gt;：移动端（Android Chrome 等）系统暗色时无法切回亮色，表现两色相近&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;根因：浏览器 Auto Dark Theme 对未强声明 &amp;lt;code&amp;gt;color-scheme&amp;lt;/code&amp;gt; 的页面强制套暗色滤镜&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;初版方案：&amp;lt;code&amp;gt;&amp;amp;lt;html&amp;amp;gt;&amp;lt;/code&amp;gt; 内联 &amp;lt;code&amp;gt;color-scheme&amp;lt;/code&amp;gt; &#43; JS 切换时同步更新 &#43; &amp;lt;code&amp;gt;html&amp;lt;/code&amp;gt; 铺满背景色&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;此方案后有竞态缺陷，已重构为「单一 data-theme 驱动 &#43; meta color-scheme」，见 2026·09·09 条目&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;页脚备案完善&amp;#34;&amp;gt;页脚备案完善&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;页脚新增&amp;lt;strong&amp;gt;公安备案&amp;lt;/strong&amp;gt;（含官方图标）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;ICP 与公安备案、版权信息等字体间距统一&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;备案号按网安要求指向官方查询站（beian.miit.gov.cn / beian.mps.gov.cn）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;点赞与匿名评论说明&amp;#34;&amp;gt;点赞与匿名评论说明&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;点赞采用 Artalk 页面投票：同一访客（按 IP）可赞/取消 toggle，不叠加；不同访客各自累计&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;评论支持免登录匿名（填昵称即可），邮箱字段不再必填&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;20260823-碎碎念体验升级--打字机修复&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;num&amp;#34;&amp;gt;2026·08·23&amp;lt;/span&amp;gt; 碎碎念体验升级 · 打字机修复&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;碎碎念图片九宫格&amp;#34;&amp;gt;碎碎念图片九宫格&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;新增 &amp;lt;code&amp;gt;say-photos&amp;lt;/code&amp;gt; shortcode：一句话 &#43; 下方 1~9 张图片，&amp;lt;strong&amp;gt;微信朋友圈式布局&amp;lt;/strong&amp;gt;自适应（1 张原比例 / 2 张 3:4 竖图 / 4 张 2×2 / 其余 3 列方形网格）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;图片点击进入 &amp;lt;strong&amp;gt;PhotoSwipe 全屏灯箱&amp;lt;/strong&amp;gt;，左右翻看 / 缩放 / 键盘导航（与画廊同款，每条说说图片独立成组）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;用法：图片放 &amp;lt;code&amp;gt;static/says/&amp;amp;lt;说说文件名&amp;amp;gt;/&amp;lt;/code&amp;gt;，正文写 &amp;lt;code&amp;gt;{{&amp;amp;lt; say-photos &amp;amp;quot;1.png&amp;amp;quot; &amp;amp;quot;2.png&amp;amp;quot; ... &amp;amp;gt;}}&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;碎碎念评论数徽标&amp;#34;&amp;gt;碎碎念评论数徽标&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;每条说说「💬 评论」旁新增 &amp;lt;strong&amp;gt;&#43;N&amp;lt;/strong&amp;gt; 评论数徽标：有评论才显示、无评论隐藏&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;批量统计接口一次请求取回全部说说的评论数，不逐条轮询&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;首页碎碎念模块纯文字&amp;#34;&amp;gt;首页碎碎念模块纯文字&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;首页活动区碎碎念仅显示文字摘要（剥离图片），点击直达 &amp;lt;code&amp;gt;/says/#say-xxx&amp;lt;/code&amp;gt; 对应锚点查看完整内容&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;打字机效果修复&amp;#34;&amp;gt;打字机效果修复&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;修复&amp;lt;/strong&amp;gt;：一言 API 成功时仅取回 1 句，导致首页打字机永远重复同一句&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;改为：&amp;lt;strong&amp;gt;本地 8 条语录始终为基础&amp;lt;/strong&amp;gt; &#43; 并行拉取 4 条一言（文学/诗词/网络/影视，去重），完整实现「打出 → 停顿 → 删除 → &amp;lt;strong&amp;gt;切换下一句&amp;lt;/strong&amp;gt;」轮换&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;聚合时间线优化&amp;#34;&amp;gt;聚合时间线优化&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;首页发丝图 Tooltip 中碎碎念条目点击&amp;lt;strong&amp;gt;直达对应说说锚点&amp;lt;/strong&amp;gt;（原为跳到列表页顶部）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;代码审查与清理&amp;#34;&amp;gt;代码审查与清理&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;移除已废弃的 Giscus 主题文件；清理 &amp;lt;code&amp;gt;domal.css&amp;lt;/code&amp;gt; 旧分页死类（&amp;lt;code&amp;gt;.pagination&amp;lt;/code&amp;gt;）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;清理注释代码与未使用变量（页脚导航注释、Tooltip 注释、&amp;lt;code&amp;gt;$featured&amp;lt;/code&amp;gt;、打字机死参数等）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;更新关于页栏目定名与功能描述，与首页实际显示一致&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;20260822-artalk-评论系统上线&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;num&amp;#34;&amp;gt;2026·08·22&amp;lt;/span&amp;gt; Artalk 评论系统上线&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;评论系统迁移giscus--artalk&amp;#34;&amp;gt;评论系统迁移（Giscus → Artalk）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;评论系统由 Giscus（需 GitHub 登录）迁移为 &amp;lt;strong&amp;gt;Artalk&amp;lt;/strong&amp;gt;（Go 单二进制 &#43; SQLite 自托管），访客&amp;lt;strong&amp;gt;免登录匿名评论&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;覆盖范围：文墨集 / 静思笺 / 丹青匣 / 藏书阁章节页 / 关于页&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;深浅主题自动跟随站点切换；管理面板支持评论审核、删除、防垃圾与邮件通知&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;阅读量升级不蒜子--artalk&amp;#34;&amp;gt;阅读量升级（不蒜子 → Artalk）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;文章 / 思考 / 画廊 / 书籍章节页阅读量改为 &amp;lt;strong&amp;gt;Artalk 页面浏览量&amp;lt;/strong&amp;gt;：真实计数、数据存于本地 SQLite 可导出备份&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;移除不蒜子第三方脚本与 localStorage 防重复计数逻辑&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;点赞真实化localstorage--artalk-页面投票&amp;#34;&amp;gt;点赞真实化（localStorage → Artalk 页面投票）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;文章 / 思考页 ♡ 点赞改为 &amp;lt;strong&amp;gt;Artalk 页面投票&amp;lt;/strong&amp;gt;：服务端真实计数、同访客防重复、点击后变 ♥&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;移除原先仅存本机浏览器的假点赞&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;碎碎念says评论上线&amp;#34;&amp;gt;碎碎念（Says）评论上线&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;每条说说底部新增「💬 评论」入口，展开即见该条说说的独立评论区（QQ 空间式）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;手风琴交互&amp;lt;/strong&amp;gt;：同一时间只展开一条评论，点击其他说说自动收起上一条，再次点击收起本条&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;首次展开才挂载评论实例，多条说说互不串评、不重复计数&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;其他&amp;#34;&amp;gt;其他&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;Artalk 前端本地托管（无 CDN 依赖），非首页按需加载&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;新增部署指南 &amp;lt;code&amp;gt;themes/domal/README-artalk.md&amp;lt;/code&amp;gt;（服务端一键启动脚本 &#43; 上线注意事项）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;20260818-正文表格窄屏自适应&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;num&amp;#34;&amp;gt;2026·08·18&amp;lt;/span&amp;gt; 正文表格窄屏自适应&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;表格自适应优化about-等正文页&amp;#34;&amp;gt;表格自适应优化（About 等正文页）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;修复&amp;lt;/strong&amp;gt;：正文表格在移动端超出屏幕宽度、撑破容器的问题&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;根因：单元格内无空格的长路径（如 &amp;lt;code&amp;gt;content/gallery/*/&amp;lt;/code&amp;gt;）无法断行，表格按最大内容宽度被撑开&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;方案：保持原生表格结构不变，仅让长路径允许任意断行（&amp;lt;code&amp;gt;overflow-wrap: anywhere&amp;lt;/code&amp;gt;），窄屏下再压缩单元格内边距与字号，表格自动收缩到容器宽度内，不再横向溢出&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;20260813-分页功能上线--文章卡片化--代码演示组件&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;num&amp;#34;&amp;gt;2026·08·13&amp;lt;/span&amp;gt; 分页功能上线 · 文章卡片化 · 代码演示组件&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;列表分页全站统一&amp;#34;&amp;gt;列表分页（全站统一）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;新增自定义翻页组件：&amp;lt;code&amp;gt;← 上一页　共 X 页 · 第 Y 页　下一页 →&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;Posts 列表：&amp;lt;strong&amp;gt;每页 9 篇&amp;lt;/strong&amp;gt;，超过 9 篇下方自动出现翻页按钮&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;Tags / Categories / Thinking 列表同步统一翻页样式&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;翻页仅在多页时显示，单页不出现&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;文墨集文章列表卡片化&amp;#34;&amp;gt;文墨集（文章列表）卡片化&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;每条文章改为一组独立卡片框（暖灰底 &#43; 圆角 &#43; hover 梅红），与闲谈录风格一致&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;摘要限制最多两行，超出自动省略号&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;代码演示组件模板化&amp;#34;&amp;gt;代码演示组件模板化&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;新增通用 shortcode：&amp;lt;code&amp;gt;html-sample&amp;lt;/code&amp;gt;（HTML 代码 / 渲染预览 / 一键复制）与 &amp;lt;code&amp;gt;code-block&amp;lt;/code&amp;gt;（任意语言代码块 &#43; 复制）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;两组件样式合并去重，视觉与主题统一&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;20260812-文章体验优化--页脚导航--岁序谱修复&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;num&amp;#34;&amp;gt;2026·08·12&amp;lt;/span&amp;gt; 文章体验优化 · 页脚导航 · 岁序谱修复&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;文章页体验&amp;#34;&amp;gt;文章页体验&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;文章详情顶部元信息栏新增&amp;lt;strong&amp;gt;返回栏目链接&amp;lt;/strong&amp;gt;（&amp;lt;code&amp;gt;← Posts&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;← Gallery&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;← Thinking&amp;lt;/code&amp;gt;），与画廊详情页风格统一，一键回到列表&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;页脚导航升级&amp;#34;&amp;gt;页脚导航升级&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;新增页脚导航链接行：&amp;lt;strong&amp;gt;About / Friends / Update / Projects / Tag&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;桌面端：tagline 居左、链接右对齐；移动端自动居中堆叠&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;ICP 备案号在移动端自动换行显示于版权文字下方&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;移除页脚导航行的顶部分隔线，观感更轻盈&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;岁序谱首页聚合时间线tooltip-修复&amp;#34;&amp;gt;岁序谱（首页聚合时间线）Tooltip 修复&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;修复&amp;lt;/strong&amp;gt;：悬停发丝日期时 Tooltip 被上下裁切的问题&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;根因：原 Tooltip 内嵌于 SVG &amp;lt;code&amp;gt;&amp;amp;lt;foreignObject&amp;amp;gt;&amp;lt;/code&amp;gt;，受 &amp;lt;code&amp;gt;overflow-x: auto&amp;lt;/code&amp;gt; 滚动容器双重裁切&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;方案：Tooltip 改为&amp;lt;strong&amp;gt;独立 HTML 浮层 &#43; JS 动态定位&amp;lt;/strong&amp;gt;（完全脱离 overflow 裁切，支持左右/上下越界自动翻转、滚动/缩放跟随重定位、移入卡片保持显示可点击）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;岁序谱时间线页全面优化&amp;#34;&amp;gt;岁序谱（时间线页）全面优化&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;年份 Tab 切换&amp;lt;/strong&amp;gt;：点击年份胶囊仅显示该年内容，其他年份自动隐藏；激活年份胶囊高亮主题色&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;移除冗余&amp;lt;/strong&amp;gt;：删除被注释禁用的 &amp;lt;code&amp;gt;timeline-progress&amp;lt;/code&amp;gt; 年份进度条&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;年份导航降序&amp;lt;/strong&amp;gt;：&amp;lt;code&amp;gt;2026 → 2025 → 2024&amp;lt;/code&amp;gt; 从新到旧排列&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;年份标题显示发布月份&amp;lt;/strong&amp;gt;：如 &amp;lt;code&amp;gt;2026 (12) 八月 · 七月 · 四月&amp;lt;/code&amp;gt;，月份为可点击锚点，平滑定位并展开对应月份分组&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;按月折叠分组&amp;lt;/strong&amp;gt;：默认展开最新月份，其余折叠为紧凑胶囊（&amp;lt;code&amp;gt;▸ 八月 (6)&amp;lt;/code&amp;gt;）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;视觉升级（参考 Geil.Danke! 时间线）&amp;lt;/strong&amp;gt;：菱形节点（hover 旋转 &#43; 主题色光晕）、日期标签柔和化、竖向线对齐节点中心&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;锚点联动：&amp;lt;code&amp;gt;#year-2025&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;#month-2026-8&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;#day-2026-04-15&amp;lt;/code&amp;gt; 自动切换年份、展开分组并平滑滚动&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;20260811-画廊上线--首页焕新--主题精简&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;num&amp;#34;&amp;gt;2026·08·11&amp;lt;/span&amp;gt; 画廊上线 · 首页焕新 · 主题精简&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;画廊系统-gallery&amp;#34;&amp;gt;画廊系统（ Gallery）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;废弃&amp;lt;/strong&amp;gt;「手记」栏目，新增「丹青匣」画廊&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;画廊列表：响应式相册卡片网格（封面自动取色 &#43; hover 缩放 &#43; 照片数/日期）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;相册详情：内嵌 &amp;lt;strong&amp;gt;PhotoSwipe 5&amp;lt;/strong&amp;gt; 专业灯箱（左右滑动 / 缩放 / 键盘 / URL 直达 &#43; &amp;lt;code&amp;gt;#图片名&amp;lt;/code&amp;gt;）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;修复：无图/缺图相册也渲染占位卡片，不再&amp;amp;quot;上传多组只显示一组&amp;amp;quot;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;图片标题：优先 front matter &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;，自动去除 &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; 扩展名&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;首页活动区升级&amp;#34;&amp;gt;首页活动区升级&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;四栏布局定名：&amp;lt;strong&amp;gt;文墨集 / 丹青匣 / 静思笺 / 闲谈录&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;丹青匣：展示相册封面缩略图（可点进详情）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;闲谈录：点击直达 says 页面对应锚点（平滑滚动）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;文墨集：严格限定只展示 posts 文章&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;主题精简与健壮性&amp;#34;&amp;gt;主题精简与健壮性&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;修复 FOUC（主题初始化前置 &amp;lt;code&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/code&amp;gt;，无闪烁）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;修复缺失的 &amp;lt;code&amp;gt;favicon.ico&amp;lt;/code&amp;gt;；清理 &amp;lt;code&amp;gt;main.js&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;mainSections&amp;lt;/code&amp;gt; 死引用&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;清理 &amp;lt;code&amp;gt;domal.css&amp;lt;/code&amp;gt; 死类（旧 hero__ / btn* / 色板 / 反模式 / 代码框 / notes 残留）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;构建改用 &amp;lt;code&amp;gt;--cleanDestinationDir&amp;lt;/code&amp;gt;，杜绝 &amp;lt;code&amp;gt;public/&amp;lt;/code&amp;gt; 旧产物残留引发的&amp;amp;quot;内容消失&amp;amp;quot;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;页面完善&amp;#34;&amp;gt;页面完善&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;关于页：同步最新功能与四栏栏目命名&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;相册详情头：日期 &#43; 👁 浏览量 &#43; 返回画廊列表&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;20260727-重构&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;num&amp;#34;&amp;gt;2026·07·27&amp;lt;/span&amp;gt; 重构&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;参考 Shiro 交互（弹性导航 / 首页 Hero / 活动区 / 聚合时间线）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;移植 Yohaku 设计 token（梅红强调色 / 十阶中性灰 / 纸面底色）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;实现深浅主题切换、Giscus 评论、PhotoSwipe 画廊、KaTeX 公式、不蒜子阅读量&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h1 id=&amp;#34;时而直抒胸臆时而无病呻吟&amp;#34;&amp;gt;&amp;lt;em&amp;gt;时而直抒胸臆，时而无病呻吟&amp;lt;/em&amp;gt;&amp;lt;/h1&amp;gt;</description>
    </item>
    
    <item>
      <title>关于</title>
      <link>https://domal.cc/about/</link>
      <pubDate>Wed, 12 Aug 2026 11:53:00 &#43;0800</pubDate>
      
      <guid>https://domal.cc/about/</guid>
      <description>&amp;lt;p&amp;gt;你好哇，我是 &amp;lt;strong&amp;gt;豆沫&amp;lt;/strong&amp;gt;！欢迎来到「Domal」——&amp;lt;br&amp;gt;&amp;#xA;一隅方寸藏山海，浅墨叙浮生。间或直抒胸臆，偶作闲语自呻吟。&amp;lt;br&amp;gt;&amp;#xA;这是一个基于 Hugo 搭建的静态博客主题，借鉴了 &amp;lt;strong&amp;gt;Shiro&amp;lt;/strong&amp;gt; 的交互与 &amp;lt;strong&amp;gt;Yohaku&amp;lt;/strong&amp;gt; 的视觉，翻译成纯静态的模板、CSS 与 JS，让文字与光影自己说话。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;hr&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;01-项目起源&amp;#34;&amp;gt;&amp;lt;span class=&amp;#34;num&amp;#34;&amp;gt;01&amp;lt;/span&amp;gt; 项目起源&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;「Domal」将两套优秀开源项目的&amp;lt;strong&amp;gt;设计基因&amp;lt;/strong&amp;gt;移植到一个纯静态站点上：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;shiro--极简个人网站主题&amp;#34;&amp;gt;Shiro —— 极简个人网站主题&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;为 Mix Space 生态设计的极简主义者主题，吸收其：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;首页 &amp;lt;strong&amp;gt;Hero 区&amp;lt;/strong&amp;gt;：标题 / 描述 / 头像 / 社交链接&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;活动区&amp;lt;/strong&amp;gt;：四栏内容（纸上空谈 / 过眼烟云 / 静思笺 / 碎碎念）&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;聚合时间线&amp;lt;/strong&amp;gt;：发丝图 &#43; 每日发表量&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;弹性侧边导航栏&amp;lt;/strong&amp;gt; &#43; 点赞交互&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;yohaku--余白--为书写而生的排版系统&amp;#34;&amp;gt;Yohaku / 余白 —— 为书写而生的排版系统&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;一种主色，三档中性灰，剩下都是留白。吸收其：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;完整设计 token：&amp;lt;code&amp;gt;#c56473&amp;lt;/code&amp;gt; 梅红强调色 / 10 阶中性灰 / 纸面底色&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;衬线标题 &#43; 无衬线正文的&amp;lt;strong&amp;gt;字体契约&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;呼吸式动效与阅读节奏&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;书库、画廊、时间线等栏目版式&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;blockquote&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;将两者的视觉与交互「翻译」成 Hugo 模板 / CSS / JS，部署为纯静态站点。&amp;lt;br&amp;gt;Domal.&amp;lt;/p&amp;gt;</description>
    </item>
    
    <item>
      <title>Windows 11 无法删除 “NUL” 文件</title>
      <link>https://domal.cc/posts/%E7%B3%BB%E7%BB%9F%E6%96%87%E4%BB%B6/</link>
      <pubDate>Wed, 12 Aug 2026 09:55:03 &#43;0800</pubDate>
      <author>豆沫</author>
      <guid>https://domal.cc/posts/%E7%B3%BB%E7%BB%9F%E6%96%87%E4%BB%B6/</guid>
      <description>&amp;lt;h1 id=&amp;#34;windows-11-无法删除-nul文件-尝试粉碎文件等其他操作皆失败&amp;#34;&amp;gt;Windows 11 无法删除 “nul”文件？ 尝试粉碎文件等其他操作皆失败？&amp;lt;/h1&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;img src=&amp;#34;https://p6-flow-imagex-sign.byteimg.com/labis/image/20e121daf9135f39ec4c3806ebefab60~tplv-be4g95zd3a-448x448.jpeg?lk3s=8e244e95&amp;amp;amp;rcl=202608120959187219B888A040393321CE&amp;amp;amp;rrcfp=2033b573&amp;amp;amp;x-expires=1787104758&amp;amp;amp;x-signature=B%2BAeKgFVxLm4FWtp%2Fg4N94GxUhI%3D&amp;#34; alt=&amp;#34;nul&amp;#34;&amp;gt;&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;问题现象&amp;#34;&amp;gt;问题现象&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;整理文件时遇到诡异问题：文件夹内存在名为 &amp;lt;code&amp;gt;nul&amp;lt;/code&amp;gt; 的文件，大小354字节，使用常规删除操作时，系统弹窗提示：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;blockquote&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;MS-DOS 功能无效&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;/blockquote&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;根本原因穿越40年的兼容性债务&amp;#34;&amp;gt;根本原因：穿越40年的兼容性债务&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;该问题根源追溯至1981年发布的 MS-DOS 1.0，核心是&amp;lt;strong&amp;gt;DOS保留设备名&amp;lt;/strong&amp;gt;带来的系统兼容限制。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;保留设备名称reserved-device-names&amp;#34;&amp;gt;保留设备名称（Reserved Device Names）&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;DOS系统为硬件设备预留专属文件名，这类名称具备特殊系统含义，无需完整路径即可被系统识别：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;table&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;thead&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;th&amp;gt;名称&amp;lt;/th&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;th&amp;gt;对应设备含义&amp;lt;/th&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;/thead&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;tbody&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;CON&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;控制台（键盘&#43;显示器）&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;NUL&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;空设备（数据黑洞，写入内容直接丢弃）&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;PRN&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;默认打印机&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;AUX&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;辅助串口设备&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;COM1&amp;lt;/code&amp;gt;~&amp;lt;code&amp;gt;COM9&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;串行通讯端口&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;tr&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;LPT1&amp;lt;/code&amp;gt;~&amp;lt;code&amp;gt;LPT9&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;td&amp;gt;并行打印端口&amp;lt;/td&amp;gt;&amp;#xA;&amp;#x9;&amp;#x9;&amp;#x9;&amp;lt;/tr&amp;gt;&amp;#xA;&amp;#x9;&amp;lt;/tbody&amp;gt;&amp;#xA;&amp;lt;/table&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;DOS时代典型使用示例：&amp;#xA;&amp;lt;div class=&amp;#34;code-copy&amp;#34; data-code-copy&amp;gt;&amp;#xD;&amp;#xA;  &amp;lt;div class=&amp;#34;code-copy__toolbar&amp;#34;&amp;gt;&amp;#xD;&amp;#xA;    &amp;lt;span class=&amp;#34;code-copy__lang&amp;#34;&amp;gt;cmd&amp;lt;/span&amp;gt;&amp;#xD;&amp;#xA;    &amp;lt;button type=&amp;#34;button&amp;#34; class=&amp;#34;code-copy__copy&amp;#34; data-copy&amp;gt;复制代码&amp;lt;/button&amp;gt;&amp;#xD;&amp;#xA;  &amp;lt;/div&amp;gt;&amp;#xD;&amp;#xA;  &amp;lt;pre class=&amp;#34;code-copy__pre&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-cmd code-copy__source&amp;#34;&amp;gt;COPY CON file.txt  :: 从控制台输入内容保存到文件&amp;#xD;&amp;#xA;TYPE file.txt &amp;amp;gt; PRN :: 将文件内容直接发送打印机&amp;#xD;&amp;#xA;ECHO Hello &amp;amp;gt; NUL    :: 静默执行，不输出任何内容&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;#xD;&amp;#xA;&amp;lt;/div&amp;gt;&amp;#xD;&amp;#xA;&amp;lt;script&amp;gt;&amp;#xD;&amp;#xA;(function () {&amp;#xD;&amp;#xA;  function loadPrism(cb) {&amp;#xD;&amp;#xA;    if (!document.getElementById(&amp;#39;prism-domal-copy-style&amp;#39;)) {&amp;#xD;&amp;#xA;      var s = document.createElement(&amp;#39;style&amp;#39;);&amp;#xD;&amp;#xA;      s.id = &amp;#39;prism-domal-copy-style&amp;#39;;&amp;#xD;&amp;#xA;      s.textContent = [&amp;#xD;&amp;#xA;        &amp;#39;.code-copy .token.comment,.code-copy .token.prolog,.code-copy .token.doctype,.code-copy .token.cdata{color:var(--color-neutral-5);font-style:italic}&amp;#39;,&amp;#xD;&amp;#xA;        &amp;#39;.code-copy .token.punctuation{color:var(--color-neutral-6)}&amp;#39;,&amp;#xD;&amp;#xA;        &amp;#39;.code-copy .token.property,.code-copy .token.tag,.code-copy .token.boolean,.code-copy .token.number,.code-copy .token.constant,.code-copy .token.symbol,.code-copy .token.deleted{color:var(--color-accent)}&amp;#39;,&amp;#xD;&amp;#xA;        &amp;#39;.code-copy .token.selector,.code-copy .token.attr-name,.code-copy .token.string,.code-copy .token.char,.code-copy .token.builtin,.code-copy .token.inserted{color:var(--color-success)}&amp;#39;,&amp;#xD;&amp;#xA;        &amp;#39;.code-copy .token.operator,.code-copy .token.entity,.code-copy .token.url,.code-copy .language-css .token.string,.code-copy .style .token.string{color:var(--color-warning)}&amp;#39;,&amp;#xD;&amp;#xA;        &amp;#39;.code-copy .token.atrule,.code-copy .token.attr-value,.code-copy .token.keyword{color:var(--color-info)}&amp;#39;,&amp;#xD;&amp;#xA;        &amp;#39;.code-copy .token.function,.code-copy .token.class-name{color:var(--color-accent)}&amp;#39;,&amp;#xD;&amp;#xA;        &amp;#39;.code-copy .token.regex,.code-copy .token.important,.code-copy .token.variable{color:var(--color-warning)}&amp;#39;,&amp;#xD;&amp;#xA;        &amp;#39;.code-copy code[class*=&amp;#34;language-&amp;#34;],.code-copy pre[class*=&amp;#34;language-&amp;#34;]{color:var(--color-neutral-9);text-shadow:none;font-family:var(--font-mono)}&amp;#39;,&amp;#xD;&amp;#xA;        &amp;#39;.code-copy .token.dom-tag{color:var(--color-accent)}&amp;#39;&amp;#xD;&amp;#xA;      ].join(&amp;#39;\n&amp;#39;);&amp;#xD;&amp;#xA;      document.head.appendChild(s);&amp;#xD;&amp;#xA;    }&amp;#xD;&amp;#xA;    if (!document.getElementById(&amp;#39;prism-core&amp;#39;)) {&amp;#xD;&amp;#xA;      var s = document.createElement(&amp;#39;script&amp;#39;);&amp;#xD;&amp;#xA;      s.id = &amp;#39;prism-core&amp;#39;;&amp;#xD;&amp;#xA;      s.src = &amp;#39;https://cdn.jsdelivr.net/npm/prismjs@1.29.0/prism.min.js&amp;#39;;&amp;#xD;&amp;#xA;      s.async = true;&amp;#xD;&amp;#xA;      s.onload = cb;&amp;#xD;&amp;#xA;      document.head.appendChild(s);&amp;#xD;&amp;#xA;    } else {&amp;#xD;&amp;#xA;      if (window.Prism &amp;amp;&amp;amp; cb) cb();&amp;#xD;&amp;#xA;    }&amp;#xD;&amp;#xA;  }&amp;#xD;&amp;#xA;  loadPrism(function () {&amp;#xD;&amp;#xA;    if (window.Prism) Prism.highlightAll();&amp;#xD;&amp;#xA;  });&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;  document.querySelectorAll(&amp;#39;.code-copy[data-code-copy]&amp;#39;).forEach(function (block) {&amp;#xD;&amp;#xA;    var sourceEl = block.querySelector(&amp;#39;.code-copy__source&amp;#39;);&amp;#xD;&amp;#xA;    var copyBtn = block.querySelector(&amp;#39;[data-copy]&amp;#39;);&amp;#xD;&amp;#xA;    if (!sourceEl || !copyBtn) return;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;    copyBtn.addEventListener(&amp;#39;click&amp;#39;, function () {&amp;#xD;&amp;#xA;      var sourceText = sourceEl.textContent;&amp;#xD;&amp;#xA;      var done = function () {&amp;#xD;&amp;#xA;        var orig = copyBtn.textContent;&amp;#xD;&amp;#xA;        copyBtn.textContent = &amp;#39;已复制 &amp;#39;;&amp;#xD;&amp;#xA;        setTimeout(function () { copyBtn.textContent = orig; }, 1800);&amp;#xD;&amp;#xA;      };&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;      if (navigator.clipboard &amp;amp;&amp;amp; window.isSecureContext) {&amp;#xD;&amp;#xA;        navigator.clipboard.writeText(sourceText.trim()).then(done).catch(function () {&amp;#xD;&amp;#xA;          fallbackCopy(sourceEl, done);&amp;#xD;&amp;#xA;        });&amp;#xD;&amp;#xA;      } else {&amp;#xD;&amp;#xA;        fallbackCopy(sourceEl, done);&amp;#xD;&amp;#xA;      }&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;      function fallbackCopy(el, cb) {&amp;#xD;&amp;#xA;        var range = document.createRange();&amp;#xD;&amp;#xA;        range.selectNodeContents(el);&amp;#xD;&amp;#xA;        var sel = window.getSelection();&amp;#xD;&amp;#xA;        sel.removeAllRanges();&amp;#xD;&amp;#xA;        sel.addRange(range);&amp;#xD;&amp;#xA;        try { document.execCommand(&amp;#39;copy&amp;#39;); cb(); } catch (e) {}&amp;#xD;&amp;#xA;        sel.removeAllRanges();&amp;#xD;&amp;#xA;      }&amp;#xD;&amp;#xA;    });&amp;#xD;&amp;#xA;  });&amp;#xD;&amp;#xA;})();&amp;#xD;&amp;#xA;&amp;lt;/script&amp;gt;&amp;lt;/p&amp;gt;</description>
    </item>
    
    <item>
      <title>绒趣</title>
      <link>https://domal.cc/gallery/%E7%8B%97%E7%8B%97/</link>
      <pubDate>Tue, 11 Aug 2026 13:18:00 &#43;0800</pubDate>
      
      <guid>https://domal.cc/gallery/%E7%8B%97%E7%8B%97/</guid>
      <description>&amp;lt;p&amp;gt;笑意、憧憬、浪漫，小狗把所有纯粹美好都揉进日常里。&amp;lt;/p&amp;gt;</description>
    </item>
    
    <item>
      <title>奢闲序章</title>
      <link>https://domal.cc/gallery/%E8%BD%BB%E5%A5%A2%E6%B0%9B%E5%9B%B4/</link>
      <pubDate>Tue, 11 Aug 2026 13:05:00 &#43;0800</pubDate>
      
      <guid>https://domal.cc/gallery/%E8%BD%BB%E5%A5%A2%E6%B0%9B%E5%9B%B4/</guid>
      <description>&amp;lt;p&amp;gt;香氛缀眉眼，衣饰藏温柔，日常处处皆是精致光景。&amp;lt;/p&amp;gt;</description>
    </item>
    
    <item>
      <title>天地四时・旷野万象</title>
      <link>https://domal.cc/gallery/%E6%97%B7%E9%87%8E%E5%B1%B1%E6%B2%B3/</link>
      <pubDate>Tue, 11 Aug 2026 10:00:00 &#43;0800</pubDate>
      
      <guid>https://domal.cc/gallery/%E6%97%B7%E9%87%8E%E5%B1%B1%E6%B2%B3/</guid>
      <description>&amp;lt;br&amp;gt;&amp;#xD;&amp;#xA;朝暮山河皆入画，云天昼夜自安然。</description>
    </item>
    
    
    <item>
      <title>狸奴闲趣录</title>
      <link>https://domal.cc/gallery/%E7%8C%AB%E5%92%AA/</link>
      <pubDate>Mon, 10 Aug 2026 12:15:00 &#43;0800</pubDate>
      
      <guid>https://domal.cc/gallery/%E7%8C%AB%E5%92%AA/</guid>
      <description>&amp;lt;br&amp;gt;&amp;#xD;&amp;#xA;闲观狸奴千万态，一颦一动皆温柔。</description>
    </item>
    
    
    <item>
      <title>面向 Hugo 内容管理者的 Windows 桌面客户端</title>
      <link>https://domal.cc/thinking/hugo%E5%90%8E%E7%AB%AF%E8%AE%BE%E6%83%B3/</link>
      <pubDate>Sun, 09 Aug 2026 09:00:00 &#43;0800</pubDate>
      
      <guid>https://domal.cc/thinking/hugo%E5%90%8E%E7%AB%AF%E8%AE%BE%E6%83%B3/</guid>
      <description>&amp;lt;p&amp;gt;记录一款面向 Hugo 内容管理者的 Windows 桌面客户端。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h1 id=&amp;#34;一切的起点hugo-很好但发布太痛了&amp;#34;&amp;gt;一切的起点：Hugo 很好，但“发布”太痛了&amp;lt;/h1&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;我使用 Hugo 搭建个人博客已经很长时间了。坦白说，Hugo 本身作为静态站点生成器，速度快、生态好、主题丰富，几乎无可挑剔。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;但有一个环节，始终让我如鲠在喉——&amp;lt;strong&amp;gt;发布上线&amp;lt;/strong&amp;gt;。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;每一次写完文章，我需要经历的是：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;打开命令行，cd 到站点目录；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;执行 &amp;lt;code&amp;gt;hugo&amp;lt;/code&amp;gt; 构建，生成 &amp;lt;code&amp;gt;public/&amp;lt;/code&amp;gt; 目录；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;打开 FTP/SFTP 客户端，连接到服务器；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;手动找到远程网站根目录（比如宝塔面板的 &amp;lt;code&amp;gt;/www/wwwroot/xxx&amp;lt;/code&amp;gt;）；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;将本地 &amp;lt;code&amp;gt;public/&amp;lt;/code&amp;gt; 目录里的文件，一个一个上传覆盖；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;刷新浏览器，确认上线。&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;如果只是偶尔写一篇，倒也还能忍。但当你需要频繁更新、修正错别字、调整排版时，这套流程的&amp;lt;strong&amp;gt;重复成本&amp;lt;/strong&amp;gt;就会急剧放大。更别提有时候 SFTP 客户端连接超时、文件漏传、目录搞错——每一步都藏着让人抓狂的细节。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;我也尝试过 Git &#43; GitHub Actions 或 Webhook 的自动化方案，但坦白说，&amp;lt;strong&amp;gt;配置门槛同样不低&amp;lt;/strong&amp;gt;：要在服务器上建 bare 仓库、配置 post-receive hook、设置权限……对于只想安静写点东西的博主来说，这显然是过度工程。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;转折&amp;lt;/strong&amp;gt;忘了具体哪天，我偶然刷到一款叫“一言”的 APP——它的核心功能非常简单：用户在手机端写下几句话，点击发布，内容就会立即出现在个人页面上。没有复杂的后台配置，没有“部署”这个概念，用户感知到的只有一个动作：&amp;lt;strong&amp;gt;写，然后它就上线了&amp;lt;/strong&amp;gt;。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;这个极简体验给了我很大的触动。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;我在想：&amp;lt;strong&amp;gt;Hugo 博客能不能也做到这样？&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;能不能有一个界面，用户只负责：&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;ul&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;在本地打开一个编辑器；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;写 Markdown；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;li&amp;gt;点击一个按钮；&amp;lt;/li&amp;gt;&amp;#xA;&amp;lt;/ul&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;然后剩下的所有事情（保存文件、调用 Hugo 构建、通过 SSH/SFTP 上传到宝塔面板的网站目录）全部由工具自动完成？&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;有想法了，也有目标了，说搞就搞。开始借助AI帮我整理思路，以及项目规划。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;h2 id=&amp;#34;一项目全景与核心目标&amp;#34;&amp;gt;一、项目全景与核心目标&amp;lt;/h2&amp;gt;&amp;#xA;&amp;lt;h3 id=&amp;#34;11-我的项目定位&amp;#34;&amp;gt;1.1 我的项目定位&amp;lt;/h3&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;一款面向 Hugo 内容管理者的 Windows 桌面客户端（C# &#43; WPF），让使用者&amp;lt;strong&amp;gt;无需接触命令行&amp;lt;/strong&amp;gt;，在图形界面中完成：&amp;lt;/p&amp;gt;</description>
    </item>
    
    
    
    
    
    
    
    
    <item>
      <title>回敬</title>
      <link>https://domal.cc/posts/2018-04-28-%E5%9B%9E%E6%95%AC/</link>
      <pubDate>Sat, 28 Apr 2018 22:38:03 &#43;0800</pubDate>
      <author>豆沫</author>
      <guid>https://domal.cc/posts/2018-04-28-%E5%9B%9E%E6%95%AC/</guid>
      <description>&amp;lt;p&amp;gt;清风细雨中，听花言、闻树语。携一份墨染的思绪，述一段灵魂生香的岁月。淡墨素笺浅忆，如痴如梦般已同舟共济九载之余。是啊，正如同那义务教育一般，已从小学临至高考的非常时期，盈盈伫立在光阴的渡口，考核这人生的第一道关卡过后，便是“或已成家，或已立业”。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;时而漫长时而短暂的风尘里，也曾有过一瞥惊鸿，一念心曲。瞻览透过路灯光线影照的绵绵细丝，一群属于夜的飞蛾，恋光戏雨；街道，寥寥无几的行人穿梭而过于夜色雨幕，那灯火阑珊处，半点和谐又夹杂了半点凄凉。呼吸吐纳间，忽然些许的感叹。借着灯火折射，雨是如此清纯透彻。瞧那半点和谐，不正如”义务教育“前初识的你我，蛾附蜂屯，熙熙攘攘，相遇、相聚于灯芯燃焰之地？一幕幕的诗情画意伴随着无情的岁月扑朔迷离，渐行渐远。风雨尘驰也看尽了云卷云舒，尝遍了霜冻雪降，那半点凄凉，不正如“游子天涯食禄求”中的你我，形影单只，孤独落寞，穿行于那暗淡清寒的街？泪与汗在不知不觉中交织、升华。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;触景生情，斟一杯岁月想与对友人酌，敬从前的自己所有背负的罪责。一嘘心语感叹那些实实在在的日子里的多愁善感，喜怒哀乐。报以诗意的目光，向往着曾走过的每一处绿意葱茏的风景，流年的陌上，也曾侧耳倾聆听过每一朵姹紫嫣红的心声。一程有一程的遇见，一程有一程的风情，一程有一程的绽放，一程有一程的约定。在这俗世浮尘里，你我邂逅，各自走向各自的交集，趟过光阴的溪流，便抛开近九载之余的情谊，各自奔向各自向往的心境。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;再回首念唱那段“三种思绪，三年知遇，汇聚三生情谊。三个心房，三条河床，横架三座桥梁。三片心灵，三扇荧屏，幻化三世感情。”恍然叹息，却早已在不知不觉中，有泪盈睫。我们与生俱来是有感情与灵性的，当压抑或激奋时，执笔诉心，有如酿一季葡萄美酒，由起初的揉捏，发酵，酸涩与浓艳，封存过后，待到日后发掘，经历过日月深邃的酒酿，其味道自然鲜美沉稳，因为，曾经付出的都是用心做出来的。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;从骨子里散出的那股柔情，携着踏过芳香的脚印并着历经沧桑的寒风，吹落了一地的懵懂无知，吹走了一身的抱怨凄凉。雨水三千，捧一冷寒通心彻骨，煮雨问心，回敬这杯”名无之酒“，道感歉意的“珍味之餐“，恰如饮尽一杯沧海不得不忘而不得不放！痛彻心扉的删除键，撤销了历史的记载却留下一道道心灵的创伤。浑浑噩噩的风尘中，锈迹斑斑的你我，透过毅然穿透黑暗的灯火于薄雾洒辉，那“义务教育”般的情谊逐渐消淡于脑海。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;屋檐下，隔着一幕幕雨帘，看街道行人匆匆。此刻，我是以一个旁观者的身份，穿梭于风尘中忘情于自然外，总在观看、品评他人的故事，却忘却感悟自己的人生。踉踉跄跄、磕磕绊绊的拼搏、奋斗，不知倦怠疲惫的向前奔跑，迎风顶雨，再回首路人甲也早已换成了路人乙、丙，那片搁浅于山水间的梦，由偶然成为了必然。剩下三三两两的旧友伴着冷暖寒凉的春秋，陪我左右待繁华褪尽，举杯相邀也早已相隔天水之间，奔波于腐朽脏污的现实中，踏着深深浅浅的脚窝儿坦然释怀着无视与消极，逃避着一切桎梏的枷锁，想找寻曾经彼此心灵的共振的颤音，却因为岁月的沧桑不得不忘怀彼此。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;云翻涌成夏，风吹雨成花。回眸而视一路跌跌撞撞，当阴霾与风雨袭来，敢于接受而不畏缩逃避的“痛饮名无之酒”后亦如风霜中相给的篝火，成了心灵休憩的使然。致歉这厚重的旋律，再也无法弥补那为之排遣抑郁、供给食量的精神堡垒，而那洁白无暇的纸张上勾勒的苦涩的一笔，就用那份安然和大气以及释怀的心灵橡皮慢慢擦拭抹除吧！杯中这酣茗韵酒，回敬那几度春秋，偶有痕迹的思念，酝酿在痛饮而尽的咽喉。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;如锦的岁月带给我们的不仅是皱纹的滋生，还有给予相助的感悟。致谢那盈盈伫立在黑夜中暗黄的路灯及不惧失败沧桑的飞蛾，使及身心芜杂，坦然释怀于这洗濯与陶醉的夜色中。纠结于琐事的心，已新的姿态回归于本位，迎接那凋敝过后便是灿烂闪烁的星空，歇墨悬笔，留得那份青山幽谷里的一个休闲心。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;这第五杯无名之酒，回敬挚友。&amp;lt;/p&amp;gt;</description>
    </item>
    
    <item>
      <title>还没想好</title>
      <link>https://domal.cc/posts/2018-04-22-%E8%BF%98%E6%B2%A1%E6%83%B3%E5%A5%BD/</link>
      <pubDate>Sun, 22 Apr 2018 23:55:03 &#43;0800</pubDate>
      <author>豆沫</author>
      <guid>https://domal.cc/posts/2018-04-22-%E8%BF%98%E6%B2%A1%E6%83%B3%E5%A5%BD/</guid>
      <description>&amp;lt;p&amp;gt;流年轻转，时光渐行渐远一如流水般恬谈。而我们只能遵循着前行的道路唏嘘光阴的无情。曾经的懵懵懂懂早被波澜壮阔的现实惊醒，光影轮换间恰似水过无痕，醉梦一场。看着这”还没想好“的标题，想写一篇”还没想好“的信，但此刻”还没想好“如何落笔！&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;繁华处总会多几分落寞，人生也免不了蹉跎。到了这个弱冠之年，或已成家，或已立业，诸多的看不明，猜不透，想不尽也均在”还没想好“之前就已经成为了过往，成为了回忆。故而那些”还没想好“便只能把它隐藏在心底，埋葬在曾经。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;弦蔓吹皱了一池新绿，光阴拉长了一道叹息。”还没想好“，白驹就已如梦幻泡影般迷离。还没想好为什么这件事情发生的那么突然！还没想好为什么这份感情结束的那么仓促！还没想好为什么人生已经走过三分之一！是啊，一切还没想好，所以我们慢慢变得孤寂。也曾遇过、爱过、恨过、悔过、聚过、散过，静数过往，雪染青苔的茶香还依稀的泛起，偏偏一句还没想好，便沉淀了往昔，寥寥几笔落下痕迹。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;淡看了人情冷暖，掬一杯香茗，一路走过喧嚣，恪守一份纯真。也曾想用心绘制一幅生命里所有温暖的牵挂；也曾想若打开书柜摆满了自己构造的故事，但却都在还没想好之前成为了一指流沙，随风飘零。因为还没想好，这一想便推拖了十年。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;我们皆为赶路人，哭笑掺杂、悲喜交织，一路风尘仆仆。曾几何时，相互吹捧过，相互冷落过，也相互感叹过，还没想好什么时候“山珍海味”才能配齐，我们便释然了彼此，也应了道不同无需再为某相伴，各自走向各自的成熟。因为还没想好，这一想妥协了九年。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;生命是趟无回的旅行，时光的渡口，而你我皆是过客。风雨共舟，挽手相伴，经历过的称心也好，无奈也罢终将被岁月涤荡，还没想好如何让岁月停留在掌心，研磨后揉成诗序，却早已一拍两散的心碎，牵过的手也换了路人。因为还没想好，这一想淡忘了七年。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;凝眸处若能浅笑相安，随性释怀，便也算是一种圆满。往事早已化作尘风，缥缈吹散于大千世界。不强求，不刻意，心如素朴恬淡的白莲，于红尘落落中盈一份洒脱，握一份懂得。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;素笺浅墨，细致勾勒这一纸婆娑。《付寇令·前传》有文：“未及思者挥而就，谓之辞也。”是呀，“说自己还没想好，全是借口！”怀揣一份清雅，默守一份宁静，清风于心，方寸间可容一片天地，承载着心中袅袅的寄托，演化成淡淡清韵，陌上花开，用这杯无名的酒，敬那些“还没想好”的人，切勿再待花期开到荼蘼！！&amp;lt;/p&amp;gt;</description>
    </item>
    
    <item>
      <title>无名的人</title>
      <link>https://domal.cc/posts/2018-04-20-%E6%97%A0%E5%90%8D%E7%9A%84%E4%BA%BA/</link>
      <pubDate>Fri, 20 Apr 2018 23:03:03 &#43;0800</pubDate>
      <author>豆沫</author>
      <guid>https://domal.cc/posts/2018-04-20-%E6%97%A0%E5%90%8D%E7%9A%84%E4%BA%BA/</guid>
      <description>&amp;lt;p&amp;gt;不知从什么时候往事已经不再娓娓道起，深沉的梦境也不再是回忆。伴随着年龄的增长，你、我、他也都逐渐消失在我们的记忆中，甚至只留下一个个无名的影子。曾几何时，我们走在繁华的街角，偶尔也曾遇见几个熟悉的面孔，但是我们早已忘记了那副面容下刻烙的名字，看着那些走过的背影，既熟悉又陌生。是啊，岁月总是那么无情，它给我们了足够的时刻和空间让我们消磨掉年少的稚嫩和冲动，与此同时，也慢慢洗刷掉了我们相遇时的完美情景，风化了那些熟悉的身影，以至于脑海中只留下一个个躯壳，因此我给他们命名为”无名的人“。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;对于那些”无名的人“我也曾缅怀过、感慨过。对啊，我们只是缺少了一个温馨的剧情，一个尚未开始的故事。转过身看着这花影缭绕的世界，久而久之你会发现，我们要缅怀的人成千上万，要感慨的事也数不胜数，到最后是时间告诉我们人生路途短暂，该释怀的释怀，该释然的释然，得不到的也无需觊觎。他们并非真的没有名字，只是缺少了一个对此缅怀的事由，一个对于双方存在的价值。所以那第三杯名无的酒，敬了这些无名的人。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;大千世界是有规可循的，花开花落他们都遵循着这种自然规律，任何事物都无法抗拒！想想而今我们生活的这片乐土，你会不由自主的发现有太多少人曾在这里留下足迹。上至三皇五帝，下到恰在此时，中华上下五千年，万事万物都遵循着这个常情，因此任何事物都逃脱不了生老病死。“人生有死，死得其所，谓之死也，轻于鸿毛或重于泰山。”若干年后我们也都将悄无声息的从这片土地上消失，故此我写下了这篇无名的人，来告诫自己活出的价值。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;时光在兀自流淌，一岁年龄一岁心，一岁年华一岁人。斑驳的年轮始终掩不住岁月的沧海，带不走时光的桑田。我也曾抚琴浅唱流年芳华，想一度证明着自己的所在，也曾在流星划过天际的瞬间，虔诚的许下星语心愿，希望在那素淡绵长的光阴里留下一些眷恋。浅暮流殇，多年以后再低眉，拾掇那枚岁月的沉香时，还能临摹年少时的那份褶皱的故事，以对人生做次心灵上的自我缱绻。这样也不至于苟活到花白胡须留下一片空白，成为无名之人。&amp;lt;/p&amp;gt;&amp;#xA;&amp;lt;p&amp;gt;一树一桩皆岁月，一盆一景亦人生。秋去春来，花败花开。遂以名者无知之，以故其后名无谓之无名者也。是啊，我们不过是蕴藏在匆匆岁月中的一捧尘沙，各自风化，犹如烟尘缥缈而散，终为繁华落尽处的无名者，又岂会有人记得你的足迹。而后轻轻浅浅的日子里，当你陷入无援之境，有幸遇到古道热肠之人时，记得道一声感谢，毕竟懵然转瞬后就成了无名的人。&amp;lt;/p&amp;gt;</description>
    </item>
    
    
    
  </channel>
</rss>