<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>flowwalker之工巧Blog</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://flowwalker.github.io/engineering-notes-blog/</id>
  <link href="https://flowwalker.github.io/engineering-notes-blog/" rel="alternate"/>
  <link href="https://flowwalker.github.io/engineering-notes-blog/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, flowwalker之工巧Blog</rights>
  <subtitle>于浩歌狂热之际饮冰寒凉</subtitle>
  <title>工程笔记</title>
  <updated>2026-07-23T10:31:14.277Z</updated>
  <entry>
    <author>
      <name>flowwalker之工巧Blog</name>
    </author>
    <category term="博客" scheme="https://flowwalker.github.io/engineering-notes-blog/categories/%E5%8D%9A%E5%AE%A2/"/>
    <category term="Hexo" scheme="https://flowwalker.github.io/engineering-notes-blog/tags/Hexo/"/>
    <category term="Obsidian" scheme="https://flowwalker.github.io/engineering-notes-blog/tags/Obsidian/"/>
    <category term="Quartz" scheme="https://flowwalker.github.io/engineering-notes-blog/tags/Quartz/"/>
    <category term="GitHub Pages" scheme="https://flowwalker.github.io/engineering-notes-blog/tags/GitHub-Pages/"/>
    <content>
      <![CDATA[<p>最近重新规划了整套博客体系，从原来单一的主博客扩展为”主博客 + 4 个学科子博客 + 1 个 Wiki”的结构。这篇文章记录整体思路和关键实现步骤。</p><h2 id="1-主博客：flowwalker-top"><a href="#1-主博客：flowwalker-top" class="headerlink" title="1. 主博客：flowwalker.top"></a>1. 主博客：flowwalker.top</h2><p>主博客是我最早搭建的网站，使用 <strong>Hexo + anzhiyu 主题</strong>，部署在 GitHub Pages 上，绑定自定义域名 <code>flowwalker.top</code>。anzhiyu 主题功能比较丰富，目前包含：</p><ul><li>文章归档、分类、标签</li><li>相册集</li><li>追番页</li><li>音乐页面（Taylor 音乐馆、随机乐音乐厅）</li><li>随笔（触景随谈）</li><li>友链</li><li>TodoList</li></ul><p>我主要负责维护主博客，核心定位是综合性的生活记录和技术杂谈。</p><h2 id="2-整体架构"><a href="#2-整体架构" class="headerlink" title="2. 整体架构"></a>2. 整体架构</h2><p>随着课程笔记越来越多，把所有内容都堆在主博客里会变得混乱。于是把不同学科拆出来，形成独立的子博客：</p><p>每个子博客有独立的 URL、独立的主题配置，以后想单独公开或转让也方便。</p><pre><code class="hljs text">flowwalker.github.io/                  # 主博客├── math-notes-blog/             # 数学博客├── physics-notes-blog/          # 物理博客├── coding-notes-blog/           # 编程博客├── engineering-notes-blog/      # 工程笔记└── flowwalker-wiki/             # 知识库</code></pre><p>主博客的菜单里已经加了所有子站和 Wiki 的入口，形成一个整体的导航系统。</p><h2 id="3-子博客的技术实现"><a href="#3-子博客的技术实现" class="headerlink" title="3. 子博客的技术实现"></a>3. 子博客的技术实现</h2><h3 id="3-1-仓库结构"><a href="#3-1-仓库结构" class="headerlink" title="3.1 仓库结构"></a>3.1 仓库结构</h3><p>每个子博客采用两套仓库：</p><ul><li><strong>Public 部署仓库</strong>：只存放生成的 HTML，用于 GitHub Pages 访问</li><li><strong>Private 源文件备份仓库</strong>：存放 Markdown 源文件、配置文件、主题等</li></ul><p>我最后选择了 <strong>4 个 Public 部署仓库 + 1 个统一 Private 备份仓库 <code>notes-source</code></strong> 的方案。这样只需要管理 5 个仓库，而不是 8 个。</p><h3 id="3-2-本地目录"><a href="#3-2-本地目录" class="headerlink" title="3.2 本地目录"></a>3.2 本地目录</h3><pre><code class="hljs text">/Users/focus/Desktop/blog/notes/├── hexo-dawn-template-main/   # 模板母版├── math-notes-blog/├── physics-notes-blog/├── coding-notes-blog/└── engineering-notes-blog/</code></pre><h3 id="3-3-主题配置"><a href="#3-3-主题配置" class="headerlink" title="3.3 主题配置"></a>3.3 主题配置</h3><p>子博客使用朋友基于 Icarus 修改的 <strong>Dawn</strong> 主题。它本身已经做了比较干净的配置：</p><ul><li>社交链接只保留 RSS</li><li>Giscus 评论关闭</li><li>百度统计关闭</li><li>菜单：首页、归档、分类、标签</li></ul><p>仅需修改每个子博客的 <code>_config.yml</code>：</p><pre><code class="hljs yaml"><span class="hljs-attr">title:</span> <span class="hljs-string">数学博客</span><span class="hljs-attr">subtitle:</span> <span class="hljs-string">数学物理方法</span> <span class="hljs-string">·</span> <span class="hljs-string">复变函数</span> <span class="hljs-string">·</span> <span class="hljs-string">概率论</span><span class="hljs-attr">url:</span> <span class="hljs-string">https://flowwalker.github.io/math-notes-blog</span><span class="hljs-attr">root:</span> <span class="hljs-string">/math-notes-blog/</span><span class="hljs-attr">deploy:</span>  <span class="hljs-attr">type:</span> <span class="hljs-string">git</span>  <span class="hljs-attr">repo:</span> <span class="hljs-string">git@github.com:flowwalker/math-notes-blog.git</span>  <span class="hljs-attr">branch:</span> <span class="hljs-string">main</span></code></pre><p><code>url</code> 和 <code>root</code> 必须按仓库名设置，否则生成的链接会出错。因为 GitHub Pages 项目站的地址是 <code>https://flowwalker.github.io/&lt;仓库名&gt;/</code>。</p><blockquote><p>注：数学博客现已迁移到 Vercel 部署，通过自定义域名 <a href="https://math.flowwalker.top/">math.flowwalker.top</a> 访问，<code>_config.yml</code> 相应改为 <code>url: https://math.flowwalker.top</code>、<code>root: /</code>。</p></blockquote><h3 id="3-4-部署"><a href="#3-4-部署" class="headerlink" title="3.4 部署"></a>3.4 部署</h3><p>安装 <code>hexo-deployer-git</code> 后，每个子博客用：</p><pre><code class="hljs bash">npx hexo clean &amp;&amp; npx hexo generate &amp;&amp; npx hexo deploy</code></pre><h3 id="3-5-一个坑：GitHub-Pages-触发"><a href="#3-5-一个坑：GitHub-Pages-触发" class="headerlink" title="3.5 一个坑：GitHub Pages 触发"></a>3.5 一个坑：GitHub Pages 触发</h3><p>首次在 GitHub 里开启 Pages 后，网站不会自动发布。必须在<strong>开启之后</strong>再推一次新提交，GitHub 才会触发构建。这个坑在子博客部署时浪费了不少时间，解决方式是推一个空提交：</p><pre><code class="hljs bash"><span class="hljs-built_in">cd</span> .deploy_git &amp;&amp; git commit --allow-empty -m <span class="hljs-string">&quot;trigger&quot;</span> &amp;&amp; git push</code></pre><h2 id="4-Wiki：Obsidian-Quartz的技术实现"><a href="#4-Wiki：Obsidian-Quartz的技术实现" class="headerlink" title="4. Wiki：Obsidian + Quartz的技术实现"></a>4. Wiki：Obsidian + Quartz的技术实现</h2><h3 id="4-1-为什么用-Wiki？"><a href="#4-1-为什么用-Wiki？" class="headerlink" title="4.1 为什么用 Wiki？"></a>4.1 为什么用 Wiki？</h3><p>课程笔记里有很多概念需要互相引用。传统的博客按文章组织，很难表达这种网状关系。</p><p>此外最近上手Obsidian, 也想使用新工具进行创作</p><p>Obsidian + Quartz 组合正好解决这个问题：</p><ul><li><strong>Obsidian</strong> 负责本地写作，支持 <code>[[双向链接]]</code></li><li><strong>Quartz 4</strong> 把 Obsidian 笔记转换成静态网站</li><li>发布到 GitHub Pages，支持搜索、反链、知识图谱</li></ul><h3 id="4-2-本地结构"><a href="#4-2-本地结构" class="headerlink" title="4.2 本地结构"></a>4.2 本地结构</h3><pre><code class="hljs text">~/Desktop/blog/wiki/├── content/          # Obsidian Vault，也是 Quartz 的笔记目录│   ├── index.md│   └── ...├── quartz.config.ts├── quartz.layout.ts└── .github/workflows/deploy.yml</code></pre><p><strong>关键</strong>：Obsidian 的 Vault 必须打开 <code>wiki/content/</code> 这个文件夹，而不是 <code>wiki/</code> 根目录。否则笔记会落在错误位置，发布不出去。</p><h3 id="4-3-Quartz-配置"><a href="#4-3-Quartz-配置" class="headerlink" title="4.3 Quartz 配置"></a>4.3 Quartz 配置</h3><p><code>quartz.config.ts</code> 主要修改：</p><pre><code class="hljs typescript"><span class="hljs-attr">pageTitle</span>: <span class="hljs-string">&quot;flowwalker 的知识库&quot;</span>,<span class="hljs-attr">locale</span>: <span class="hljs-string">&quot;zh-CN&quot;</span>,<span class="hljs-attr">baseUrl</span>: <span class="hljs-string">&quot;flowwalker.github.io/flowwalker-wiki&quot;</span>,<span class="hljs-attr">analytics</span>: <span class="hljs-literal">null</span>,</code></pre><p>字体则通过 <code>quartz/styles/custom.scss</code> 覆盖：</p><pre><code class="hljs scss"><span class="hljs-selector-pseudo">:root</span><span class="hljs-selector-pseudo">:root</span> &#123;  <span class="hljs-attr">--titleFont</span>: <span class="hljs-string">&quot;Comic Neue&quot;</span>, ...;  <span class="hljs-attr">--headerFont</span>: <span class="hljs-string">&quot;Comic Neue&quot;</span>, ...;  <span class="hljs-attr">--bodyFont</span>: <span class="hljs-string">&quot;Comic Neue&quot;</span>, ...;&#125;</code></pre><p>这里用 <code>:root:root</code> 提高优先级，覆盖 Quartz 在末尾追加的 <code>:root</code> 变量定义。</p><h3 id="4-4-部署"><a href="#4-4-部署" class="headerlink" title="4.4 部署"></a>4.4 部署</h3><p>Wiki 使用 GitHub Actions 自动构建：</p><ol><li>在 Obsidian 里写笔记</li><li><code>git push</code> 到 <code>flowwalker/flowwalker-wiki</code></li><li>Actions 自动运行 <code>npm ci</code> 和 <code>npx quartz build</code></li><li>构建产物通过 <code>actions/deploy-pages</code> 发布到 Pages</li></ol><h3 id="4-5-双向链接"><a href="#4-5-双向链接" class="headerlink" title="4.5 双向链接"></a>4.5 双向链接</h3><p>在 Obsidian 里写：</p><pre><code class="hljs markdown">[[傅里叶变换]] 在信号与系统中非常重要。</code></pre><p>Quartz 会自动解析这个链接，生成对应的页面和关系图。这是 Wiki 相比普通博客最大的优势。</p><h2 id="5-来路方长"><a href="#5-来路方长" class="headerlink" title="5. 来路方长"></a>5. 来路方长</h2><p>这次重构最主要做的是分清了三类内容：</p><ul><li><p><strong>主博客</strong>：综合、生活、随笔</p></li><li><p><strong>子博客</strong>：按学科组织的课程笔记</p></li><li><p><strong>Wiki</strong>：概念密集、需要互相链接的知识库或者经验经历</p></li></ul><hr><p>工具链上：</p><ul><li><p><strong>GitHub Pages</strong> 负责托管</p></li><li><p><strong>Obsidian</strong> 和 <strong>Typora</strong> 负责写作</p></li><li><p><strong>Hexo</strong> 负责博客</p></li><li><p><strong>Quartz</strong> 负责 Wiki</p></li></ul><hr><p>下一步可能会为子博客配置评论，或者给 Wiki 增加更多笔记。</p>]]>
    </content>
    <id>https://flowwalker.github.io/engineering-notes-blog/posts/df65/</id>
    <link href="https://flowwalker.github.io/engineering-notes-blog/posts/df65/"/>
    <published>2026-07-19T18:00:00.000Z</published>
    <summary>合抱之木，生于毫末。</summary>
    <title>我的博客系统搭建记录：主博客、子博客与 Wiki</title>
    <updated>2026-07-23T10:31:14.277Z</updated>
  </entry>
  <entry>
    <author>
      <name>flowwalker之工巧Blog</name>
    </author>
    <category term="站务" scheme="https://flowwalker.github.io/engineering-notes-blog/categories/%E7%AB%99%E5%8A%A1/"/>
    <category term="开篇" scheme="https://flowwalker.github.io/engineering-notes-blog/tags/%E5%BC%80%E7%AF%87/"/>
    <content>
      <![CDATA[<p>这里是我的工程学习笔记博客。</p><p>公式用 MathJax 渲染：</p><p>$$X(f) = \int_{-\infty}^{\infty} x(t)\, e^{-j2\pi f t}\, dt$$</p><p>在这个时代的潮流中，虽然手搓已经失去了效率一说，权威也被解构，那么——</p><p>似乎一切的自我陶醉都是一种自作多情，但</p><p>f又何妨呢？</p><p>心中拥有美好，荒岛也能耕种出繁花～</p><p>孤芳自赏者，毋为世事倾侧。</p><p>主博客请访问 <a href="https://flowwalker.github.io/">flowwalker.github.io</a>。</p>]]>
    </content>
    <id>https://flowwalker.github.io/engineering-notes-blog/posts/3b26/</id>
    <link href="https://flowwalker.github.io/engineering-notes-blog/posts/3b26/"/>
    <published>2026-07-19T15:30:00.000Z</published>
    <summary>纸上终浅，何不躬行?</summary>
    <title>工程博客开张</title>
    <updated>2026-07-21T12:55:15.485Z</updated>
  </entry>
</feed>
