跳转到内容

内容集合 Schema

ShokaX 使用 Astro 内容集合(Content Collections)来管理文章和瞬间,通过 Zod 进行数据校验。

文章存放在 src/posts/ 目录下,支持 .md.mdx 格式。

字段类型必填默认值说明
titlestring-文章标题
dateDate-发布日期
descriptionstring-文章摘要(用于 SEO 和列表展示)
updatedDate-最后更新日期
tagsstring[]-标签列表
categoriesstring[]-分类列表(支持文件夹自动分类)
draftbooleanfalse是否为草稿(草稿不显示在列表中)
coverImage-文章封面图片(本地图片引用)
stickybooleanfalse是否置顶
licenseLicenseType全站默认单篇文章许可协议
encryptedbooleanfalse是否加密文章
passwordstring-加密密码(仅构建时使用,不会输出到前端)
"CC-BY-4.0" | "CC-BY-SA-4.0" | "CC-BY-ND-4.0" |
"CC-BY-NC-4.0" | "CC-BY-NC-SA-4.0" | "CC-BY-NC-ND-4.0" | "NOREPRINT"

如果将文章放在以分类命名的文件夹中,ShokaX 会自动应用分类:

src/posts/技术/前端/my-post.md

等价于在 frontmatter 中设置:

categories: ["技术", "前端"]
src/posts/my-article.md
---
title: "我的技术文章"
description: "这是一篇关于前端开发的技术分享"
date: 2026-06-06
updated: 2026-06-10
tags:
- Astro
- Svelte
- UnoCSS
categories:
- 技术
- 前端
draft: false
sticky: true
license: CC-BY-NC-SA-4.0
---

瞬间存放在 src/moments/ 目录下,是轻量级的动态/说说内容。

字段类型必填说明
dateDate发布日期
images(string | Image)[]附加图片,支持本地路径和远程 URL
文章 (posts)瞬间 (moments)
用途长文写作短动态、状态更新
标题必填
分类/标签支持不支持
加密支持不支持
封面图支持不支持
RSS包含不包含
src/moments/2026-06-06.md
---
date: 2026-06-06
images:
- "https://example.com/photo.jpg"
---
今天天气真好 ☀️

如果构建时报 Zod 校验错误,常见原因:

错误原因解决
Invalid date formatdate 字段格式不正确使用 YYYY-MM-DD 或 ISO 8601 格式
Expected string, received number字段类型不匹配用引号包裹字符串值
Invalid enum valuelicense 值不在支持列表中使用合法的 LicenseType

如需自定义字段,编辑 src/content.config.ts,在对应集合的 schema 中添加新的 Zod 验证规则。

津 ICP 备2022001375 号
津公网安备 12011402001353 号