hexo-butterfly-文章隐藏
hexo-butterfly-文章隐藏
博客构建初衷是作为个人知识库整理,构建一个能够及时进行复盘、归纳总结的个人空间,但考虑到部分文章内容是日常学习碎碎念和BUG收录合集概念,希望某些文章内容可以自定义隐藏,参考了许多方式构建,总结如下内容所示(下述内容是基于hexo、butterfly主题进行构建,其余主题配置可相应参考思路获取相应的解决方案)
文章隐藏思路
<1>“草稿箱”概念(将文章移动到草稿箱)
<2>首页文章渲染结合文章front-matter页面属性联动控制
方式1:“草稿箱”概念
针对一些编辑好的文章,则可将其移动到草稿箱目录即可,对应文章目录说明如下。(在创建文章的时候亦可通过指定[layout]从而构建相应的内容)
Hexo 有三种默认布局:post
、page
和 draft
。在创建者三种不同类型的文件时,它们将会被保存到不同的路径;而自定义的其他布局和 post
相同,都将储存到 source/_posts
文件夹。如果不想文章被处理,可将 Front-Matter 中的layout:
设为 false
布局 | 路径 |
---|---|
post |
source/_posts |
page |
source |
draft |
source/_drafts |
自定义布局 | source/_posts :与_posts文件夹相同 |
1 | # 方式1:指令控制-创建指定草稿文件 |
预览草稿内容
1 | # 方式1:通过修改主配置文件,强制预览草稿 |
方式2:自定义属性配置
基于butterfly主题的hexo博客隐藏,此处借助设定页面属性和修改主题插件配置结合调整(不同主题调整的插件配置不同,但原理可以理解为修改post展示的规则,隐藏配置的隐藏文章)
调整步骤
<1>修改主题资源themes/butterfly/layout/includes/mixins/post-ui.pug
,过滤指定配置文章内容
<2>在需要隐藏的文章页面中设置页面属性
参考示例
post-ui.pug修改
在开头处.recent-post-item
语句前面添加if article.isHide !== true
语句,后续所有语句都以tab缩进一格。isHide
属性用于标识当文章的isHide属性为true的时候则不渲染文章内容(即不展示在recent-post-item指定的区域),其构建思路类似drafts的配置
1 | mixin postUI(posts) |
页面属性配置
1 | # 在需要隐藏的文章的front-matter处添加指定配置 |
基于这种方式构建文章隐藏,但只是在首页展示处隐藏文章内容,实际文章还是会通过渲染生成,并且可通过url直接访问(/post/固定链接),基于这种概念可以参考“草稿”的方式为这些需要隐藏的文章构建自定义分类,通过自定义页面配置相应导航进行配置,或者借助其他的配置进行访问限制。