博客草稿功能使用教程
什么是草稿功能
草稿功能允许你隐藏尚未完成的文章。设置为草稿的文章:
| 隐藏位置 | 仍然可以访问 |
|---|---|
| 首页文章列表 | ✅ 直接访问文章链接 |
| 归档页 | ✅ 搜索引擎(如果你分享链接) |
| Atom 订阅源 | |
| 站点统计 |
简而言之:草稿文章不会出现在任何公开列表和订阅中,但知道链接的人依然可以查看。
创建新文章时
使用 pnpm new 创建文章后,打开生成的文件,会看到顶部的 frontmatter 区域:
--- title: 我的新文章 description: 讲述关于我的新文章的故事 date: 2026-06-09 12:00:00 updated: 2026-06-09 12:00:00 image: # 封面图推荐 2:1,不含与标题重复的文字 type: tech categories: [技术] tags: [] draft: true # 撰写完成后,请设置为 false ---
默认就是草稿状态,不会出现在首页列表中。你可以安心地在本地或线上编辑。
发布文章
当你写完文章后,只需把 draft 改为 false:
draft: false
或者直接删除 draft 这一行(默认值就是 false):
--- title: 我的新文章 type: tech categories: [技术] - draft: true ---
保存后,重新构建/部署博客,文章就会出现在首页列表中。
隐藏已有文章
如果你想隐藏一篇已发布的文章,在它的 frontmatter 中添加:
draft: true
示例:隐藏"关于我"页面
本博客的"关于我"页面已设为草稿,你仍然可以通过以下链接直接访问:
https://hehaowen.com.cn/关于我
但它不会出现在首页文章列表、归档页和 RSS 订阅中。
注意事项
- draft 不是密码保护 —— 知道链接的人仍然可以访问文章,只是不会出现在公开列表中
- 需要重新构建 —— 修改
draft状态后,需要重新构建并部署才能生效 - 本地预览 —— 开发模式 (
pnpm dev) 下草稿文章同样会被过滤,方便验证效果 - 订阅源延迟 —— RSS 阅读器可能有缓存,状态变更后会稍有延迟
技术原理
草稿功能的实现分为两部分:
- 数据层 —— 文章的
draft字段,默认为false(content.config.ts) - 查询过滤 —— 以下位置添加了
.where('draft', '=', false)过滤:
| 文件 | 影响范围 |
|---|---|
app/composables/useArticle.ts | 首页列表、归档页 |
server/routes/atom.xml.get.ts | Atom 订阅源 |
server/api/stats.get.ts | 站点统计 |
评论区
评论加载中...