前言:
博客中可能有些文章是个人情感宣泄、敏感内容或收费技术等,不方便公开,需要对文章进行加密处理。而Next这个主题可谓是包办了几乎所有的需求,却偏偏没有集成文章加密功能。但俗话说的好,办法总比困难多。
方法一:
编辑/themes/next/layout/_partials/head.swig
在如下位置添加代码
1 | <script> |
之后,在你想要加密的文章的头文件里添加上password: xxxxxx
即可。
演示:
问题:
丑。调用浏览器的UI,各个平台的样式不统一。
容易被破解。前端的验证,都是浮云。有心之人想要破解的话那不是分分钟的事。
方法二:
使用大神Hexo插件。
安装
1 | npm install --save hexo-blog-encrypt |
启用
在站点配置文件添加如下代码,启用插件。
1 | encrypt: |
文章配置
在你的文章的头部添加上对应的字段,如 password, abstract, message
- password: 是该博客加密使用的密码
- abstract: 是该博客的摘要,会显示在博客的列表页
- message: 这个是博客查看时,密码输入框上面的描述性文字
自定义
1 | encrypt: |
这样,对于每一篇需要加密的文章就不必都在在头部添加 abstract 和 message 字段了,脚本会自动添加默认的内容填充。 而你在文章头部的配置优先级高于站点配置文件 的 default配置,会覆盖它。
tips:本地预览输入密码可能会无响应,因为需要https协议,部署到服务器就没问题啦。