<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Helloblog</title><link>https://helloblog.pages.dev/</link><description>Recent content on Helloblog</description><generator>Hugo</generator><language>zh-cn</language><copyright>2026 Helloblog, power by Hugo, All rights reserved</copyright><lastBuildDate>Sat, 07 Nov 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://helloblog.pages.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>配置指南</title><link>https://helloblog.pages.dev/posts/config-guide/</link><pubDate>Sat, 07 Nov 2026 00:00:00 +0800</pubDate><guid>https://helloblog.pages.dev/posts/config-guide/</guid><description>&lt;h1 id="配置指南">配置指南&lt;a class="heading-anchor" href="#%e9%85%8d%e7%bd%ae%e6%8c%87%e5%8d%97" aria-label="此标题的链接" tabindex="-1">#&lt;/a>&lt;/h1>
&lt;p>本页说明主题的配置该怎么写：哪些由主题内置、哪些必须写在你的站点里、每个参数的作用，以及容易踩的坑。按顺序抄一遍就能跑起来。&lt;/p>
&lt;h2 id="配置分三层">配置分三层&lt;a class="heading-anchor" href="#%e9%85%8d%e7%bd%ae%e5%88%86%e4%b8%89%e5%b1%82" aria-label="此标题的链接" tabindex="-1">#&lt;/a>&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>文件&lt;/th>
 &lt;th>作用&lt;/th>
 &lt;th>要不要动&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>主题根 &lt;code>hugo.toml&lt;/code>&lt;/td>
 &lt;td>主题内置默认值，Hugo 会自动合并进你的站点&lt;/td>
 &lt;td>不用动，需要时在站点里覆盖&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>站点 &lt;code>hugo.toml&lt;/code>&lt;/td>
 &lt;td>你自己的站点配置&lt;/td>
 &lt;td>必须写&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>exampleSite/hugo.toml&lt;/code>&lt;/td>
 &lt;td>示例站配置，含仓库自测用的挂载&lt;/td>
 &lt;td>只作参考&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;div class="admonition admonition-warn">
 &lt;div class="admonition-head">
 &lt;svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">&lt;path d="M12 9v4"/>&lt;path d="M12 17h.01"/>&lt;path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/>&lt;/svg>
 &lt;span class="admonition-title">警告&lt;/span>
 &lt;/div>
 &lt;div class="admonition-body">&lt;p>不要把 exampleSite/hugo.toml 整份复制到自己的站点。它的 [module] 段挂载的是 ../layouts、../assets 这些上层目录，只有「仓库根就是主题」的结构才成立。主题安装到 themes/helloblog 后这些路径不存在，构建会直接失败。&lt;/p>
