# 客户端 API

提示

我们强烈建议你在使用此插件之前阅读 快速上手 部分。

# $pagination

注意

请注意,如果你在与任何分类都不匹配的路由上访问 $pagination$pagination 的值将为 null

因此,当你开发布局组件时,你需要验证 $pagination 是否存在。

# $pagination.pages

当前路由的匹配页面。例如:

[
  { "relativePath": "b.md", "path": "/b.html" ... },
  { "relativePath": "a.md", "path": "/a.html" ... },
]

# $pagination.length

当前分页的长度。

# $pagination.hasPrev

是否存在上一个分页。

上一个分页的链接。

# $pagination.hasNext

是否存在下一个分页。

下一个分页的链接。

通过页码获取特定的分页页面。

提示

你可以使用此功能将分页组件自定义为内部 <Pagnination /> 组件。

# $frontmatterKey

如果你按照以下方式创建 Frontmatter 分类器

module.exports = {
  plugins: [
    [
      '@vuepress/blog',
      {
        frontmatters: [
          {
            // 当前分类的唯一 ID
            id: 'tag',
            // 决定将 frontmatter 键值归到该类别下
            keys: ['tag'],
            // `entry page` (或者 `list page`) 的路径
            path: '/tag/',
            // `entry page` 的布局
            layout: 'Tag',
          },
        ],
      },
    ],
  ],
}

那么此插件将向 Vue 原型注入 $frontmatterKey 对象, ,因此你可以在自己的布局组件 (<Tag />) 上直接使用它。

# $frontmatterKey.list

获取一个含有匹配的 frontmatter 分类器类型的列表。

接口如下:

type FrontmatterKeyList = Array<{
  name: string
  path: string
  pages: Array<VuePressPage>
}>

你可以重新阅读 Frontmatter 分类器 来观看 tag 的真实示例。

多个 Frontmatter 分类器

如果你创建两个 Frontmatter 分类器,例如 tagcategory,那么在 /tag/ 路由中,$frontmatterKey 自动指向 tag ,而在 /category/ 中,它将指向 category

此变量本质上是设计用于概括 frontmatter 键的列表页面。

# $service

# $service.comment

# $ service.comment.enabled

是否启用评论。

# $ service.comment.service

获取评论服务

# $service.email

# $service.email.enabled

是否启用电子邮件(新闻通讯)服务。

# $service.feed

# $service.feed.rss

是否启用 RSS feed。

# $service.feed.atom

是否启用了 Atom feed。

# $service.feed.json

是否启用 JSON feed。