<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Vercel on 我的博客</title><link>https://hugo-blog-eight-gamma.vercel.app/tags/vercel/</link><description>Recent content in Vercel on 我的博客</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Wed, 16 Sep 2026 08:30:00 +0800</lastBuildDate><atom:link href="https://hugo-blog-eight-gamma.vercel.app/tags/vercel/index.xml" rel="self" type="application/rss+xml"/><item><title>私有博客搭建指南：Hugo + GitHub + Vercel</title><link>https://hugo-blog-eight-gamma.vercel.app/0003.html</link><pubDate>Wed, 16 Sep 2026 08:30:00 +0800</pubDate><guid>https://hugo-blog-eight-gamma.vercel.app/0003.html</guid><description>&lt;p&gt;我想搭建一个私有博客，本地编辑 Markdown，git 提交后自动更新，代码托管到 GitHub + Vercel。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;结论先行：推荐 Hugo&lt;/strong&gt; —— 它单文件安装、零依赖、构建极快，和你&amp;quot;本地 Markdown + git 推送 + 自动部署&amp;quot;的工作流匹配度最高；如果想要更现代的前端定制能力，备选 Astro。&lt;/p&gt;&#10;&lt;h2 id="一为什么选-hugo对比"&gt;一、为什么选 Hugo（对比）&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;维度&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Hugo（推荐）&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Astro（备选）&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Hexo&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;底层&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Go，单二进制，无运行时依赖&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Node.js 前端框架&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Node.js&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;构建速度&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;最快：实测 1 万页约 2.95 秒&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;快，构建期零 JS 输出&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;较慢：1000 页约 45 秒&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;上手门槛&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;低（装一个程序即可）&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;中（需前端基础）&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;低，中文资料最多&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;主题生态&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;丰富（PaperMod、Stack、DoIt 等）&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;增长快&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;丰富但维护热度下降&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;适合人群&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;文章多、技术向、追求极简工作流&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;想深度定制 UI 的前端开发者&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;新手、纯中文生态偏好&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;&lt;strong&gt;选 Hugo 的核心理由&lt;/strong&gt;：你的需求是&amp;quot;本地写 Markdown → git 提交 → 自动更新&amp;quot;，Hugo 不需要任何构建环境（不用装 Node），Vercel 上一条命令搞定，日常维护成本最低。&lt;/p&gt;&#10;&lt;h2 id="二整体架构"&gt;二、整体架构&#10;&lt;/h2&gt;&lt;p&gt;每次 &lt;code&gt;git push&lt;/code&gt; 后，Vercel 自动拉取代码、执行构建、发布到 CDN，全程无需手动上传：&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;本地编辑 Markdown → git commit / push → GitHub 仓库&#10; │&#10; ▼&#10; Vercel 自动拉取并构建（hugo）&#10; │&#10; ▼&#10; 发布到 CDN → https://xxx.vercel.app&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="三详细搭建步骤hugo-主线"&gt;三、详细搭建步骤（Hugo 主线）&#10;&lt;/h2&gt;&lt;h3 id="第-1-步本地安装-hugo"&gt;第 1 步：本地安装 Hugo&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Windows&lt;/strong&gt;：&lt;code&gt;winget install Hugo.Hugo.Extended&lt;/code&gt;（或去 GitHub Releases 下载 &lt;code&gt;hugo_extended_*_windows-amd64.zip&lt;/code&gt;，解压后把目录加进 PATH）&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;macOS&lt;/strong&gt;：&lt;code&gt;brew install hugo&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;验证：&lt;code&gt;hugo version&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="第-2-步初始化站点并选主题"&gt;第 2 步：初始化站点并选主题&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hugo new site myblog &lt;span style="color:#75715e"&gt;# 创建站点骨架&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd myblog&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod &lt;span style="color:#75715e"&gt;# 下载主题（以 PaperMod 为例）&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;编辑 &lt;code&gt;hugo.toml&lt;/code&gt;，启用主题并写基本信息：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;baseURL&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;https://你的vercel域名.vercel.app/&amp;#34;&lt;/span&gt; &lt;span style="color:#75715e"&gt;# 部署拿到域名后回填，也可先留默认&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;languageCode&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;zh-cn&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;title&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;我的博客&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;theme&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;PaperMod&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="第-3-步写第一篇文章并本地预览"&gt;第 3 步：写第一篇文章并本地预览&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hugo new posts/hello.md &lt;span style="color:#75715e"&gt;# 创建文章，正文是标准 Markdown&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hugo server -D &lt;span style="color:#75715e"&gt;# 本地预览，浏览器打开 http://localhost:1313&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;文章头部有 front matter，记得把 &lt;code&gt;draft: true&lt;/code&gt; 删掉或改 &lt;code&gt;false&lt;/code&gt;，否则发布时不会输出。&lt;/p&gt;&#10;&lt;h3 id="第-4-步git-初始化并推送-github"&gt;第 4 步：Git 初始化并推送 GitHub&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;/public/&amp;#34;&lt;/span&gt; &amp;gt; .gitignore &lt;span style="color:#75715e"&gt;# 构建产物不入库&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git init&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git add . &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git commit -m &lt;span style="color:#e6db74"&gt;&amp;#34;init blog&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git branch -M main&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git remote add origin https://github.com/你的用户名/仓库名.git&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git push -u origin main&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;GitHub 上先建一个&lt;strong&gt;空仓库&lt;/strong&gt;（不勾选 README，避免和本地冲突）；仓库建 private 也没问题，Vercel 授权后照样能部署。&lt;/p&gt;&#10;&lt;h3 id="第-5-步接入-vercel-自动部署"&gt;第 5 步：接入 Vercel 自动部署&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;打开 &lt;a class="link" href="https://vercel.com" target="_blank" rel="noopener"&#10; &gt;vercel.com&lt;/a&gt;，用 GitHub 账号登录（授权时会要求安装 Vercel GitHub App，勾选允许访问你的博客仓库）&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Add New → Project → Import&lt;/strong&gt; 选刚才的仓库&lt;/li&gt;&#10;&lt;li&gt;Framework Preset 选 &lt;strong&gt;Hugo&lt;/strong&gt;（Vercel 会自动识别）；确认 Build Command 为 &lt;code&gt;hugo&lt;/code&gt;、Output Directory 为 &lt;code&gt;public&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;点 &lt;strong&gt;Deploy&lt;/strong&gt;，一两分钟后访问生成的 &lt;code&gt;https://xxx.vercel.app&lt;/code&gt; 即可&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;之后每次 &lt;code&gt;git push&lt;/code&gt; 都会自动触发重新构建，只需导入一次。&lt;/p&gt;&#10;&lt;h3 id="第-6-步日常更新流程之后每天都一样"&gt;第 6 步：日常更新流程（之后每天都一样）&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hugo new posts/新文章.md &lt;span style="color:#75715e"&gt;# 写 Markdown&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git add . &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git commit -m &lt;span style="color:#e6db74"&gt;&amp;#34;add: 新文章&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git push&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;推完等 1～2 分钟，Vercel 自动部署完成，这就是&amp;quot;git 提交后自动更新&amp;quot;的全部日常。&lt;/p&gt;&#10;&lt;h2 id="四几点提醒"&gt;四、几点提醒&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;&amp;ldquo;私有博客&amp;quot;的含义&lt;/strong&gt;：Vercel 部署出的站点是公开可访问的（知道链接即可访问）。如果指&amp;quot;私人内容&amp;rdquo;，需要额外加访问控制（如部署后前端加密码页或 Basic Auth）；如果只是&amp;quot;个人专属的公开博客&amp;quot;，现在的方案就够了。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;国内访问&lt;/strong&gt;：Vercel 默认域名在国内一般可访问但速度一般，GitHub push 偶有波动。介意的话可以：绑定自己的域名（Vercel → Settings → Domains），或改用 Cloudflare Pages（步骤几乎一致）。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;想选 Astro&lt;/strong&gt;：安装 Node.js 后 &lt;code&gt;npm create astro@latest&lt;/code&gt;，用官方博客模板（含 Content Collections），Vercel 会识别 Astro 框架，其余流程完全相同。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</description></item></channel></rss>