博客搭建(6.1):文章加密
两种加密方式
首先,matery主题提供了密码功能,但是我觉得比较丑,如下图所示
然后我用到的插件为hexo-blog-encrypt,官方文档介绍为hexo-blog-encrypt,效果如下图所示
区别的话,插件的密码是先渲染页面后加密,会导致目录没法刷新,评论区不太好隐藏后开启
主题提供的话我直接对整个页面加密,解密后是看到的完整的页面,一般不会有加载上的bug
下面是个人对插件的使用说明(原文档里我感觉有些错误)
安装
可以使用下面的指令安装npm install --save hexo-blog-encrypt
使用
直接使用:在文章头部使用password: 密码
---
title: Hello World
date: 2016-03-30 21:18:02
password: hello
abstract: 有东西被加密了, 请输入密码查看.//可选
message: 您好, 这里需要密码.//可选
wrong_pass_message: 抱歉, 这个密码看着不太对, 请再试试.//可选
wrong_hash_message: 抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容.//可选
---
统一加密
首先在博客的根目录配置文件(不是主题配置文件)中加入下列代码
# Security
encrypt: # hexo-blog-encrypt
silent: true
abstract: 这是一篇加密文章,需要密码才能继续阅读。
message: 当前文章暂不对外可见,请输入密码后查看!
tags:
- {name: tag1, password: "123"}
- {name: tag2, password: "456"}
- {name: tag3, password: "789"}
theme: xray//可选,参考原文档这一部分
wrong_pass_message: 抱歉,您输入的密码错误,请检查后重新输入。
wrong_hash_message: 抱歉, 当前文章不能被校验, 不过您还是可以看看解密后的内容。
然后在对应文章头部加入标签即可如下方(可以是多个标签,但密码只为第一个标签):
title: Hello World
date: 2016-03-30 21:18:02
tags:
- tag1
- tag2
优先级
文章的优先级大于统一标签设置的优先级,包括password,message,wrong_pass_message,wrong_hash_message信息
对博文禁用 Tag 加密,只需要将博文头部的 password 设置为 “” 即可取消 Tag 加密
常见问题与注意事项
1.encrypt插件和matery主题提供的密码功能有冲突,不能同时开启,使用一个需要禁用或卸载另一个
2.根据原文档,使用encrypt插件后,文章的目录需要刷新后再能正确显示,这个也需要改模版,我也暂未解决
3.标签的排布有时候会发生错乱,密码根据的并不一定是自己文章写的顺序,我总结出的是实际文档显示,如下图,实际密码为第一个标签设置的密码
发生错乱的原因之一有:相同标签的前后顺序是固定的,就是两个文档有相同的两个标签,但文章内上下顺序换了,但博客内显示的标签顺序是其中的一种