mirror of
https://github.com/pengzhanbo/vuepress-theme-plume.git
synced 2026-04-26 11:38:15 +08:00
263 lines
3.3 KiB
Markdown
263 lines
3.3 KiB
Markdown
---
|
|
url: /guide/markdown/collapse/index.md
|
|
---
|
|
## 概述
|
|
|
|
在 markdown 中,使用 `::: collapse` 容器,包含 markdown 无序列表语法,实现 ==折叠面板== 。
|
|
|
|
* 支持通过 `accordion` 设置为 ==手风琴== 模式
|
|
|
|
## 启用
|
|
|
|
该功能默认不启用,你需要在 `theme` 配置中启用。
|
|
|
|
```ts title=".vuepress/config.ts"
|
|
export default defineUserConfig({
|
|
theme: plumeTheme({
|
|
markdown: {
|
|
collapse: true, // [!code ++]
|
|
}
|
|
})
|
|
})
|
|
```
|
|
|
|
## 使用
|
|
|
|
在 markdown 中,使用 `::: collapse` 容器,包含 markdown 无序列表语法,每一项为一个单独的可折叠区域。
|
|
|
|
```md title="collapse.md"
|
|
::: collapse
|
|
- 标题 1 <!-- 标题,点击控制 展开/折叠 -->
|
|
<!-- 标题与内容必须空一行 -->
|
|
内容 <!-- 内容,被折叠的区域-->
|
|
|
|
- 标题 2
|
|
|
|
内容
|
|
:::
|
|
```
|
|
|
|
对于列表的每一个项:
|
|
|
|
* 从 **首行开始** 到 **首个空行**,均为 **标题**
|
|
|
|
* **首个空行之后**: 正文内容
|
|
|
|
:::important 请注意添加正确的缩进
|
|
:::
|
|
|
|
**一个简单的例子:**
|
|
|
|
**输入:**
|
|
|
|
```md
|
|
::: collapse
|
|
- 标题 1
|
|
|
|
正文内容
|
|
|
|
- 标题 2
|
|
|
|
正文内容
|
|
:::
|
|
```
|
|
|
|
**输出:**
|
|
|
|
::: collapse
|
|
|
|
* 标题 1
|
|
|
|
正文内容
|
|
|
|
* 标题 2
|
|
|
|
正文内容
|
|
:::
|
|
|
|
## 配置
|
|
|
|
在 `::: collapse` 容器语法之后,跟随配置项:
|
|
|
|
* `accordion` :折叠面板设置为 ==手风琴== 模式,在手风琴模式下,只允许展开一个面板,点击其他面板会关闭之前的面板。
|
|
* `expand` :默认展开面板,在手风琴模式下无效。
|
|
|
|
在列表项,标题之前,可通过特殊标记 `:+` / `:-` 来设置当前项是否 **展开 / 折叠**。
|
|
|
|
## 示例
|
|
|
|
### 基本用法
|
|
|
|
**输入:**
|
|
|
|
```md
|
|
::: collapse
|
|
- 标题 1
|
|
|
|
正文内容
|
|
|
|
- 标题 2
|
|
|
|
正文内容
|
|
:::
|
|
```
|
|
|
|
**输出:**
|
|
|
|
::: collapse
|
|
|
|
* 标题 1
|
|
|
|
正文内容
|
|
|
|
* 标题 2
|
|
|
|
正文内容
|
|
:::
|
|
|
|
### 默认全部展开
|
|
|
|
添加 `expand` 选项,默认展开所有面板
|
|
|
|
**输入:**
|
|
|
|
```md /expand/
|
|
::: collapse expand
|
|
- 标题 1
|
|
|
|
正文内容
|
|
|
|
- 标题 2
|
|
|
|
正文内容
|
|
:::
|
|
```
|
|
|
|
**输出:**
|
|
|
|
::: collapse expand
|
|
|
|
* 标题 1
|
|
|
|
正文内容
|
|
|
|
* 标题 2
|
|
|
|
正文内容
|
|
:::
|
|
|
|
### 手风琴模式
|
|
|
|
添加 `accordion` 选项,设置为手风琴模式,只允许展开一个面板,点击其他面板会关闭之前的面板
|
|
|
|
```md /accordion/
|
|
::: collapse accordion
|
|
- 标题 1
|
|
|
|
正文内容
|
|
|
|
- 标题 2
|
|
|
|
正文内容
|
|
|
|
- 标题 3
|
|
|
|
正文内容
|
|
:::
|
|
```
|
|
|
|
**输出:**
|
|
|
|
::: collapse accordion
|
|
|
|
* 标题 1
|
|
|
|
正文内容
|
|
|
|
* 标题 2
|
|
|
|
正文内容
|
|
|
|
* 标题 3
|
|
|
|
正文内容
|
|
:::
|
|
|
|
### `:+` 标记项为展开
|
|
|
|
折叠面板默认全部关闭,可以使用 `:+` 标记项初始状态为展开。
|
|
|
|
**输入:**
|
|
|
|
```md /:+/
|
|
::: collapse
|
|
- 标题 1
|
|
|
|
正文内容
|
|
|
|
- :+ 标题 2
|
|
|
|
正文内容
|
|
|
|
- :+ 标题 3
|
|
|
|
正文内容
|
|
:::
|
|
```
|
|
|
|
**输出:**
|
|
|
|
::: collapse
|
|
|
|
* 标题 1
|
|
|
|
正文内容
|
|
|
|
* :+ 标题 2
|
|
|
|
正文内容
|
|
|
|
* :+ 标题 3
|
|
|
|
正文内容
|
|
:::
|
|
|
|
### `:-` 标记项为折叠
|
|
|
|
折叠面板配置 `expand` 时默认全部展开,可以使用 `:-` 标记项初始状态为折叠。
|
|
|
|
**输入:**
|
|
|
|
```md /:-/
|
|
::: collapse expand
|
|
- 标题 1
|
|
|
|
正文内容
|
|
|
|
- :- 标题 2
|
|
|
|
正文内容
|
|
|
|
- 标题 3
|
|
|
|
正文内容
|
|
:::
|
|
```
|
|
|
|
**输出:**
|
|
|
|
::: collapse expand
|
|
|
|
* 标题 1
|
|
|
|
正文内容
|
|
|
|
* :- 标题 2
|
|
|
|
正文内容
|
|
|
|
* 标题 3
|
|
|
|
正文内容
|
|
:::
|