全局实现首页文章过滤功能,使特定文章不显示在首页(开发记录)

全局实现首页文章过滤功能,使特定文章不显示在首页(开发记录)

2026-02-21
心情随笔
type
Post
status
Published
date
Feb 21, 2026
slug
notionnext-global-homepage-post-filter-by-tag-and-category
summary
希望让某些分类下的文章不再出现在首页,例如「Python基础」这一类内容。它们更偏向于系统性的学习记录与长期积累,比起展示在首页,更适合被安静地归档,在需要时再被方便的查阅,而不是成为首页时间线的一部分。但是又因为NotionNext中没有相关实现也没有可以利用的方法.如果要在主题中实现这个会非常的麻烦.所以干脆直接修改NotionNext的代码.
tags
开发
category
心情随笔
icon
password
修改原因:希望让某些分类下的文章不再出现在首页,例如「Python基础」这一类内容。它们更偏向于系统性的学习记录与长期积累,比起展示在首页,更适合被安静地归档,在需要时再被方便的查阅,而不是成为首页时间线的一部分。但是又因为NotionNext中没有相关实现也没有可以利用的方法.如果要在主题中实现这个会非常的麻烦.所以干脆直接修改NotionNext的代码.

功能:首页文章过滤(按标签/分类排除)

修改日期: 2025-02-21
修改目的: 允许在首页文章列表中排除特定标签或分类的文章,仅在首页和分页生效,不影响 RSS、站点地图、分类页面等其他功能,做最小化修改。

修改文件 1: conf/post.config.js

修改前

修改后

说明

  • 添加两个配置项用于指定要排除的标签和分类
  • 支持环境变量配置或直接在配置文件中修改
  • 多个值使用逗号分隔

修改文件 2: pages/index.js

修改前(完整文件)

修改后(完整文件)

说明

  • 添加文章过滤逻辑,排除指定标签或分类的文章
  • 更新 postCount 为过滤后的数量,确保分页控件显示正确
  • 仅在首页数据获取时过滤文章

修改文件 3: pages/page/[page].js

修改前(完整文件)

修改后(完整文件)

说明

  • getStaticPaths: 使用过滤后的文章数计算总页数,确保分页路径正确生成
  • getStaticProps: 过滤文章并更新 postCount,确保分页控件显示正确
  • 与首页过滤逻辑保持一致

使用方法

在 Notion 中标记要排除的文章

方式1 - 使用标签:
  1. 给文章添加标签,如 Hidden
  1. 在配置文件或Notion中设置 POSTS_EXCLUDE_TAGS: 'Hidden'
方式2 - 使用分类:
  1. 在配置文件或Notion中设置不需要首页显示的文章分类 POSTS_EXCLUDE_CATEGORIES: 'Python基础'
以上配置均允许多个.

配置示例

示例1 - 排除单个标签:
示例2 - 排除多个标签:
示例3 - 排除特定分类:
示例4 - 同时排除标签和分类:

环境变量配置

.env.local 或 Vercel ,也可以直接在notion中中设置:

影响范围

被排除的文章将不会出现在:
  • ✅ 首页文章列表 (/)
  • ✅ 分页列表 (/page/2, /page/3 等)
但仍会正常出现在:
  • ✅ RSS 订阅
  • ✅ 站点地图 (sitemap.xml)
  • ✅ 最新文章列表 (latestPosts)
  • ✅ 文章总数统计(原始数据,不影响)
  • ✅ 直接访问文章链接 /article/[slug]
  • ✅ 分类页面 /category/[category]
  • ✅ 标签页面 /tag/[tag]
  • ✅ 搜索功能

注意事项

  1. 大小写不敏感: 标签和分类的匹配不区分大小写,Hiddenhidden 效果相同
  1. 空格处理: 配置中的空格会被自动去除
  1. 空值处理: 空字符串或只有空格的配置会被忽略
  1. 多标签匹配: 只要文章包含任一排除标签,就会被排除

文件位置

  • 本文档位置: NotionNext全局代码关键修改记录.md (项目根目录)
  • 修改的配置文件: conf/post.config.js
  • 修改的页面文件:
    • pages/index.js
    • pages/page/[page].js
推荐云服务

雨云 - 云服务器首选

稳定 · 高速 · 性价比超高

使用优惠码立享折扣,开启你的云端之旅~

一元试用秒级开通24h在线客服

优惠码

zqf
立即访问
Loading...
灵心小窝

灵心小窝

这里不是一个喧闹的地方,只是用来存放一些还不想遗忘的东西。

声明 © 2026 早清风
加载中...