<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Github-Pages on Armstrong Yan</title><link>https://yanqian.github.io/zh/tags/github-pages/</link><description>Recent content in Github-Pages on Armstrong Yan</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Tue, 21 Jul 2026 09:11:29 +0800</lastBuildDate><atom:link href="https://yanqian.github.io/zh/tags/github-pages/index.xml" rel="self" type="application/rss+xml"/><item><title>用 Obsidian、Hugo 和 GitHub Pages 搭建从私密笔记到公开网站的发布流程</title><link>https://yanqian.github.io/zh/posts/publish/building-a-personal-blog-with-obsidian-hugo-and-github-pages/</link><pubDate>Tue, 21 Jul 2026 09:11:29 +0800</pubDate><guid>https://yanqian.github.io/zh/posts/publish/building-a-personal-blog-with-obsidian-hugo-and-github-pages/</guid><description>&lt;p&gt;最近，我重新搭建了个人网站。出发点很简单：&lt;/p&gt;
&lt;p&gt;继续把 Obsidian 作为私密内容的唯一可信来源，只从中挑选适合公开的笔记，发布到一个干净的个人网站上。&lt;/p&gt;
&lt;p&gt;这篇文章与其说是 Hugo 教程，不如说是在讨论一个问题：私密知识库与公开网站之间的发布边界，究竟该怎么划定。&lt;/p&gt;
&lt;p&gt;下面记录的是我最终采用的架构、做过的取舍，以及实际的发布流程。&lt;/p&gt;
&lt;p&gt;文中的仓库名、URL 和网站页面都来自我自己的配置。如果你也想采用这套方案，请换成自己的 GitHub 用户名、仓库名、域名和导航结构。&lt;/p&gt;
&lt;p&gt;最终，我搭出了一条从私密内容通往公开网站的发布管线：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://yanqian.github.io/posts/publish/building-a-personal-blog-with-obsidian-hugo-and-github-pages/assets/blog-publishing-pipeline/01-publishing-architecture.svg" alt="从私密内容到公开网站的发布管线"&gt;&lt;/p&gt;
&lt;p&gt;它实现了这些效果：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;我仍然可以在 Obsidian 里自由地写笔记。&lt;/li&gt;
&lt;li&gt;私密目录结构永远不会暴露在公开网站上。&lt;/li&gt;
&lt;li&gt;公开笔记可以用一条命令发布。&lt;/li&gt;
&lt;li&gt;GitHub Pages 会自动完成部署。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="为什么我没有直接从-obsidian-发布"&gt;
 为什么我没有直接从 Obsidian 发布
 &lt;a class="heading-link" href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e6%88%91%e6%b2%a1%e6%9c%89%e7%9b%b4%e6%8e%a5%e4%bb%8e-obsidian-%e5%8f%91%e5%b8%83"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;很多教程都建议直接发布 Obsidian 仓库里的内容。&lt;/p&gt;
&lt;p&gt;但我没有这么做。&lt;/p&gt;
&lt;p&gt;因为我的 Obsidian 仓库不只是写作空间，还是我的私密知识系统。&lt;/p&gt;
&lt;p&gt;里面有这样的目录：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;00-Inbox/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Projects/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Career/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;内部笔记/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;随想/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果直接从仓库发布，就会带来边界问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;私密目录结构会出现在公开 URL 中&lt;/li&gt;
&lt;li&gt;内部笔记的组织方式会随之暴露&lt;/li&gt;
&lt;li&gt;写作时还要顾及发布要求，反过来限制笔记的组织方式&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;比如这篇笔记：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;00-Inbox/Kafka 设计.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;最终可能对应这样的公开路径：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/posts/00-inbox/kafka-design/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;我不希望公开网站照搬自己梳理思路时使用的内部结构。&lt;/p&gt;
&lt;p&gt;因此，我加了一层中间边界：&lt;code&gt;Publish/&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;这个目录是可公开内容的一份干净投影。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://yanqian.github.io/posts/publish/building-a-personal-blog-with-obsidian-hugo-and-github-pages/assets/blog-publishing-pipeline/02-vault-boundary-before-after.svg" alt="引入发布边界前后的仓库结构"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="最终架构"&gt;
 最终架构
 &lt;a class="heading-link" href="#%e6%9c%80%e7%bb%88%e6%9e%b6%e6%9e%84"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;最终的架构将写作结构与发布结构分开了。&lt;/p&gt;
&lt;p&gt;事实证明，这是整套方案中最关键的设计决定：私密仓库仍然可以围绕思考与整理来组织，公开网站接收到的则只有干净、适合发布的 Markdown。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="第-1-步--创建-hugo-网站"&gt;
 第 1 步 — 创建 Hugo 网站
 &lt;a class="heading-link" href="#%e7%ac%ac-1-%e6%ad%a5--%e5%88%9b%e5%bb%ba-hugo-%e7%bd%91%e7%ab%99"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;先安装 Hugo。&lt;/p&gt;</description></item></channel></rss>