<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>daipenglcc</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://www.vueweb.cn/</id>
  <link href="https://www.vueweb.cn/" rel="alternate"/>
  <link href="https://www.vueweb.cn/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, daipenglcc</rights>
  <subtitle>技术沉淀与日常随笔</subtitle>
  <title>VueWeb 随笔</title>
  <updated>2026-09-20T11:26:04.484Z</updated>
  <entry>
    <author>
      <name>daipenglcc</name>
    </author>
    <category term="生活与思考" scheme="https://www.vueweb.cn/categories/%E7%94%9F%E6%B4%BB%E4%B8%8E%E6%80%9D%E8%80%83/"/>
    <category term="摄影" scheme="https://www.vueweb.cn/tags/%E6%91%84%E5%BD%B1/"/>
    <category term="旅行" scheme="https://www.vueweb.cn/tags/%E6%97%85%E8%A1%8C/"/>
    <category term="随笔" scheme="https://www.vueweb.cn/tags/%E9%9A%8F%E7%AC%94/"/>
    <content>
      <![CDATA[<p>在城市键盘的敲击声中待得久了，感官难免会变得钝化。上个月抽出几天假期去了一趟川西，当巍峨的雪山群峰真正扑面而来时，内心的许多焦灼在一瞬间归于平静。</p><p>写下一篇简短的出行手记，留存当时清冽的空气与高原阳光。</p><span id="more"></span><h2 id="晨曦微露的金山"><a href="#晨曦微露的金山" class="headerlink" title="晨曦微露的金山"></a>晨曦微露的金山</h2><p>清晨五点半，气温逼近零度。呵出的白气在镜头遮光罩上凝成细碎的水雾，手指在快门线上有些发僵。</p><p>随着地平线第一缕晨光穿透云层，主峰山尖开始从冷灰色泛出金红，再到整片山体如同被点燃一般璀璨——这就是常说的“日照金山”。在按下快门记录的同时，其实双眼所见的辽阔感远胜于任何照片。</p><blockquote><p>“山就在那里，不悲不喜，静候着每一个路过的人。”</p></blockquote><hr><h2 id="旷野公路的独行漫步"><a href="#旷野公路的独行漫步" class="headerlink" title="旷野公路的独行漫步"></a>旷野公路的独行漫步</h2><p>高原的公路笔直地伸向天际，两旁是枯黄苍凉的草甸与安详啃草的牦牛。远离了网络的喧嚣与各种消息通知的轰炸，人的思考反倒变得澄澈起来：</p><details class="flatpaper-note flatpaper-note--info"><summary class="flatpaper-note__title"><span class="flatpaper-note__icon" aria-hidden="true"></span><span class="flatpaper-note__label">旅途随想</span><span class="flatpaper-note__chevron" aria-hidden="true"></span></summary><div class="flatpaper-note__body"><p>生活里的很多所谓“要紧事”，拉长到广袤的时间与空间维度去看，其实大多无足轻重。保持对生活细微美好的觉知，比疲于奔命重要得多。</p></div></details><hr><h2 id="摄影器材随行备忘"><a href="#摄影器材随行备忘" class="headerlink" title="摄影器材随行备忘"></a>摄影器材随行备忘</h2><p>轻量化出行是长途跋涉的真理，这次的行囊极简：</p><ol><li><strong>机身</strong>：全画幅轻量机身</li><li><strong>镜头</strong>：24-70mm 挂机变焦（兼顾风光与人文小景）</li><li><strong>配件</strong>：CPL 偏振镜、两块备用电池、碳纤维便携三脚架</li></ol><p>归途重新投入工作，心里多了一块平稳的锚点。愿我们既能专注眼前的代码与生活，也有随时奔赴山海的坦然。</p>]]>
    </content>
    <id>https://www.vueweb.cn/2026/09/20/journey-to-the-snow-mountains/</id>
    <link href="https://www.vueweb.cn/2026/09/20/journey-to-the-snow-mountains/"/>
    <published>2026-09-20T12:30:00.000Z</published>
    <summary>
      <![CDATA[<p>在城市键盘的敲击声中待得久了，感官难免会变得钝化。上个月抽出几天假期去了一趟川西，当巍峨的雪山群峰真正扑面而来时，内心的许多焦灼在一瞬间归于平静。</p>
<p>写下一篇简短的出行手记，留存当时清冽的空气与高原阳光。</p>]]>
    </summary>
    <title>雪山与旷野行记：在路上的光影与碎碎念</title>
    <updated>2026-09-20T11:26:04.484Z</updated>
  </entry>
  <entry>
    <author>
      <name>daipenglcc</name>
    </author>
    <category term="写作排版" scheme="https://www.vueweb.cn/categories/%E5%86%99%E4%BD%9C%E6%8E%92%E7%89%88/"/>
    <category term="Markdown" scheme="https://www.vueweb.cn/tags/Markdown/"/>
    <category term="排版" scheme="https://www.vueweb.cn/tags/%E6%8E%92%E7%89%88/"/>
    <category term="写作" scheme="https://www.vueweb.cn/tags/%E5%86%99%E4%BD%9C/"/>
    <content>
      <![CDATA[<p>工欲善其事，必先利其器。优秀的文字需要得体的排版衬托。在 FlatPaper 主题中，除了原生 Markdown 语法外，还内置了许多独具手账特色的排版增强标签。</p><p>本文是一份全要素排版速查指南，演示常用样式在真实场景中的呈现效果。</p><span id="more"></span><h2 id="1-原生-Markdown-基础元素"><a href="#1-原生-Markdown-基础元素" class="headerlink" title="1. 原生 Markdown 基础元素"></a>1. 原生 Markdown 基础元素</h2><h3 id="标题与层级"><a href="#标题与层级" class="headerlink" title="标题与层级"></a>标题与层级</h3><p>在文章中合理组织二级、三级标题，右侧的粘性目录（TOC）会自动生成并跟随滚动高亮。</p><h3 id="引用与列表"><a href="#引用与列表" class="headerlink" title="引用与列表"></a>引用与列表</h3><blockquote><p>读书破万卷，下笔如有神。好的排版如润物细无声，让读者的视线舒适停留。</p></blockquote><ul><li><strong>无序列表项</strong>：适合陈列同层级要点<ul><li>嵌套层级子项</li></ul></li><li><strong>待办清单</strong>：<ul><li><input checked="" disabled="" type="checkbox"> 完成博客基础设施搭建</li><li><input checked="" disabled="" type="checkbox"> 调优自定义手帐主题</li><li><input disabled="" type="checkbox"> 撰写系列深度技术博文</li></ul></li></ul><hr><h2 id="2-FlatPaper-手帐-Note-便签组件"><a href="#2-FlatPaper-手帐-Note-便签组件" class="headerlink" title="2. FlatPaper 手帐 Note 便签组件"></a>2. FlatPaper 手帐 Note 便签组件</h2><p>FlatPaper 支持六种不同语意的彩色便签。当提供标题参数时，便签还会自动渲染为原生 <code>&lt;details&gt;</code> 可折叠手风琴！</p><details class="flatpaper-note flatpaper-note--default"><summary class="flatpaper-note__title"><span class="flatpaper-note__icon" aria-hidden="true"></span><span class="flatpaper-note__label">默认便签</span><span class="flatpaper-note__chevron" aria-hidden="true"></span></summary><div class="flatpaper-note__body"><p>这是一个 default 类型的便签，适合记录常规补充说明。</p></div></details><details class="flatpaper-note flatpaper-note--info"><summary class="flatpaper-note__title"><span class="flatpaper-note__icon" aria-hidden="true"></span><span class="flatpaper-note__label">提示说明信息</span><span class="flatpaper-note__chevron" aria-hidden="true"></span></summary><div class="flatpaper-note__body"><p>这是一个 info 类型的便签，带有清爽的蓝色强调色。</p></div></details><details class="flatpaper-note flatpaper-note--success"><summary class="flatpaper-note__title"><span class="flatpaper-note__icon" aria-hidden="true"></span><span class="flatpaper-note__label">恭喜完成</span><span class="flatpaper-note__chevron" aria-hidden="true"></span></summary><div class="flatpaper-note__body"><p>这是一个 success 类型的便签，通常用于标记操作成功或阶段性成果。</p></div></details><details class="flatpaper-note flatpaper-note--warning"><summary class="flatpaper-note__title"><span class="flatpaper-note__icon" aria-hidden="true"></span><span class="flatpaper-note__label">注意事项（可折叠）</span><span class="flatpaper-note__chevron" aria-hidden="true"></span></summary><div class="flatpaper-note__body"><p>注意：提供标题时 Note 默认会折叠收起，非常适合放置长篇补充代码或折叠备忘。</p></div></details><details class="flatpaper-note flatpaper-note--danger"><summary class="flatpaper-note__title"><span class="flatpaper-note__icon" aria-hidden="true"></span><span class="flatpaper-note__label">风险告警</span><span class="flatpaper-note__chevron" aria-hidden="true"></span></summary><div class="flatpaper-note__body"><p>这是一个 danger 类型的便签，用于提醒高风险操作或破坏性变更。</p></div></details><hr><h2 id="3-选项卡-Tabs-切换组件"><a href="#3-选项卡-Tabs-切换组件" class="headerlink" title="3. 选项卡 Tabs 切换组件"></a>3. 选项卡 Tabs 切换组件</h2><p>当需要对比不同环境下的命令或代码时，使用 Tabs 是最省空间且直观的方案：</p><div class="flatpaper-tabs"><div class="flatpaper-tabs__nav" role="tablist"><button type="button" role="tab" id="tabs-1-tab-0" aria-controls="tabs-1-panel-0" aria-selected="true" class="flatpaper-tabs__nav-item is-active" data-index="0">npm</button><button type="button" role="tab" id="tabs-1-tab-1" aria-controls="tabs-1-panel-1" aria-selected="false" class="flatpaper-tabs__nav-item" data-index="1">pnpm</button><button type="button" role="tab" id="tabs-1-tab-2" aria-controls="tabs-1-panel-2" aria-selected="false" class="flatpaper-tabs__nav-item" data-index="2">yarn</button></div><div class="flatpaper-tabs__panels"><section role="tabpanel" id="tabs-1-panel-0" aria-labelledby="tabs-1-tab-0" class="flatpaper-tabs__panel is-active" data-index="0"><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-theme-flatpaper --save</span><br></pre></td></tr></table></figure></section><section role="tabpanel" id="tabs-1-panel-1" aria-labelledby="tabs-1-tab-1" class="flatpaper-tabs__panel" data-index="1" hidden><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">pnpm add hexo-theme-flatpaper</span><br></pre></td></tr></table></figure></section><section role="tabpanel" id="tabs-1-panel-2" aria-labelledby="tabs-1-tab-2" class="flatpaper-tabs__panel" data-index="2" hidden><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">yarn add hexo-theme-flatpaper</span><br></pre></td></tr></table></figure></section></div></div><hr><h2 id="4-表格排版示例"><a href="#4-表格排版示例" class="headerlink" title="4. 表格排版示例"></a>4. 表格排版示例</h2><table><thead><tr><th align="left">语法类型</th><th align="left">呈现效果</th><th align="left">适用场景</th></tr></thead><tbody><tr><td align="left"><code>**加粗**</code></td><td align="left">主题色高亮文字</td><td align="left">强调关键术语</td></tr><tr><td align="left"><code>&#123;% note %&#125;</code></td><td align="left">彩色手账便签纸</td><td align="left">额外补充与安全警示</td></tr><tr><td align="left"><code>&#123;% tabs %&#125;</code></td><td align="left">紧凑选项卡切换</td><td align="left">多端代码对比</td></tr><tr><td align="left"><code>代码块</code></td><td align="left">语法高亮与行号</td><td align="left">技术教程与命令示例</td></tr></tbody></table><p>合理组合以上排版元素，你的手账博客也能兼具极高的美感与实用性！</p>]]>
    </content>
    <id>https://www.vueweb.cn/2026/09/20/markdown-elements-showcase/</id>
    <link href="https://www.vueweb.cn/2026/09/20/markdown-elements-showcase/"/>
    <published>2026-09-20T12:20:00.000Z</published>
    <summary>
      <![CDATA[<p>工欲善其事，必先利其器。优秀的文字需要得体的排版衬托。在 FlatPaper 主题中，除了原生 Markdown 语法外，还内置了许多独具手账特色的排版增强标签。</p>
<p>本文是一份全要素排版速查指南，演示常用样式在真实场景中的呈现效果。</p>]]>
    </summary>
    <title>Markdown 深度排版指南：从基础语法到手账标签</title>
    <updated>2026-09-20T11:25:55.857Z</updated>
  </entry>
  <entry>
    <author>
      <name>daipenglcc</name>
    </author>
    <category term="技术探索" scheme="https://www.vueweb.cn/categories/%E6%8A%80%E6%9C%AF%E6%8E%A2%E7%B4%A2/"/>
    <category term="Vue3" scheme="https://www.vueweb.cn/tags/Vue3/"/>
    <category term="前端工程" scheme="https://www.vueweb.cn/tags/%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B/"/>
    <category term="架构设计" scheme="https://www.vueweb.cn/tags/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/"/>
    <content>
      <![CDATA[<p>随着前端应用体量的膨胀，代码组织与工程化规范不再是锦上添花的点缀，而是决定项目能否长期稳定迭代的基石。</p><p>本文梳理了在实际开发中总结的前端工程化三大支柱：规范约束、状态流转与可复用组件抽象。</p><span id="more"></span><h2 id="一、规范先于编码"><a href="#一、规范先于编码" class="headerlink" title="一、规范先于编码"></a>一、规范先于编码</h2><p>好的工程化始于统一的团队共识。通过工具链把共识变成自动化检查，比人工 Code Review 更加可靠：</p><ul><li><strong>ESLint &amp; Prettier</strong>：语法风格与代码质量底线，杜绝无意义的格式分歧。</li><li><strong>Husky &amp; Lint-Staged</strong>：在 <code>git commit</code> 时拦截不合规的代码。</li><li><strong>Commitlint</strong>：统一遵循 Angular 规范的 Conventional Commits（<code>feat:</code>, <code>fix:</code>, <code>refactor:</code>）。</li></ul><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// package.json scripts 规范</span></span><br><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;scripts&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;lint&quot;</span><span class="punctuation">:</span> <span class="string">&quot;eslint src --ext .vue,.js,.ts&quot;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;prettier --write src/&quot;</span></span><br><span class="line">  <span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><hr><h2 id="二、Vue-3-组合式-API-的设计权衡"><a href="#二、Vue-3-组合式-API-的设计权衡" class="headerlink" title="二、Vue 3 组合式 API 的设计权衡"></a>二、Vue 3 组合式 API 的设计权衡</h2><p>Vue 3 的 Composition API 赋予了开发者极大的自由度，但自由往往也伴随着混乱的风险。</p><details class="flatpaper-note flatpaper-note--default"><summary class="flatpaper-note__title"><span class="flatpaper-note__icon" aria-hidden="true"></span><span class="flatpaper-note__label">tip 组合式函数的提取原则</span><span class="flatpaper-note__chevron" aria-hidden="true"></span></summary><div class="flatpaper-note__body"><p>一个优秀的 <code>useXxx</code> 组合式函数应当具备单一职责：</p><ol><li><strong>状态内聚</strong>：相关的响应式状态（<code>ref</code>&#x2F;<code>reactive</code>）与操作函数放在一起。</li><li><strong>生命周期自动解绑</strong>：若在函数内监听了事件或创建了定时器，务必在 <code>onUnmounted</code> 中自动注销。</li><li><strong>按需解构</strong>：返回值通过 <code>toRefs</code> 或单独暴露 <code>readonly</code> 状态，避免外部直接篡改内部私有状态。</li></ol></div></details><p>下面是一个实用的窗口尺寸监听 hook 示例：</p><figure class="highlight typescript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> &#123; ref, onMounted, onUnmounted &#125; <span class="keyword">from</span> <span class="string">&#x27;vue&#x27;</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">export</span> <span class="keyword">function</span> <span class="title function_">useWindowResize</span>(<span class="params"></span>) &#123;</span><br><span class="line">  <span class="keyword">const</span> width = <span class="title function_">ref</span>(<span class="variable language_">window</span>.<span class="property">innerWidth</span>)</span><br><span class="line">  <span class="keyword">const</span> height = <span class="title function_">ref</span>(<span class="variable language_">window</span>.<span class="property">innerHeight</span>)</span><br><span class="line"></span><br><span class="line">  <span class="keyword">const</span> <span class="title function_">update</span> = (<span class="params"></span>) =&gt; &#123;</span><br><span class="line">    width.<span class="property">value</span> = <span class="variable language_">window</span>.<span class="property">innerWidth</span></span><br><span class="line">    height.<span class="property">value</span> = <span class="variable language_">window</span>.<span class="property">innerHeight</span></span><br><span class="line">  &#125;</span><br><span class="line"></span><br><span class="line">  <span class="title function_">onMounted</span>(<span class="function">() =&gt;</span> <span class="variable language_">window</span>.<span class="title function_">addEventListener</span>(<span class="string">&#x27;resize&#x27;</span>, update))</span><br><span class="line">  <span class="title function_">onUnmounted</span>(<span class="function">() =&gt;</span> <span class="variable language_">window</span>.<span class="title function_">removeEventListener</span>(<span class="string">&#x27;resize&#x27;</span>, update))</span><br><span class="line"></span><br><span class="line">  <span class="keyword">return</span> &#123; width, height &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><hr><h2 id="三、结语"><a href="#三、结语" class="headerlink" title="三、结语"></a>三、结语</h2><p>工程化的终极目标从来不是堆砌前沿工具，而是以最低的心智负担交付最高质量的产品。在开发过程中多做一次抽象复盘，未来就能少打几次补丁。</p>]]>
    </content>
    <id>https://www.vueweb.cn/2026/09/20/frontend-engineering-practices/</id>
    <link href="https://www.vueweb.cn/2026/09/20/frontend-engineering-practices/"/>
    <published>2026-09-20T12:10:00.000Z</published>
    <summary>
      <![CDATA[<p>随着前端应用体量的膨胀，代码组织与工程化规范不再是锦上添花的点缀，而是决定项目能否长期稳定迭代的基石。</p>
<p>本文梳理了在实际开发中总结的前端工程化三大支柱：规范约束、状态流转与可复用组件抽象。</p>]]>
    </summary>
    <title>前端工程化与现代 Web 开发心法</title>
    <updated>2026-09-20T11:25:46.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>daipenglcc</name>
    </author>
    <category term="建站折腾" scheme="https://www.vueweb.cn/categories/%E5%BB%BA%E7%AB%99%E6%8A%98%E8%85%BE/"/>
    <category term="Hexo" scheme="https://www.vueweb.cn/tags/Hexo/"/>
    <category term="FlatPaper" scheme="https://www.vueweb.cn/tags/FlatPaper/"/>
    <category term="建站折腾" scheme="https://www.vueweb.cn/tags/%E5%BB%BA%E7%AB%99%E6%8A%98%E8%85%BE/"/>
    <content>
      <![CDATA[<p>搭建个人独立博客有很多种选择，从 WordPress 到 Hugo、Astro，再到久经考验的 Hexo。这次之所以选择 Hexo 配合 FlatPaper 主题，很大程度上是被它温润、带有纸面肌理的手帐风格所吸引。</p><p>这篇文章记录下整个站点的搭建历程，包括自定义域名配置、双分支协作流以及主题特性的调优要点。</p><span id="more"></span><h2 id="为什么选择-FlatPaper-主题？"><a href="#为什么选择-FlatPaper-主题？" class="headerlink" title="为什么选择 FlatPaper 主题？"></a>为什么选择 FlatPaper 主题？</h2><p>市面上大部分技术博客主题大多走极简科技风或 Material Design，但看多了容易产生视觉疲劳。FlatPaper 的不同之处在于：</p><ul><li><strong>纸张质感</strong>：页面底色微黄，带有细微的纸张噪点与撕纸毛边效果。</li><li><strong>便签与胶带元素</strong>：文章标签像手撕胶带，提示块（Note）像随手贴上的便签纸。</li><li><strong>安静的交互</strong>：没有过于浮夸的动效，阅读时注意力能完全集中在文字本身。</li></ul><hr><h2 id="核心架构与-Git-双分支工作流"><a href="#核心架构与-Git-双分支工作流" class="headerlink" title="核心架构与 Git 双分支工作流"></a>核心架构与 Git 双分支工作流</h2><p>在将博客托管到 GitHub Pages 时，一个常见痛点是：<strong>编译后的静态网页</strong>与<strong>未编译的 Hexo 源码</strong>容易混在一起。</p><p>本站采用了优雅的双分支管理方案：</p><details class="flatpaper-note flatpaper-note--info"><summary class="flatpaper-note__title"><span class="flatpaper-note__icon" aria-hidden="true"></span><span class="flatpaper-note__label">分支协作心法</span><span class="flatpaper-note__chevron" aria-hidden="true"></span></summary><div class="flatpaper-note__body"><ul><li><strong><code>source</code> 分支</strong>：存放 Hexo 完整源码（Markdown 文章、配置文件、主题等）。日常写文章只需提交并推送至该分支。</li><li><strong><code>main</code> 分支</strong>：由 <code>hexo-deployer-git</code> 插件在执行 <code>hexo deploy</code> 时自动将 <code>public/</code> 的编译产物强制推送至此处，专门供给 GitHub Pages 访问。我们永远不需要手动修改它。</li></ul></div></details><p>日常更新发布只需一行命令：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 本地编译并一键发布上线</span></span><br><span class="line">hexo clean &amp;&amp; hexo g --config _config.yml,_config.flatpaper.yml &amp;&amp; hexo d --config _config.yml,_config.flatpaper.yml</span><br></pre></td></tr></table></figure><hr><h2 id="自定义域名与-CNAME-配置"><a href="#自定义域名与-CNAME-配置" class="headerlink" title="自定义域名与 CNAME 配置"></a>自定义域名与 CNAME 配置</h2><p>绑定自己的域名（如 <code>www.vueweb.cn</code>）时，最稳妥的做法是将 <code>CNAME</code> 文件放在 <code>source/CNAME</code> 下：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">www.vueweb.cn</span><br></pre></td></tr></table></figure><p>这样每次 Hexo 编译时，都会自动将 <code>CNAME</code> 复制到生成的 <code>public/</code> 根目录下，不会因为执行了 <code>hexo clean</code> 而被意外清除导致域名解绑。</p><hr><h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h2><p>一个舒服的写作环境能极大提升记录的欲望。接下来本站会围绕前端工程、日常踩坑和设计思考持续更新，欢迎订阅 <a href="/atom.xml">RSS</a> 一同交流。</p>]]>
    </content>
    <id>https://www.vueweb.cn/2026/09/20/hexo-flatpaper-setup-notes/</id>
    <link href="https://www.vueweb.cn/2026/09/20/hexo-flatpaper-setup-notes/"/>
    <published>2026-09-20T12:00:00.000Z</published>
    <summary>
      <![CDATA[<p>搭建个人独立博客有很多种选择，从 WordPress 到 Hugo、Astro，再到久经考验的 Hexo。这次之所以选择 Hexo 配合 FlatPaper 主题，很大程度上是被它温润、带有纸面肌理的手帐风格所吸引。</p>
<p>这篇文章记录下整个站点的搭建历程，包括自定义域名配置、双分支协作流以及主题特性的调优要点。</p>]]>
    </summary>
    <title>手帐纸质风博客搭建记：Hexo 与 FlatPaper 主题调优</title>
    <updated>2026-09-20T11:25:36.101Z</updated>
  </entry>
  <entry>
    <author>
      <name>daipenglcc</name>
    </author>
    <category term="生活与思考" scheme="https://www.vueweb.cn/categories/%E7%94%9F%E6%B4%BB%E4%B8%8E%E6%80%9D%E8%80%83/"/>
    <category term="随笔" scheme="https://www.vueweb.cn/tags/%E9%9A%8F%E7%AC%94/"/>
    <category term="博客" scheme="https://www.vueweb.cn/tags/%E5%8D%9A%E5%AE%A2/"/>
    <content>
      <![CDATA[<p>终于把这个基于 Hexo 和 FlatPaper 主题的个人站点搭起来了。</p><p>很久以前就想找一个排版舒服、看起来安静不杂乱的博客模板，平时随手记录一些前端折腾记录、日常琐事或技术总结。兜兜转转，最终选定了这个纸质风格的界面，看着挺顺眼的。</p><span id="more"></span><h2 id="为什么重新开始写博客？"><a href="#为什么重新开始写博客？" class="headerlink" title="为什么重新开始写博客？"></a>为什么重新开始写博客？</h2><p>在各种社交平台和即时通讯泛滥的当下，信息往往流转得很快，碎片的想法发出去没过几天自己都很难找回来。</p><p>拥有一个完全属于自己的独立博客，节奏会慢很多：</p><ul><li><strong>可沉淀</strong>：长文、技术排坑经验可以按条理整理归档。</li><li><strong>自主掌控</strong>：内容以 Markdown 纯文本保存在 Git 中，不用担心平台规则或数据丢失。</li><li><strong>纯粹阅读</strong>：没有弹窗、没有复杂的算法流，只有文字、代码和简单的配图。</li></ul><hr><h2 id="主题特性测试"><a href="#主题特性测试" class="headerlink" title="主题特性测试"></a>主题特性测试</h2><p>FlatPaper 主题内置了挺多精致的小组件，这里也顺便记录一下常用的语法备忘：</p><h3 id="1-提示块（Note-容器）"><a href="#1-提示块（Note-容器）" class="headerlink" title="1. 提示块（Note 容器）"></a>1. 提示块（Note 容器）</h3><details class="flatpaper-note flatpaper-note--info"><summary class="flatpaper-note__title"><span class="flatpaper-note__icon" aria-hidden="true"></span><span class="flatpaper-note__label">写作小贴士</span><span class="flatpaper-note__chevron" aria-hidden="true"></span></summary><div class="flatpaper-note__body"><p>Hexo 支持通过 <code>&lt;!-- more --&gt;</code> 标记文章摘要，首页只会截取标记前的内容，点击「阅读全文」即可查看完整文章。</p></div></details><details class="flatpaper-note flatpaper-note--default"><summary class="flatpaper-note__title"><span class="flatpaper-note__icon" aria-hidden="true"></span><span class="flatpaper-note__label">tip 为什么折腾静态博客</span><span class="flatpaper-note__chevron" aria-hidden="true"></span></summary><div class="flatpaper-note__body"><p>静态博客生成的是纯 HTML 网页，加载速度快，维护成本低，配合 GitHub Pages 基本零成本运行。</p></div></details><h3 id="2-代码块高亮演示"><a href="#2-代码块高亮演示" class="headerlink" title="2. 代码块高亮演示"></a>2. 代码块高亮演示</h3><p>写技术笔记少不了贴代码，比如本地启动和发布的常用命令：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 启动本地预览服务</span></span><br><span class="line">hexo server</span><br><span class="line"></span><br><span class="line"><span class="comment"># 生成静态文件并推送到 GitHub Pages</span></span><br><span class="line">hexo clean &amp;&amp; hexo g &amp;&amp; hexo d</span><br></pre></td></tr></table></figure><p>再来一段简单的 JavaScript &#x2F; Vue 示例：</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> &#123; ref, onMounted &#125; <span class="keyword">from</span> <span class="string">&#x27;vue&#x27;</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">export</span> <span class="keyword">default</span> &#123;</span><br><span class="line">  <span class="title function_">setup</span>(<span class="params"></span>) &#123;</span><br><span class="line">    <span class="keyword">const</span> message = <span class="title function_">ref</span>(<span class="string">&#x27;Hello, VueWeb!&#x27;</span>)</span><br><span class="line"></span><br><span class="line">    <span class="title function_">onMounted</span>(<span class="function">() =&gt;</span> &#123;</span><br><span class="line">      <span class="variable language_">console</span>.<span class="title function_">log</span>(<span class="string">&#x27;博客加载完成，欢迎常来交流。&#x27;</span>)</span><br><span class="line">    &#125;)</span><br><span class="line"></span><br><span class="line">    <span class="keyword">return</span> &#123; message &#125;</span><br><span class="line">  &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><hr><h2 id="接下来想写的内容"><a href="#接下来想写的内容" class="headerlink" title="接下来想写的内容"></a>接下来想写的内容</h2><ul><li>前端开发中遇到的一些坑与性能调优小结</li><li>常用工具与开发工作流的折腾心得</li><li>偶尔的生活流水账与读书笔记</li></ul><p>生活与工作总在往前走，希望这里能成为一个安静记录的地方。</p>]]>
    </content>
    <id>https://www.vueweb.cn/2026/09/20/%E6%88%91%E7%9A%84%E7%AC%AC%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0/</id>
    <link href="https://www.vueweb.cn/2026/09/20/%E6%88%91%E7%9A%84%E7%AC%AC%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0/"/>
    <published>2026-09-20T11:10:34.000Z</published>
    <summary>
      <![CDATA[<p>终于把这个基于 Hexo 和 FlatPaper 主题的个人站点搭起来了。</p>
<p>很久以前就想找一个排版舒服、看起来安静不杂乱的博客模板，平时随手记录一些前端折腾记录、日常琐事或技术总结。兜兜转转，最终选定了这个纸质风格的界面，看着挺顺眼的。</p>]]>
    </summary>
    <title>你好，世界：开启个人的写作空间</title>
    <updated>2026-09-20T11:12:15.683Z</updated>
  </entry>
  <entry>
    <author>
      <name>daipenglcc</name>
    </author>
    <content>
      <![CDATA[<p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a href="https://hexo.io/docs/troubleshooting.html">troubleshooting</a> or you can ask me on <a href="https://github.com/hexojs/hexo/issues">GitHub</a>.</p><h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo new <span class="string">&quot;My New Post&quot;</span></span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/writing.html">Writing</a></p><h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo server</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/server.html">Server</a></p><h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo generate</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/generating.html">Generating</a></p><h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo deploy</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/one-command-deployment.html">Deployment</a></p>]]>
    </content>
    <id>https://www.vueweb.cn/2026/09/20/hello-world/</id>
    <link href="https://www.vueweb.cn/2026/09/20/hello-world/"/>
    <published>2026-09-20T09:31:55.269Z</published>
    <summary>
      <![CDATA[<p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/">documentation</a> for]]>
    </summary>
    <title>Hello World</title>
    <updated>2026-09-20T09:31:55.269Z</updated>
  </entry>
</feed>
