7.3 KiB
7.3 KiB
title, author, icon, createTime, outline, permalink
| title | author | icon | createTime | outline | permalink |
|---|---|---|---|---|---|
| 组件 | pengzhanbo | radix-icons:component-2 | 2024/03/06 09:42:42 | 2 | /guide/features/component/ |
概述
VuePress 支持在 Markdown 文件中使用 组件。
主题提供了一些具有通用性的组件,可以在任何地方使用。
徽章
使用 <Badge> 组件来显示 行内信息,如状态或标签。
将你想显示的内容传递给 <Badge> 组件的 text 属性。
Props
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| type | 'info' | 'tip' | 'warning' | 'danger' |
'tip' |
类型 |
| text | string |
'' |
文本 |
输入:
- VuePress - <Badge type="info" text="v2" />
- VuePress - <Badge type="tip" text="v2" />
- VuePress - <Badge type="warning" text="v2" />
- VuePress - <Badge type="danger" text="v2" />
输出:
- VuePress -
- VuePress -
- VuePress -
- VuePress -
图标
支持 iconify 所有图标,通过 icon name 加载图标。
可在 iconify search 搜索图标使用。
Props
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| name | string | '' |
图标名 |
| color | string | 'currentcolor' |
图标颜色 |
| size | string | '1em' |
图标大小 |
输入:
- home - <Icon name="material-symbols:home" color="currentColor" size="1em" />
- vscode - <Icon name="skill-icons:vscode-dark" size="2em" />
- twitter - <Icon name="skill-icons:twitter" size="2em" />
输出:
- home -
- vscode -
- twitter -
“隐秘”文本
使用 <Plot> 组件显示 “隐秘”文本 ,能够更灵活的控制行为。
该组件默认不启用,你需要在 theme 配置中启用。
::: code-tabs @tab .vuepress/config.ts
export default defineUserConfig({
theme: plumeTheme({
plugins: {
markdownPower: {
plot: true,
},
}
})
})
:::
Props
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| trigger | 'hover' | 'click' |
'hover' |
鼠标悬停触发,或者点击触发 |
| mask | string | { light: string, dark: string } |
#000 |
遮罩颜色 |
| color | string | { light: string, dark: string } |
#fff |
文本颜色 |
输入:
- 鼠标悬停 - <Plot>悬停时可见</Plot>
- 点击 - <Plot trigger="click">点击时可见</Plot>
输出:
- 鼠标悬停 - 悬停时可见
- 点击 - 点击时可见
卡片
使用 <Card> 组件在页面中显示卡片。
也可以使用 markdown 卡片容器 语法,替代 <Card> 组件。
Props
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| title | string |
'' |
标题 |
| icon | string | { svg: string } |
'' |
显示在标题左侧的图标,支持 iconify 所有图标,也可以使用 图片链接 |
插槽
| 名称 | 说明 |
|---|---|
| default | 卡片内容 |
| title | 自定义标题 |
输入:
<Card title="卡片标题" icon="twemoji:astonished-face">
这里是卡片内容。
</Card>
<Card>
<template #title>
<p style="color: red">卡片标题</p>
</template>
这里是卡片内容。
</Card>
输出:
这里是卡片内容。卡片标题
这里是卡片内容。链接卡片
使用 <LinkCard> 组件在页面中显示链接卡片。
Props
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| title | string |
'' |
标题 |
| icon | string | { svg: string } |
'' |
显示在标题左侧的图标,支持 iconify 所有图标,也可以使用 图片链接 |
| href | string |
'' |
链接 |
| description | string |
'' |
详情 |
插槽
| 名称 | 说明 |
|---|---|
| default | 卡片详情内容 |
| title | 自定义标题 |
输入:
<LinkCard title="卡片标题" href="/" description="这里是卡片内容" />
<LinkCard icon="twemoji:astonished-face" title="卡片标题" href="/" />
输出:
卡片排列容器
当你需要将多个卡片排列,可以使用 <CardGrid> 组件。在空间足够时,多个卡片会自动排列。
输入:
<CardGrid>
<Card title="卡片标题" icon="twemoji:astonished-face">
这里是卡片内容。
</Card>
<Card title="卡片标题" icon="twemoji:astonished-face">
这里是卡片内容。
</Card>
</CardGrid>
<CardGrid>
<LinkCard title="卡片标题" href="/" />
<LinkCard icon="twemoji:astonished-face" title="卡片标题" href="/" />
</CardGrid>
输出:
这里是卡片内容。 这里是卡片内容。首页布局容器
自定义首页时,使用 <HomeBox>提供给 区域 的 包装容器。
Props
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| type | string | '' |
区域类型 |
| full | boolean | false |
是否全屏 |
| background-image | string | '' |
区域背景图片 |
| background-attachment | 'fixed'|'local' |
'local' |
区域背景定位方式 |