只需要在page-matter加入一个:

published: false 即可,但这种方式只是让hexo不会在前端渲染该博客,其在Github Page仓库中仍然是可见的。询问DeepSeek有哪些方法可以隐藏文章,以下是DeepSeek给出的几种方案:

方法一:利用 Front-matter 隐藏文章

在文章的 Markdown 文件头部添加 published: false 参数:

markdown

复制

1
2
3
4
5
---
title: 你的文章标题
date: 2023-01-01
published: false # 关键参数,设为 false 后文章不会被生成
---

操作流程:

  1. 打开要隐藏的文章 Markdown 文件(位于 source/_posts 目录下)

  2. 在 Front-matter 中添加 published: false

  3. 重新生成并部署博客:

    bash

    复制

    1
    hexo clean && hexo g -d

特点:

  • 文章保留在本地,但生成时会被 Hexo 自动忽略
  • 适合临时隐藏,未来可通过修改 published: true 重新发布

方法二:移动文章到非发布目录

将文章移出 Hexo 默认的生成目录(source/_posts):

  1. 创建专用隐藏目录(如 source/_private

  2. 将文章文件移动到 source/_private

  3. 修改 Hexo 配置文件 _config.yml,设置忽略该目录:

    yml

    复制

    1
    2
    skip_render:
    - "_private/**" # 禁止渲染此目录下的文件

特点:

  • 彻底隔离敏感内容
  • 需手动管理隐藏目录

方法三:通过分类/标签过滤

为文章添加特定分类或标签,生成时排除这些内容:

  1. 在文章 Front-matter 中添加标识:

    markdown

    复制

    1
    2
    categories: [secret]
    tags: [内部文档]
  2. 修改主题模板文件(如 index.ejs),添加过滤逻辑:

    html

    复制

    1
    2
    3
    <% if (post.categories.data.some(cat => cat.name !== 'secret')) { %>
    <!-- 正常显示文章 -->
    <% } %>

    运行 HTML

特点:

  • 需要修改主题模板代码
  • 适合需要动态控制可见性的场景

方法四:使用 Git 分支管理

通过分支隔离敏感内容:

  1. 创建私有分支(如 private-posts

  2. 将隐藏文章提交到此分支

  3. 部署时仅发布主分支内容:

    bash

    复制

    1
    hexo g -d  # 默认部署 main/master 分支内容

特点:

  • 利用 Git 版本控制实现物理隔离
  • 适合团队协作场景