加密
主题支持对特定文件夹或特定的路径进行加密,也支持进行全局范围的加密。
警告
注意,受到 VuePress 的限制,在未解密前,文章内容仅仅被隐藏,访问者仍可以从源码中获取文章的内容。
所以请不要使用该加密功能用于任何敏感、机密的文章与档案,造成的后果请你自负。
局部加密
你可以在主题选项中通过 encrypt.config
字段配置加密选项。
字段的键名是路径,值支持填入一个或多个数组格式的密码。
import { hopeTheme } from "vuepress-theme-hope";
export default hopeTheme({
encrypt: {
config: {
// 这会加密整个 guide 目录,并且两个密码都是可用的
"/guide/": ["1234", "5678"],
// 这只会加密 /config/page.html
"/config/page.html": "1234",
},
},
});
你也可以通过设置 encrypt.config
为一个对象来为密码输入框添加提示信息,格式如下:
import { hopeTheme } from "vuepress-theme-hope";
export default hopeTheme({
encrypt: {
config: {
"/guide/": {
password: ["1234", "5678"],
hint: "从 xxx 获取密码",
},
"/config/page.html": {
password: "1234",
hint: "从 xxx 获取密码",
},
},
},
});
注意
请注意,你只能使用字符串格式的密码。
数字 1234
和 字符串 "1234"
的混淆值是不同的! 而网站只能通过输入框输入字符串格式的内容。
全局加密
有些情况下,你可能想加密整个站点,你可以在主题选项中设置 encrypt.global: true
来实现它。
全局加密时,你可以在主题选项中通过 encrypt.admin
选项以字符串或字符串数组的格式设置一个或多个密码。
如果你想为密码输入框添加提示信息,你可以设置 encrypt.admin
为一个对象,格式如下:
import { hopeTheme } from "vuepress-theme-hope";
export default hopeTheme({
encrypt: {
global: true,
admin: {
password: "Mister-Hope", // 也可以是数组
hint: "密码是作者的名字",
},
},
});
提示
多个密码的考虑是权限分离,这样你可以在日后部署中,废除或更新部分的全局密码,使得拥有密码的部分用户失去访问权限。
安全地存储你的密码
如果你希望将源代码发布到 Git 提供商,尤其是公共代码库中,重要的是不要在源代码中暴露你的密码。
为了达成这一点,你可以使用 dotenv 从 .env
文件中加载密码配置。
在根目录创建 .env
文件来存储密码等敏感信息,并在 .gitignore
中添加它。
PASSWORD=123456
Then, load the env file with dotenv/config
and set password using environment variables in .vuepress/theme.ts
like this:
然后,像这样通过 dotenv/config
加载 env 文件,并在 .vuepress/theme.ts
中使用环境变量设置密码:
import { hopeTheme } from "vuepress-theme-hope";
import "dotenv/config";
export default hopeTheme({
encrypt: {
global: true,
admin: {
password: process.env.PASSWORD!,
hint: "The password you specified.",
},
},
});
为了在 GitHub Actions 中构建,你可以在你的代码库设置中将密码设置为 secrets,并在工作流文件中使用 env
加载它。
# ...
jobs:
deploy-gh-pages:
# ...
steps:
# ...
- name: 构建文档
env:
PASSWORD: ${{secrets.PASSWORD}}
run: pnpm docs:build
# ...
更新日志
7b59f
-于e747e
-于2aada
-于e639c
-于07ae4
-于f3868
-于98ac0
-于b41c0
-于54c46
-于bac94
-于2fa50
-于23515
-于9cdd7
-于63d09
-于0f1e4
-于fd395
-于fc15c
-于0c093
-于4a252
-于f6ff0
-于3c199
-于