Без опису

Li4n0 10dac63e50 docs: perfect README 6 роки тому
example_site 5744e5f494 python & shortcodes 6 роки тому
shortcodes 10dac63e50 docs: perfect README 6 роки тому
.gitignore 4f7f207d22 feat: Implement the front end 6 роки тому
CHANGELOG.md 10dac63e50 docs: perfect README 6 роки тому
README-zh_CN.md 10dac63e50 docs: perfect README 6 роки тому
README.md 10dac63e50 docs: perfect README 6 роки тому
commitlint.config.js 61018ad50f build: 6 роки тому
hugo-encryptor.py 47335c0a69 feat: 1.0 Beta! 6 роки тому
package-lock.json 61018ad50f build: 6 роки тому
package.json 61018ad50f build: 6 роки тому
requirements.txt 10dac63e50 docs: perfect README 6 роки тому

README-zh_CN.md

Hugo Encryptor

Hugo-Encryptor 是一款能够帮助作者保护文章内容的工具。它使用 AES-256 来对文章的内容进行加密,并且通过在文章中嵌入内联 JavaScript 代码来验证用户输入的密码是否正确。没有正确的文章密码,读者将无法看到文章的加密内容。

English Document

[TOC]

安装

环境依赖:Python3

步骤一:下载 Hugo-Encryptor 并安装其所需要的依赖库

$ git clone https://github.com/Li4n0/hugo_encryptor.git
$ cd Hugo-Encryptor
$ pip install -r requirements.txt

步骤二:将hugo-encryptor.py 放入博客根目录

$ cp hugo-encryptor.py /path/to/your/blog/hugo-encryptor.py

步骤三:将shortcodes/hugo-encryptor.html 放入博客shortcodes 目录

$ mkdir -p /path/to/your/blog/layouts/shortcodes
$ cp shortcodes/hugo-encryptor.html /path/to/your/blog/layouts/shortcodes/hugo-encryptor.html

使用方法

**步骤一:使用 hugo-encryptor shortcode 标签包裹你需要加密的内容 **

**注意:在hugo-encryptor shortcode 标签之前必须存在一段明文文字以及 <!--more--> 标签 **

---
title: "这是一篇加密文章"
---

**这里必须存在一些明文文字以及概要标签:**
<!--more-->
{{% hugo-encryptor "PASSWORD" %}}

# 这里是你要加密的内容!

这里是你要加密的内容!

**别忘了闭合 `hugo-encryptor` shortcode 标签:**

{{% /hugo-encryptor %}}

步骤二:像之前一样生成你的网站

$ hugo

步骤三:进行加密

$ python hugo-encryptor.py

在此之后所有需要加密的文章内容都被加密完成了!

之后所有需要加密的文章内容都被加密完成了!

配置

虽然 Hugo-Encryptor 可以在没有经过任何配置的情况下正常运行,但是我们提供了一些设置,来帮助用户将 **Hugo-Encryptor **按照自己的喜好进行配置

语言

在默认情况下,Hugo-Encryptor 用中文作为提示信息的输出语言,通过在博客的配置文件添加hugoEncryptorLanguage 参数,你可以将它改变为英文输出,就像下面这样:

[params]
 		 ......
  hugoEncryptorLanguage = "en-us" # or "zh-cn"

客户端存储密码的方式

默认情况下,Hugo-Encryptor 使用 localStorage 在客户端存储文章密码的 md5 值。通过在博客的配置文件添加hugoEncryptorStorage 参数。你可以将储存方式更改为 sessionStorage ,就像下面这样:

[params]
 		 ......
  hugoEncryptorStorage = "session" # or "local"

关于两种存储方式的差别:

  • localStorage:

一旦一个读者输入了正确的密码,文章的认证状态将不会过期,该用户可以在任何时间阅读这篇文章,而无需再次输入密码。除非你更改了文章的密码,或者用户清空了浏览器缓存。

  • sessionStorage:

如果一个读者输入了正确的密码,那么在他关闭浏览器之前,他可以阅读这篇文章,而无需再次输入密码

样式

在默认情况下,Hugo-Encryptor 没有任何样式,但是我们为每一个可见元素都提供了类名,方便用户自己在 css 文件中为他们添加样式

注意:

  • 切记一定要保证你所加密的文章的源代码是私密的。永远不要把你的博客目录发布到一个公开的仓库

  • 每当你生成你的站点,你都应该再一次执行$ python hugo-encryptor 命令来加密你想保护的文章。如果你担心你会忘记这一点,选择使用一个 shell 脚本来代替 $ hugo 命令是一个不错的选择,就像下面这样:

  #!/bin/bash
  hugo
  python hugo-encryptor