简介
Hugo Encryptor 是咱在 GitHub 上发现的一个基于 Python 3 的项目,它能够方便地加密你的 Hugo 博客文章。
这里直接摘录项目简介:
Hugo-Encryptor 是一款能够帮助作者保护文章内容的工具。它使用 AES-256 来对文章的内容进行加密,并且通过在文章中嵌入内联 JavaScript 代码来验证读者输入的密码是否正确。没有正确的文章密码,读者将无法看到文章的加密内容。
使用方法
直接使用
首先配置好 Python 3 环境,然后参考作者给出的 使用文档 即可,这里就不再赘述了。
使用 Docker
为了方便使用以及加快在 CI 上的构建速度,咱将所需要的环境打包成了 Docker 镜像,你可以参考以下步骤更快速地实现加密:
cd /path/to/your/blog/ # 进入博客根目录
mkdir -p layouts/shortcodes/ # 如果没有 shortcodes 目录,则先创建
wget -P layouts/shortcodes/ https://raw.githubusercontent.com/Li4n0/hugo_encryptor/master/shortcodes/hugo-encryptor.html # 下载模版到 shortcodes 目录
- 将文章中需要加密的部分用
{{% hugo-encryptor %}}
标签包裹起来,具体格式请参见 官方文档。 - 最后使用 Docker:
docker run -v $(pwd):/blog hly0928/hugo_encryptor:latest
对比一下,使用 Docker 时 GitHub Actions 的构建时间有了大幅缩短:
其实是因为不用 Docker 的话有 80% 的时间都浪费在了安装依赖上。
一点小问题
目前还不支持单篇文章中多个部分的加密,不过咱已经提了 issue 了…反正咱是修不来只能等作者解决啦。
另外,如果你 修改 了 Hugo 默认的 rss.xml
以实现全文输出的话,会导致加密内容在 index.xml
中泄露,不过咱已经在 Docker 版本中作了修正。
更新:以上问题皆已被修复,感谢开发者。