给博客新增文章主页隐藏功能 hideFromHome

521 字
3 分钟
给博客新增文章主页隐藏功能 hideFromHome

博客里写了一些 AI 生成的内容或者记录向的文章,数量多了之后主页会很难看,低质量东西,但是又想记录一下。

如果直接设置成 draft: true,虽然主页没了,但是会彻底隐藏,分类页和归档页也完全找不到了。想要的效果是:主页和 RSS 订阅里不显示,但是在点击分类(例如 AIGC)或者归档里筛选时依然可以看到。

加了个 hideFromHome 属性。


一、 修改 Content Schema#

src/content.config.tspostsCollection 里面加上这个新字段:

src/content.config.ts
const postsCollection = defineCollection({
...
schema: z.object({
...
comment: z.boolean().optional().default(true),
password: z.string().optional().default(""),
hideFromHome: z.boolean().optional().default(false), // 新增此项
}),
});

默认设为 false,这样不加这个字段的老文章不会受任何影响。


二、 首页与 RSS 过滤#

接下来只需要在主页分页和 RSS 处把带有 hideFromHome: true 的文章过滤掉即可。

1. 主页分页 (src/pages/[...page].astro)#

export const getStaticPaths = (async ({ paginate }) => {
const allBlogPosts = (await getSortedPosts()).filter(
(post) => !post.data.hideFromHome,
);
const pageSize = siteConfig.pagination.postsPerPage;
return paginate(allBlogPosts, { pageSize });
}) satisfies GetStaticPaths;

2. RSS 订阅 (src/pages/rss.xml.tssrc/pages/rss.astro)#

rss.xml.ts
const blog = (await getSortedPosts()).filter(
(post) => !post.data.hideFromHome,
);

三、 归档页与分类联动#

归档页(src/components/controls/ArchivePanel.astro)的情况稍微特殊一点:

  1. 默认无筛选状态下:希望隐藏这些文章,同时不计入年份统计数(如果某一年全部是隐藏文章,默认将整年折叠块隐藏)。
  2. 选中分类或标签时:比如点击 AIGC 分类进入 /archive/?category=AIGC 时,客户端脚本会自动取消 hidden 属性,把隐藏的文章展示出来并重新计算数量。

修改 HTML 渲染部分:

ArchivePanel.astro
<a
href={getPostUrlBySlug(post.id)}
class="archive-post ..."
data-tags={JSON.stringify(post.data.tags || [])}
data-category={post.data.category || ""}
data-hide-from-home={post.data.hideFromHome ? "true" : "false"}
hidden={post.data.hideFromHome}
>

这样原本没选分类时它默认带有 hidden 属性,一旦点击分类,原本的 JS 筛选逻辑就会动态把符合条件的文章解除隐藏,不需要写额外的复杂逻辑。


使用方法#

以后如果有不想在首页展示的文章,直接在 Markdown 的 Frontmatter 里加上一行:

---
title: "唱跳rap篮球"
category: "AIGC"
hideFromHome: true
---

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
给博客新增文章主页隐藏功能 hideFromHome
https://hodaru.com/posts/firefly/2026-07-21-hide-from-home-feature/
作者
Sonder
发布于
2026-07-21
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Sonder
好想要技术
Welcome~
たびごころの 赴くままに
分类
标签
最新动态
站点统计
文章
13
分类
6
标签
11
总字数
28,300
运行时长
0
最后活动
0 天前
站点信息
构建平台
Cloudflare Workers
博客版本
Firefly v6.14.5
文章许可
CC BY-NC-SA 4.0