&lt;/div>
&lt;/div>
&lt;h2 id="最小可用配置">最小可用配置&lt;a class="heading-anchor" href="#%e6%9c%80%e5%b0%8f%e5%8f%af%e7%94%a8%e9%85%8d%e7%bd%ae" aria-label="此标题的链接" tabindex="-1">#&lt;/a>&lt;/h2>
&lt;p>初始化站点只需要下面这些：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">baseURL&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;https://your-domain.com/&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">title&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;My Blog&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">timeZone&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;Asia/Shanghai&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">theme&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;helloblog&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 生成 robots.txt，并指向 sitemap&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">enableRobotsTXT&lt;/span> = &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 标签只在 /tags/ 原地筛选，不生成 /tags/&amp;lt;term&amp;gt;/ 详情页&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">disableKinds&lt;/span> = [&lt;span style="color:#e6db74">&amp;#39;term&amp;#39;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 首页额外输出 index.json，搜索功能依赖它&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">outputs&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">home&lt;/span> = [&lt;span style="color:#e6db74">&amp;#39;html&amp;#39;&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;rss&amp;#39;&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;json&amp;#39;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 列表页每页条数&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">pagination&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">pagerSize&lt;/span> = &lt;span style="color:#ae81ff">6&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 只保留标签 taxonomy&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">taxonomies&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">tag&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;tags&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="admonition admonition-warn">
 &lt;div class="admonition-head">
 &lt;svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">&lt;path d="M12 9v4"/>&lt;path d="M12 17h.01"/>&lt;path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/>&lt;/svg>
 &lt;span class="admonition-title">警告&lt;/span>
 &lt;/div>
 &lt;div class="admonition-body">&lt;p>outputs.home 必须包含 json。少了它，搜索会静默失效，页面不报错但没有任何结果。&lt;/p></description></item><item><title>静态博客的写作组件与排版实践</title><link>https://helloblog.pages.dev/posts/components-test/</link><pubDate>Fri, 23 Oct 2026 00:00:00 +0800</pubDate><guid>https://helloblog.pages.dev/posts/components-test/</guid><description>&lt;p>写博客久了会发现，真正影响阅读体验的往往不是内容本身，而是排版：代码块有没有高亮、提示信息会不会被忽略、长文能不能快速跳转。这篇示例文章用来说明本主题的写作组件是怎么设计、怎么用的，也可以当作新文章的模板参考。&lt;/p>
&lt;h2 id="为什么把渲染放在编译期">为什么把渲染放在编译期&lt;a class="heading-anchor" href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e6%8a%8a%e6%b8%b2%e6%9f%93%e6%94%be%e5%9c%a8%e7%bc%96%e8%af%91%e6%9c%9f" aria-label="此标题的链接" tabindex="-1">#&lt;/a>&lt;/h2>
&lt;p>静态站点最容易被误解的一点，是「静态等于没有交互」。实际上交互可以保留，只是执行位置不同。&lt;/p>
&lt;div class="admonition admonition-tip">
 &lt;div class="admonition-head">
 &lt;svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">&lt;path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"/>&lt;path d="M9 18h6"/>&lt;path d="M10 22h4"/>&lt;/svg>
 &lt;span class="admonition-title">核心原则&lt;/span>
 &lt;/div>
 &lt;div class="admonition-body">&lt;p>能在构建时确定的内容，就不要留到浏览器再算。&lt;/p>
&lt;/div>
&lt;/div>
&lt;p>具体到本主题，Markdown 里的提示块、目录树、终端输出、流程图外壳都在构建时直出 HTML；只有 mermaid 绘图、代码复制、图集灯箱这类依赖浏览器能力的部分才留了少量脚本。&lt;/p>
&lt;blockquote class="quote">&lt;div class="quote-body">任何可以用编译期解决的问题，都不应该留给运行时。&lt;/div>&lt;footer class="quote-cite">设计原则&lt;cite class="quote-source">《项目手册》&lt;/cite>&lt;/footer>&lt;/blockquote>
&lt;p>这样做的好处很直接：首屏是完整的 HTML，搜索引擎和 RSS 读到的内容和读者看到的一致，也不会因为脚本加载失败而白屏。代价是改内容需要重新构建，对个人博客来说几乎不算成本。&lt;/p>
&lt;h2 id="写作流程">写作流程&lt;a class="heading-anchor" href="#%e5%86%99%e4%bd%9c%e6%b5%81%e7%a8%8b" aria-label="此标题的链接" tabindex="-1">#&lt;/a>&lt;/h2>
&lt;p>新增一篇文章的步骤是固定的：&lt;/p>
&lt;div class="steps">&lt;div class="steps-item">&lt;span class="steps-no">1&lt;/span>&lt;div class="steps-body">&lt;div class="steps-title">建目录&lt;/div>&lt;div class="steps-desc">在 content/posts 下按 slug 建文件夹&lt;/div>&lt;/div>&lt;/div>&lt;div class="steps-item">&lt;span class="steps-no">2&lt;/span>&lt;div class="steps-body">&lt;div class="steps-title">写正文&lt;/div>&lt;div class="steps-desc">新建 index.md，可配 index.en.md 提供译文&lt;/div>&lt;/div>&lt;/div>&lt;div class="steps-item">&lt;span class="steps-no">3&lt;/span>&lt;div class="steps-body">&lt;div class="steps-title">本地预览&lt;/div>&lt;div class="steps-desc">hugo server 实时查看效果&lt;/div>&lt;/div>&lt;/div>&lt;div class="steps-item">&lt;span class="steps-no">4&lt;/span>&lt;div class="steps-body">&lt;div class="steps-title">发布构建&lt;/div>&lt;div class="steps-desc">hugo --minify 输出静态文件&lt;/div>&lt;/div>&lt;/div>&lt;/div>
&lt;p>本地预览只需一条命令：&lt;/p>
&lt;div class="terminal">
 &lt;div class="terminal-bar">
 &lt;span class="terminal-dot dot-red">&lt;/span>
 &lt;span class="terminal-dot dot-yellow">&lt;/span>
 &lt;span class="terminal-dot dot-green">&lt;/span>
 &lt;span class="terminal-title">terminal&lt;/span>
 &lt;/div>
 &lt;div class="terminal-body">&lt;div class="terminal-line terminal-cmd">&lt;span class="terminal-prompt">$&lt;/span> cd exampleSite&lt;/div>&lt;div class="terminal-line terminal-cmd">&lt;span class="terminal-prompt">$&lt;/span> hugo server&lt;/div>&lt;div class="terminal-line">Web Server is available at http://localhost:1313/&lt;/div>&lt;div class="terminal-line terminal-cmd">&lt;span class="terminal-prompt">$&lt;/span> hugo --minify&lt;/div>&lt;/div>
&lt;/div>
&lt;div class="admonition admonition-info">
 &lt;div class="admonition-head">
 &lt;svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">&lt;circle cx="12" cy="12" r="10"/>&lt;path d="M12 16v-4"/>&lt;path d="M12 8h.01"/>&lt;/svg>
 &lt;span class="admonition-title">信息&lt;/span>
 &lt;/div>
 &lt;div class="admonition-body">&lt;p>本地预览默认端口是 1313，被占用时加 -p 换一个即可；构建产物不会包含 Draft 状态的文章。&lt;/p></description></item><item><title>关于我</title><link>https://helloblog.pages.dev/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://helloblog.pages.dev/about/</guid><description>&lt;h2 id="关于我">关于我&lt;a class="heading-anchor" href="#%e5%85%b3%e4%ba%8e%e6%88%91" aria-label="此标题的链接" tabindex="-1">#&lt;/a>&lt;/h2>
&lt;h3 id="个人简介">个人简介&lt;a class="heading-anchor" href="#%e4%b8%aa%e4%ba%ba%e7%ae%80%e4%bb%8b" aria-label="此标题的链接" tabindex="-1">#&lt;/a>&lt;/h3>
&lt;p>就读于东北电力大学，专业为电气工程及其自动化。&lt;/p>
&lt;p>对编程感兴趣，自学了点编程。&lt;/p>
&lt;h3 id="技术栈">技术栈&lt;a class="heading-anchor" href="#%e6%8a%80%e6%9c%af%e6%a0%88" aria-label="此标题的链接" tabindex="-1">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>前端&lt;/strong>：HTML5、CSS3、TypeScript（JavaScript）、Vue3、SSG（Hexo、Hugo、VitePress）&lt;/li>
&lt;li>&lt;strong>后端&lt;/strong>：Python、TypeScript&lt;/li>
&lt;li>&lt;strong>硬件&lt;/strong>：Arduino（Cpp）、STM32（C）&lt;/li>
&lt;li>&lt;strong>工具&lt;/strong>：Vite、Git、npm&lt;/li>
&lt;/ul>
&lt;h3 id="联系方式">联系方式&lt;a class="heading-anchor" href="#%e8%81%94%e7%b3%bb%e6%96%b9%e5%bc%8f" aria-label="此标题的链接" tabindex="-1">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>邮箱&lt;/strong>：3253884026@qq.com&lt;/li>
&lt;li>&lt;strong>GitHub&lt;/strong>：https://github.com/Cnkrru&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h3 id="关于-ai-编程">关于 AI 编程&lt;a class="heading-anchor" href="#%e5%85%b3%e4%ba%8e-ai-%e7%bc%96%e7%a8%8b" aria-label="此标题的链接" tabindex="-1">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>我不反感 AI 编程，但是不喜欢 All in AI&lt;/li>
&lt;li>根据个人使用 AI 编程的体验来看，AI 能发挥多大能力取决于你自己的知识储备和代码水平&lt;/li>
&lt;li>不管是前端、后端还是硬件，在 AI 辅助下，确实轻松了不少，但是目前 AI 写的代码，感觉和屎山差不多&lt;/li>
&lt;li>不多说了，AI 是好事，但是不管做什么还是得看个人水平&lt;/li>
&lt;/ul>
&lt;hr>
&lt;ul>
&lt;li>这个博客站点的所有文章以及示例代码均是手写&lt;/li>
&lt;li>说这个不是为了炫耀什么，该博客中所有文章涉及的内容如有疑问，随便问我，可能我会记不清楚具体的解决方法，但是自己写过的总会有印象&lt;/li>
&lt;/ul>
&lt;hr>
&lt;ul>
&lt;li>AI 写的最好自己看看，写的不好，经过人工审查后，一些模块代码能减少 50%，一些是代码精简，但是功能保持不变，一些是死代码&lt;/li>
&lt;/ul></description></item></channel></rss>