陈年往事 · blog

Vibe 内容格式使用指南

1,254 words 4 min read #Astro#Vibe#Content

vibe 页面用于展示比正式 blog 更轻、更短、更即时的内容。它适合记录生活片段、开发中的小想法、页面调整后的感受、图片日记、灵感句子,或者暂时还不值得写成完整文章的记录。

vibe 页面长图布局预览
vibe 页面长图布局预览

这些内容集中放在:

src/content/vibe/

每一篇 vibe 都是一个独立的 Markdown 或 MDX 文件,由 Astro Content Collection 读取,并在 src/pages/vibe.astro 中渲染成一条时间流。

页面配置

vibe 页面有少量全局配置,放在:

src/config/site.toml

当前支持的配置是:

[config.vibe]
showTrail = true

showTrail 用来控制页面是否展示时间流里的轨迹线和节点圆点。

  • true:默认值,桌面端展示轨迹线和 vibe-dot
  • false:不渲染轨迹线、节点圆点,也不会加载绘制轨迹线的客户端脚本

移动端会始终隐藏轨迹线和节点圆点。这样小屏幕阅读时不会被装饰线挤占空间,内容会更像一组轻量卡片自然向下排列。

文件命名

推荐使用日期开头的文件名,方便排序和维护:

2026-05-23-route-switching.md
2026-05-22-window-light.md
2026-05-20-rainy-night.md

文件名不直接决定显示日期,真正用于排序和展示的是 frontmatter 里的 date 字段。不过日期前缀可以让内容目录更容易扫描。

最小格式

一篇最简单的 vibe 只需要 date 和正文:

---
date: 2026-05-20
---

今天把一个小交互调顺了。页面没有变复杂,只是安静了一点。

如果没有显式设置 type,它会默认为 text。如果没有设置 size,它会默认为 md

常用字段

vibe 集合的字段定义在 src/content.config.ts 中。

字段类型说明
titlestring可选标题,适合给某条片段一个短标签
datedate必填,用于排序和显示
updatedDatedate可选更新时间
draftboolean是否为草稿,草稿不会显示
typeenum内容类型,可选 textphotoquotecodemixed
moodstring当前氛围,如 quietrainyafter work
locationstring可选地点
imagesimage[]图片数组,用于 photo 或 mixed 内容
tagsstring[]标签数组
alignenum可选 leftrightcenter
sizeenum可选 smmdlg

内容类型

type 会影响渲染时的视觉语气。它不是文章分类,而是这条片段的表现方式。

text

普通文字片段,适合大多数日常记录。

---
title: window light
date: 2026-05-22
type: text
mood: soft focus
tags: [daily, writing]
align: left
size: md
---

窗边的光落在键盘上,像给今天留了一个很轻的批注。

photo

带图片的片段,适合生活照片、截图、手账插图等。

---
date: 2026-05-20
type: photo
mood: rainy
location: Tokyo
images:
  - ../../assets/figure/blog-sample-picture.png
tags: [life]
align: right
size: lg
---

东京下雨了,路灯下面有一点像游戏场景。

图片路径相对于当前 Markdown 文件。因为 vibe 文件在 src/content/vibe/ 下,引用 src/assets/figure/ 里的图片时通常需要写成:

../../assets/figure/example.png

quote

引用式片段,适合短句、摘录、某个想法的浓缩表达。当前页面会给 quote 类型更大的字号,所以如果希望字体和普通内容一致,请使用 type: text

---
date: 2026-05-23
type: quote
mood: tiny motion
tags: [idea]
align: center
size: sm
---

Page transitions should feel like turning a quiet page.

mixed

混合内容,适合既有标题、正文,也可能带图片、标签和更多 Markdown 内容的片段。

---
title: after work
date: 2026-05-21
type: mixed
mood: after work
tags: [blog, idea]
align: center
size: sm
---

Not formal enough for a post. Still part of the story.

想把每一次小修小补都留下来,像页边的铅笔痕迹。

对齐和尺寸

align 控制条目在时间流中的横向位置:

  • left:靠左显示
  • right:靠右显示
  • center:居中显示

如果不设置 align,页面会根据顺序自动在左右之间交替。

size 控制条目的宽度语气:

  • sm:适合一句话、短引用、小想法
  • md:默认尺寸,适合普通段落
  • lg:适合图片或较长片段

草稿

如果一条 vibe 暂时不想展示,可以设置:

draft: true

页面读取内容时会过滤草稿:

const vibeEntries = (await getCollection('vibe')).filter((item) => !item.data.draft);

推荐写法

vibe 当作轻量笔记,而不是另一个正式 blog 列表。

适合放进 vibe 的内容:

  • 一次页面微调后的感受
  • 一个还没展开成文章的想法
  • 一张图片和一句说明
  • 某个开发过程里的小发现
  • 一段当天的情绪或观察

不太适合放进 vibe 的内容:

  • 很长的技术教程
  • 需要完整结构的项目复盘
  • 多章节文章
  • 需要 SEO 摘要和 hero 图的正式内容

如果一条内容开始变得很长,或者需要多个标题层级,那它更适合放进 src/content/blog/,写成一篇正式文章。

留言

关于这篇文章的留言。