<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Jamba 的博客</title><link>https://jamba.blog/</link><description>Jamba 的个人博客：Beav、OPG 等开源 AI 项目，以及关于一人公司、用 Claude Code 和 Codex 做产品、Rust 与 TypeScript 开发的文章和复盘。</description><language>zh-cn</language><item><title>这个博客是怎么搭起来的</title><link>https://jamba.blog/posts/how-this-blog-is-built/</link><guid>https://jamba.blog/posts/how-this-blog-is-built/</guid><pubDate>Tue, 03 Nov 2026 01:00:00 GMT</pubDate><description>从首页的粒子字标到文章的分类和标签，这篇记录 jamba.blog 的设计取舍：为什么用 Markdown 文件写文章、为什么是静态网站、文章怎么分类和发布。</description><content:encoded><![CDATA[<p>写博客最怕两件事：搭得太复杂，最后懒得更新；做得太简陋，打开就不想读。这个博客的设计就是在这两件事之间找平衡。</p>
<h2 id="先定两个原则">先定两个原则</h2>
<p>第一，<strong>打开就能读</strong>。首页第一屏就要看到文章列表，而不是一整屏的自我介绍。文章页只有一栏正文，字号和行距都按长时间阅读来定。</p>
<p>第二，<strong>写文章不能比写笔记更麻烦</strong>。一篇文章就是一个 Markdown 文件，写完提交，网站自动更新。</p>
<h2 id="首页的粒子字标">首页的粒子字标</h2>
<p>首页顶部的 Jamba 字样由几千个光点组成，鼠标划过时光点会被推开，再慢慢飞回原位；没有鼠标的时候，每隔几秒会有一阵「风」扫过。</p>
<p>它是一个很轻的 Canvas 动画，不依赖任何动画库。系统开启「减少动态效果」时，动画只会变慢，不会停住。</p>
<h2 id="文章怎么组织">文章怎么组织</h2>
<p>每篇文章的开头写几行信息：</p>
<pre><code>title: 这个博客是怎么搭起来的
date: 2026-11-03
category: tech
tags: [blog, nextjs]
series: building-this-blog
status: published</code></pre>
<ul><li><strong>分类</strong>只有四个，每篇文章选一个：AI 工作流、做产品、技术、随笔。</li><li><strong>标签</strong>可以随时加，用来串起同一个话题，比如 Claude Code、开源。</li><li><strong>系列</strong>用来放连载，文章页会显示这个系列的全部篇目和顺序。</li><li><strong>草稿</strong>把 <code>status</code> 写成 <code>draft</code>，正式网站就不会出现。</li></ul>
<p>分类、标签、系列各自有列表页，全部文章页按月份排列，也可以用 RSS 订阅。</p>
<h2 id="为什么是静态网站">为什么是静态网站</h2>
<p>整个博客在发布前就生成好所有页面，访问时不需要服务器现算。好处是打开快、几乎不会挂、搜索引擎拿到的是完整的正文。</p>
<blockquote><p>博客的核心是内容，技术越少越好。</p></blockquote>
<h2 id="接下来">接下来</h2>
<p>下一步是把这些年做开源项目的经验慢慢写下来。如果你对某个话题特别感兴趣，欢迎发邮件告诉我。</p>]]></content:encoded></item></channel></rss>