<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title>AoMe-Liang BLOG - 博客</title>
      <link>/blog/</link>
      <description>Liang 的个人博客，记录 编程、自动化与工程实践。</description>
      <generator>Zola</generator>
      <language>zh</language>
      <atom:link href="/blog/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Tue, 25 Aug 2026 00:00:00 +0000</lastBuildDate>
      <item>
          <title>你好，Zola：用 Rust 搭建静态博客</title>
          <pubDate>Tue, 25 Aug 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>/blog/hello-zola/</link>
          <guid>/blog/hello-zola/</guid>
          <description xml:base="/blog/hello-zola/">&lt;p&gt;欢迎来到本站！这是我用 &lt;strong&gt;Zola&lt;/strong&gt; 搭建的个人博客。&lt;/p&gt;
&lt;h2 id=&quot;wei-shen-me-xuan-ze-zola&quot;&gt;为什么选择 Zola&lt;/h2&gt;
&lt;p&gt;Zola 是一个用 &lt;strong&gt;Rust&lt;/strong&gt; 编写的静态站点生成器，对比其他同类工具，它有这些优点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;极快的构建速度&lt;/strong&gt;：Rust 编译出的二进制，上千篇文章也是毫秒级构建&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;零运行时依赖&lt;/strong&gt;：输出纯静态 HTML，部署到任意托管平台&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;单文件分发&lt;/strong&gt;：一个可执行文件搞定，无需安装 Node/Python 等运行时&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;内置语法高亮&lt;/strong&gt;：基于 syntect，支持 190+ 语言&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模板引擎 Tera&lt;/strong&gt;：表达力强，与 Jinja2/Django 风格接近&lt;/li&gt;
&lt;/ul&gt;</description>
      </item>
      <item>
          <title>理解 zola.toml 与 Tera 模板</title>
          <pubDate>Mon, 24 Aug 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>/blog/zola-config/</link>
          <guid>/blog/zola-config/</guid>
          <description xml:base="/blog/zola-config/">&lt;p&gt;Zola 的核心是两件事：&lt;strong&gt;配置&lt;/strong&gt;（&lt;code&gt;zola.toml&lt;/code&gt;）与&lt;strong&gt;模板&lt;/strong&gt;（&lt;code&gt;templates/&lt;/code&gt;）。理解这两块，就能完全掌控站点的形态。&lt;/p&gt;
&lt;h2 id=&quot;pei-zhi-wen-jian&quot;&gt;配置文件&lt;/h2&gt;
&lt;p&gt;从 Zola 0.23 开始，配置文件更名为 &lt;code&gt;zola.toml&lt;/code&gt;，内容如下：&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot; &gt;&lt;code data-lang=&quot;toml&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #616E88;&quot;&gt;# 站点基地址，部署时改成你的域名&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;base_url&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt; = &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #A3BE8C;&quot;&gt;https://example.com&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;title&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt; = &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #A3BE8C;&quot;&gt;我的博客&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;description&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt; = &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #A3BE8C;&quot;&gt;用 Zola 搭建的个人博客。&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #616E88;&quot;&gt;# 分类法（标签/分类）&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;taxonomies&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt; = [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;  {&lt;/span&gt;&lt;span&gt; name&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt; = &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #A3BE8C;&quot;&gt;tags&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;,&lt;/span&gt;&lt;span&gt; feed&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #81A1C1;&quot;&gt; true&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;,&lt;/span&gt;&lt;span&gt; paginate_by&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #B48EAD;&quot;&gt; 10&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt; },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;[&lt;/span&gt;&lt;span&gt;extra&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;author&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt; = &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #A3BE8C;&quot;&gt;MyBlog&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意两点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;taxonomies&lt;/code&gt; 等顶层键必须写在 TOML &lt;strong&gt;主区&lt;/strong&gt;（任何 &lt;code&gt;[表头]&lt;/code&gt; 之前），否则会被归进 &lt;code&gt;[extra]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[extra]&lt;/code&gt; 是放任意自定义变量的地方，模板里通过 &lt;code&gt;config.extra.author&lt;/code&gt; 读取&lt;/li&gt;
&lt;/ul&gt;</description>
      </item>
      <item>
          <title>Rust 周记：所有权与借用检查器</title>
          <pubDate>Tue, 18 Aug 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>/blog/rust-weekend-notes/</link>
          <guid>/blog/rust-weekend-notes/</guid>
          <description xml:base="/blog/rust-weekend-notes/">&lt;p&gt;最近集中学习 Rust，这里记录几个让我印象最深的点。&lt;/p&gt;
&lt;h2 id=&quot;suo-you-quan-ownership&quot;&gt;所有权（Ownership）&lt;/h2&gt;
&lt;p&gt;Rust 的内存管理不需要 GC，也不需要手动的 &lt;code&gt;malloc/free&lt;/code&gt;，靠的是&lt;strong&gt;所有权规则&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;每个值都有一个所有者（owner）&lt;/li&gt;
&lt;li&gt;同一时刻一个值只能有一个所有者&lt;/li&gt;
&lt;li&gt;所有者离开作用域时，值被丢弃（drop）&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot; &gt;&lt;code data-lang=&quot;rust&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #81A1C1;&quot;&gt;fn&lt;/span&gt;&lt;span style=&quot;color: #88C0D0;&quot;&gt; main&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #81A1C1;&quot;&gt;    let&lt;/span&gt;&lt;span&gt; s1&lt;/span&gt;&lt;span style=&quot;color: #81A1C1;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #8FBCBB;&quot;&gt; String&lt;/span&gt;&lt;span style=&quot;color: #81A1C1;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #88C0D0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;(&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #A3BE8C;&quot;&gt;hello&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #81A1C1;&quot;&gt;    let&lt;/span&gt;&lt;span&gt; s2&lt;/span&gt;&lt;span style=&quot;color: #81A1C1;&quot;&gt; =&lt;/span&gt;&lt;span&gt; s1&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #616E88;&quot;&gt;          // s1 的所有权转移给 s2&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #616E88;&quot;&gt;    // println!(&amp;quot;{}&amp;quot;, s1); // 编译错误：s1 已被移动&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #88C0D0;font-weight: bold;&quot;&gt;    println!&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;(&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #EBCB8B;&quot;&gt;{}&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;,&lt;/span&gt;&lt;span&gt; s2&lt;/span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;color: #616E88;&quot;&gt;   // ok&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</description>
      </item>
    </channel>
</rss>
