mirror of
https://github.com/pengzhanbo/vuepress-theme-plume.git
synced 2026-04-23 10:58:13 +08:00
docs: improve docs
This commit is contained in:
parent
f173d069bd
commit
5930c60462
@ -115,6 +115,109 @@ passwordHint: The password is 123456
|
|||||||
|
|
||||||
Click to visit [Encrypted Article, Password: 123456](/article/enx7c9s/)
|
Click to visit [Encrypted Article, Password: 123456](/article/enx7c9s/)
|
||||||
|
|
||||||
|
## Partial Content Encryption
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
Partial content encryption is implemented through the `::: encrypt` container. You need to configure the `markdown.encrypt` option:
|
||||||
|
|
||||||
|
```ts title=".vuepress/config.ts"
|
||||||
|
export default defineUserConfig({
|
||||||
|
theme: plumeTheme({
|
||||||
|
markdown: {
|
||||||
|
encrypt: true, // [!code ++]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also set a unified default password for the `::: encrypt` container:
|
||||||
|
|
||||||
|
```ts title=".vuepress/config.ts"
|
||||||
|
export default defineUserConfig({
|
||||||
|
theme: plumeTheme({
|
||||||
|
markdown: {
|
||||||
|
encrypt: {
|
||||||
|
password: 123456, // [!code ++]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
Use the `::: encrypt` container to wrap the content that needs to be encrypted.
|
||||||
|
You can add `password` / `pwd` attribute to the container to set the password for that container.
|
||||||
|
If no password is set, the default password will be used.
|
||||||
|
|
||||||
|
You can also add a `hint` attribute to set a password hint.
|
||||||
|
|
||||||
|
```md /password="123456"/
|
||||||
|
::: encrypt password="123456" hint="The password is 6 consecutive digits"
|
||||||
|
This is encrypted content
|
||||||
|
:::
|
||||||
|
```
|
||||||
|
|
||||||
|
::: info Only one password is effective; multiple passwords are not supported simultaneously.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
**Input:**
|
||||||
|
|
||||||
|
```md
|
||||||
|
::: encrypt password="123456"
|
||||||
|
This is encrypted content
|
||||||
|
:::
|
||||||
|
```
|
||||||
|
|
||||||
|
**Output:**
|
||||||
|
|
||||||
|
::: encrypt password="123456"
|
||||||
|
This is encrypted content
|
||||||
|
:::
|
||||||
|
|
||||||
|
**Input:**
|
||||||
|
|
||||||
|
```md
|
||||||
|
::: encrypt password="654321" hint="The password is 6 consecutive digits"
|
||||||
|
This is encrypted content 2
|
||||||
|
:::
|
||||||
|
```
|
||||||
|
|
||||||
|
**Output:**
|
||||||
|
|
||||||
|
::: encrypt password="654321" hint="The password is 6 consecutive digits"
|
||||||
|
This is encrypted content 2
|
||||||
|
:::
|
||||||
|
|
||||||
|
::: warning Usage Limitations
|
||||||
|
**For encrypted content, you can use:**
|
||||||
|
|
||||||
|
- All standard markdown syntax
|
||||||
|
- Most extended syntax provided by the theme, except:
|
||||||
|
- `@[demo]()` code examples imported from directories
|
||||||
|
- `@[code]()` code snippets imported from directories
|
||||||
|
- `@[code-tree]()` code trees imported from directories
|
||||||
|
- Global Vue components provided by the theme
|
||||||
|
- User-defined global Vue components
|
||||||
|
- Encrypted content cannot contain executable scripts; for special interactions, please implement through components.
|
||||||
|
|
||||||
|
**Network Environment Requirements:**
|
||||||
|
Partial content encryption is implemented using [Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Crypto),
|
||||||
|
therefore, it will not work properly in **non-HTTPS environments**.
|
||||||
|
:::
|
||||||
|
|
||||||
|
::: details If you are a technical developer, you may need to know
|
||||||
|
|
||||||
|
The original markdown content is first rendered into HTML content, then encrypted; transmitted to the client, then decrypted and rendered.
|
||||||
|
The decrypted content is wrapped as a dynamic Vue component, with HTML passed as the template to the dynamic component.
|
||||||
|
This involves runtime template compilation. As a result, if partial content encryption is enabled,
|
||||||
|
Vue needs to be switched to the `esm-bundler` version to support runtime compilation,
|
||||||
|
which has slightly worse performance and larger size compared to the default `runtime-only` version.
|
||||||
|
:::
|
||||||
|
|
||||||
## Related Configurations
|
## Related Configurations
|
||||||
|
|
||||||
The following configurations can be used in [multilingual settings](../../config/locales.md).
|
The following configurations can be used in [multilingual settings](../../config/locales.md).
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
title: LLMs txt
|
title: LLMs txt
|
||||||
icon: ri:ai
|
icon: ri:ai
|
||||||
createTime: 2025/12/01 10:46:46
|
createTime: 2025/12/01 10:46:46
|
||||||
permalink: /en/features/llmstxt/
|
permalink: /en/guide/features/llmstxt/
|
||||||
---
|
---
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|||||||
@ -96,5 +96,5 @@ This is the card content.
|
|||||||
::::
|
::::
|
||||||
|
|
||||||
::: info
|
::: info
|
||||||
If you prefer using cards via components, you can check out the [Card Component](/guide/features/component/#card).
|
If you prefer using cards via components, you can check out the [Card Component](../features/component.md#card).
|
||||||
:::
|
:::
|
||||||
|
|||||||
@ -36,7 +36,7 @@ Bad news: I've used you as the example \[doge\]
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
In Markdown, wrapping specially formatted text content within a `:: chat` container allows you to display ==chat records== within the documentation.
|
In Markdown, wrapping specially formatted text content within a `::: chat` container allows you to display ==chat records== within the documentation.
|
||||||
|
|
||||||
::: warning This is a feature you likely won't need most of the time.
|
::: warning This is a feature you likely won't need most of the time.
|
||||||
Please consider carefully whether you should use it when the need arises.
|
Please consider carefully whether you should use it when the need arises.
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: container
|
title: Tip Containers
|
||||||
icon: mdi:message-text-outline
|
icon: mdi:message-text-outline
|
||||||
createTime: 2025/11/29 14:53:21
|
createTime: 2025/11/29 14:53:21
|
||||||
permalink: /en/guide/markdown/container/
|
permalink: /en/guide/markdown/container/
|
||||||
|
|||||||
@ -12,9 +12,9 @@ import { people, nature, foods, places, activities, symbols, objects, flags } fr
|
|||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
在 Markdown 中使用表情符号非常简单,只需用冒号包裹表情代码即可:
|
Using emoji in Markdown is very simple, just wrap the emoji code with colons:
|
||||||
|
|
||||||
**Input:**
|
**Input:**
|
||||||
|
|
||||||
```md
|
```md
|
||||||
:tada: :100:
|
:tada: :100:
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: github-alerts
|
title: GitHub Alerts
|
||||||
createTime: 2025/11/29 21:20:21
|
icon: mdi:alert-outline
|
||||||
|
createTime: 2025/11/29 19:59:45
|
||||||
permalink: /en/guide/markdown/github-alerts/
|
permalink: /en/guide/markdown/github-alerts/
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
title: Icons
|
title: Icons
|
||||||
createTime: 2025/10/08 14:49:39
|
createTime: 2025/10/08 14:49:39
|
||||||
icon: grommet-icons:emoji
|
icon: grommet-icons:emoji
|
||||||
permalink: /en/guide/markdown/icon/
|
permalink: /en/guide/markdown/icons/
|
||||||
---
|
---
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
title: qrcode
|
title: QR Code
|
||||||
icon: uiw:qrcode
|
icon: uiw:qrcode
|
||||||
createTime: 2025/12/05 16:16:06
|
createTime: 2025/12/05 10:37:43
|
||||||
permalink: /en/guide/markdown/qrcode/
|
permalink: /en/guide/markdown/qrcode/
|
||||||
badge: 新
|
badge: New
|
||||||
---
|
---
|
||||||
|
|
||||||
@[qrcode](https://github.com/pengzhanbo/vuepress-theme-plume)
|
@[qrcode](https://github.com/pengzhanbo/vuepress-theme-plume)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user