本文首发在语雀,自动同步更新至CC 的部落格
延迟发布
_config.yml
( Hexo 配置文件)关闭显示未来文章(即将future
配置为 false ,这样如果你手动指定日期晚于当前时间,就不会生成,当你想要发布文章时修改一下发布时间,或者到了预定发布的时间时重新部署一次即可展示文章
new_post_name: :title.md default_layout: post auto_spacing: true titlecase: false external_link: enable: true field: site exclude: "" filename_case: 0 render_drafts: false post_asset_folder: false relative_link: false future: true
|
发布状态
- 在文章 Markdown 文件
Front-Matter
部分配置published
参数
即可达到与上面一样的效果,这样当我们认为文章可以公开时,再设为true
或者删掉这个配置即可,同样由于是静态博客,仍需要重新部署一次才会显示
首页隐藏
- 前两种方式如果你的源码仓库闭源的话,是完全隐藏的,只有你知道,但是有时候我们只想在首页隐藏部分文章,而不是不公开文章,我们需要更换首页生成插件,执行以下命令
$ npm uninstall hexo-generator-index $ npm install hexo-generator-indexed
|
隐藏文章 ,在文章的 Front-matter 中增加一个 hide 参数用来隐藏
--- title: example hide: true ---
|
隐藏特定分类中的文章,在 Hexo 的 `_config.yml` 中可以通过 `hide_categories` 选项设置隐藏某个分类下的文章,例如:
hide_categories: - categorie1 - categorie2
|
存为草稿
对于我来说,由于我使用的是语雀,在未发布前,都储存在草稿箱所以不会有这个问题,而我发布后文章会同步到源代码仓库posts
分支;但总有小伙伴那么几篇文章不想让别人看到,所以水了这篇文章;并且生成后的代码仓库大多数情况下是公开的,所以还是推荐没写完就不要发布了,留在草稿箱,即使你指定一个只有你自己知道的路径,虽然一般人不会闲得慌去看你仓库,但并没有达到不想公开的效果,因此可以在博客目录.gitignore
文件添加忽略草稿目录
.DS_Store Thumbs.db db.json hexo.bat yuque.json *.log public node_modules .deploy* .nojekyll source/_posts/语雀 themes/butterfly/.git source/_drafts
|
当然在使用草稿功能前,注意检查_config.yml
Hexo 配置文件是否关闭显示(渲染)草稿
此外,在最开始的Hexo
的Writing 部分配置项中我们知道default_layout: post
,即默认布局为post
文章类别,又因为new
可以简写为n
,因此默认情况下以下 3 条新建文章命令等效
$ hexo new post <title> 或 $ hexo new <title> 或 $ hexo n <title>
|
同理,在 Hexo 官方文档中也有提到,如果要新建草稿,可使用如下命令
$ hexo new draft <title> 或 $ hexo n draft <title>
|
当然我们还要知道默认的 layout 模板文件存在根目录/scaffolds
下(我们可以自行新建或修改模板,这里不做展开),草稿存在根目录/source/_drafts
下,文章存在根目录/source/_posts
下
刚刚提到了 Hexo
的一种特殊布局:draft
,这种布局在建立时会被保存到 source/_drafts
文件夹,您可通过publish
命令将草稿移动到 source/_posts
文件夹,该命令的使用方式与 new
十分类似,您也可在命令中指定 layout 来指定布局。
$ hexo publish [layout] <title>
|
那么如果我们要发布草稿即可使用如下命令
$ hexo publish <title> 或 $ hexo p <title>
|
草稿默认不会显示在页面中,您可在执行时加上 --draft
参数,或是把 render_drafts
参数设为 true 来预览草稿。
$ hexo s --draft $ hexo g --draft
|
若日后想将正式文章转为为草稿,只需手动将文章从 source/_posts
目录移动到 source/_drafts
目录即可。而对于加密这个操作,我觉得是没有必要了,但也有对应的使用场景,各取所需吧。