📝 功能介绍

Demius 主题提供了强大的文章加密功能,支持两种加密模式:

  1. 全文加密 - 整篇文章需要密码才能查看
  2. 部分内容加密 - 文章中特定部分需要密码查看

本文将通过实际示例展示如何使用这两种加密方式。


🔐 部分内容加密示例

示例 1:基础加密块

下面是一个简单的加密内容块,密码是:demo123

🔐 此部分内容已加密,请输入密码查看


示例 2:带自定义提示的加密块

这个加密块使用了自定义提示文字,密码是:secret

💡 提示:这是一个很简单的英文单词


示例 3:包含代码的加密块

这个加密块包含代码示例,密码是:code2025

提示:code + 今年年份


示例 4:包含图片和表格的加密块

密码是:table123

🔐 此部分内容已加密,请输入密码查看


示例 5:多个加密块

一篇文章可以包含多个加密块,每个使用不同的密码:

第一个秘密(密码:first

提示:序数词,第一

第二个秘密(密码:second

提示:序数词,第二

第三个秘密(密码:third

提示:序数词,第三


📊 使用场景

1. 教育场景

练习题与答案分离:

题目: 什么是Hugo?

提示:主题引擎的名字


2. 内容分级

基础内容: 所有人可见
进阶内容: 需要密码(密码:advanced

🔐 此部分内容已加密,请输入密码查看


3. 会员专享

免费内容: 文章的前半部分
会员内容: 需要会员密码(密码:vip2025

提示:vip + 年份


🔒 全文加密说明

本文使用的是部分内容加密模式,因此您可以看到文章的大部分内容。

如果想要实现全文加密,只需在文章的 Front Matter 中添加 password 参数:

---
title: "完全加密的文章"
password: "mySecretPassword"
passwordHint: "自定义提示文字(可选)"
---

文章内容...

访问全文加密的文章时,会显示全屏密码输入界面,只有输入正确密码后才能查看完整内容。


⚙️ 配置说明

全局配置(hugo.toml)

[params.encryption]
  enable = true                          # 启用加密功能
  fullHint = "🔒 此文章已加密,请输入密码查看完整内容"
  partialHint = "🔐 此部分内容已加密,请输入密码查看"
  wrongPasswordHint = "❌ 密码错误,请重试"

Front Matter 配置

全文加密:

---
password: "你的密码"
passwordHint: "自定义提示(可选)"
---

部分加密标识:

---
encrypted: true  # 显示"部分加密"标识
---

Shortcode 使用

基础用法:

{{< encrypt password="密码" >}}
加密内容
{{< /encrypt >}}

带提示:

{{< encrypt password="密码" hint="自定义提示" >}}
加密内容
{{< /encrypt >}}

💡 使用技巧

1. 密码安全性

  • 推荐: 使用8位以上混合字符
  • 推荐: 避免使用常见密码
  • 不推荐: 123456password

2. 提示文字设计

  • 🎯 适度提示: 既不要太明显,也不要太隐晦
  • 🎨 使用emoji: 增加视觉吸引力
  • 📝 保持简洁: 一句话说明即可

3. 内容组织

  • 📚 层级化: 根据重要性使用不同密码
  • 🔄 定期更新: 及时更换敏感内容的密码
  • 📋 记录管理: 妥善保管各个密码

4. 用户体验

  • 💬 互动性: 通过评论区告知密码获取方式
  • 📧 邮件通知: 向订阅用户发送密码
  • 🎁 活动奖励: 作为活动奖品提供密码

🎨 界面展示

加密块界面

未解锁时显示:

  • 🔒 锁图标(带动画效果)
  • 💬 提示文字
  • 🔑 密码输入框
  • 🔓 解锁按钮

解锁后显示:

  • ✅ 完整的加密内容
  • 🎨 平滑的展开动画
  • 📱 响应式布局

文章卡片标识

在文章列表中的显示:

  • 🏷️ 全文加密: 紫色渐变徽章 “🔒 全文加密”
  • 🏷️ 部分加密: 紫色渐变徽章 “🔐 部分加密”
  • 📍 位置: 卡片左上角(与置顶标识对称)

❓ 常见问题

Q: 密码会被泄露吗?

A: 密码使用 SHA256 哈希存储,不会明文显示。但这是静态网站的客户端加密,主要用于内容分级,不适合存储高度敏感信息。

Q: 解锁后刷新页面需要重新输入吗?

A: 是的。解锁状态保存在 sessionStorage,关闭标签页后会失效。

Q: 可以同时使用全文加密和部分加密吗?

A: 可以!在全文加密的文章中还可以添加部分加密块。

Q: 支持 PJAX 吗?

A: 完全支持!页面切换后会自动重新初始化加密功能。


📚 相关文档


🎉 总结

文章加密功能为您的内容提供了灵活的保护方式:

  • 双模式: 全文加密 + 部分加密
  • 安全: SHA256 哈希保护
  • 美观: 精美的界面设计
  • 易用: 简单的配置方式
  • 灵活: 支持多个加密块
  • 完善: PJAX、暗色模式、移动端全支持

赶快试试吧!🚀