Skip to content

组件

pengzhanbo

1041字约3分钟

2024-03-06

概述

VuePress 支持在 Markdown 文件中使用 组件。

主题提供了一些具有通用性的组件,可以在任何地方使用。

徽章 badge

使用 <Badge> 组件来显示 行内信息,如状态或标签。

将你想显示的内容传递给 <Badge> 组件的 text 属性。

Props

名称类型默认值说明
type'info' | 'tip' | 'warning' | 'danger''tip'类型
textstring''文本

输入:

- 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 - v2
  • VuePress - v2
  • VuePress - v2
  • VuePress - v2

图标

支持 iconify 所有图标,通过 icon name 加载图标。

可在 iconify search 搜索图标使用。

Props

名称类型默认值说明
namestring''图标名
colorstring'currentcolor'图标颜色
sizestring'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 配置中启用。

.vuepress/config.ts
export default defineUserConfig({
  theme: plumeTheme({
    plugins: {
      markdownPower: {
        plot: true,
      },
    }
  })
})

Props

名称类型默认值说明
trigger'hover' | 'click''hover'鼠标悬停触发,或者点击触发
maskstring | { light: string, dark: string }#000遮罩颜色
colorstring | { light: string, dark: string }#fff文本颜色

输入:

- 鼠标悬停 - <Plot>悬停时可见</Plot>
- 点击 - <Plot trigger="click">点击时可见</Plot>

输出:

  • 鼠标悬停 - 悬停时可见
  • 点击 - 点击时可见

卡片

使用 <Card> 组件在页面中显示卡片。

也可以使用 markdown 卡片容器 语法,替代 <Card> 组件。

Props

名称类型默认值说明
titlestring''标题
iconstring | { svg: string }''显示在标题左侧的图标,支持 iconify 所有图标,也可以使用 图片链接

插槽

名称说明
default卡片内容
title自定义标题

输入:

<Card title="卡片标题" icon="twemoji:astonished-face">
  这里是卡片内容。
</Card>

<Card>
  <template #title>
    <p style="color: red">卡片标题</p>
  </template>
  这里是卡片内容。
</Card>

输出:

卡片标题

这里是卡片内容。

卡片标题

这里是卡片内容。

链接卡片

使用 <LinkCard> 组件在页面中显示链接卡片。

Props

名称类型默认值说明
titlestring''标题
iconstring | { svg: string }''显示在标题左侧的图标,支持 iconify 所有图标,也可以使用 图片链接
hrefstring''链接
descriptionstring''详情

插槽

名称说明
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

名称类型默认值说明
typestring''区域类型
fullbooleanfalse是否全屏
background-imagestring''区域背景图片
background-attachment'fixed'|'local''local'区域背景定位方式