VuePress 生态系统VuePress 生态系统
  • 主题指南
  • 默认主题
  • Hope 主题
  • Plume 主题
  • Reco 主题
  • 功能插件
  • Markdown 插件
  • 搜索插件
  • 博客插件
  • 渐进式应用插件
  • 统计分析插件
  • 搜索引擎优化插件
  • 开发插件
  • 工具插件
  • AI 插件
  • @vuepress/helper
  • English
  • 简体中文
GitHub
  • 主题指南
  • 默认主题
  • Hope 主题
  • Plume 主题
  • Reco 主题
  • 功能插件
  • Markdown 插件
  • 搜索插件
  • 博客插件
  • 渐进式应用插件
  • 统计分析插件
  • 搜索引擎优化插件
  • 开发插件
  • 工具插件
  • AI 插件
  • @vuepress/helper
  • English
  • 简体中文
GitHub
  • 博客
  • 评论
    • 指南
    • Giscus
    • Waline
      • Waline
      • Waline 选项
    • Artalk
    • Twikoo
  • Feed

Waline 选项

选项

serverURL必填string

Waline 的服务端地址。

emoji(string | WalineEmojiInfo)[] | false
默认值['//unpkg.com/@waline/emojis@1.1.0/weibo']

评论系统的表情设置。

其类型为:

type WalineEmojiPresets = `http://${string}` | `https://${string}`

interface WalineEmojiInfo {
  /**
   * 选项卡上的 Emoji 名称
   */
  name: string
  /**
   * 所在文件夹链接
   */
  folder?: string
  /**
   * Emoji 通用路径前缀
   */
  prefix?: string
  /**
   * Emoji 图片的类型,会作为文件扩展名使用
   */
  type?: string
  /**
   * 选项卡显示的 Emoji 图标
   */
  icon: string
  /**
   * Emoji 图片列表
   */
  items: string[]
}

参考:自定义表情。

darkstring | boolean
默认值false

暗黑模式支持。设置为 true 开启,'auto' 跟随设备偏好,或使用 CSS 选择器条件激活。

参考:自定义样式。

commentSortingWalineCommentSorting
默认值'latest'

评论列表排序方式。可选值: 'latest'、'oldest' 或 'hottest'。

metastring[]
默认值['nick', 'mail', 'link']

评论者相关属性。可选值: 'nick'、'mail'、'link'。

requiredMetastring[]
默认值[]

评论必填字段。可选值:

  • [] - 无必填字段
  • ['nick'] - 昵称必填
  • ['nick', 'mail'] - 昵称和邮箱必填
loginstring
默认值'enable'

登录模式。可选值:

  • 'enable' - 启用登录(默认)
  • 'disable' - 禁用登录,用户填写信息
  • 'force' - 强制登录
wordLimitnumber | [number, number]
默认值0

评论字数限制。单个数字设置最大字数,0 为无限制。

pageSizenumber
默认值10

每页评论数量。

imageUploaderclient-only: Yes((image: File) => Promise<string>) | false

自定义图片上传方法。默认内嵌 Base64,设置 false 禁用。

函数应接收一个图片对象并返回提供图片地址的 Promise。

参考:自定义图片上传。

highlighterclient-only: Yes((code: string, lang: string) => string) | false

代码高亮功能。默认使用 hanabi,函数会传入代码块原始内容和语言,你需要直接返回一个字符串。

你也可以传入自己的代码高亮器,或设置 false 禁用代码高亮。

参考:自定义代码高亮。

texRendererclient-only: Yes((blockMode: boolean, tex: string) => string) | false

自定义 TeX 渲染。默认会提示预览模式不支持 TeX。函数提供两个参数:第一个参数指示是否应该在块级渲染,第二个参数是 TeX 内容的字符串。返回 HTML 字符串作为渲染结果。

你可以导入 TeX 渲染器来提供预览功能。我们推荐你使用 KaTeX 或 MathJax,或设置 false 禁用 TeX 解析。

参考:自定义 TeX 渲染器。

searchclient-only: YesWalineSearchOptions | false

图片搜索功能。设置 false 禁用内置搜索。

其类型为:

interface WalineSearchImageData extends Record<string, unknown> {
  /**
   * 图片链接
   */
  src: string

  /**
   * 图片标题
   *
   * 用于图片的 alt 属性
   */
  title?: string

  /**
   * 图片缩略图
   *
   * 为了更好的加载性能,我们会优先在列表中使用此缩略图
   *
   * @default src
   */
  preview?: string
}

type WalineSearchResult = WalineSearchImageData[]

interface WalineSearchOptions {
  /**
   * 搜索操作
   */
  search: (word: string) => Promise<WalineSearchResult>

  /**
   * 打开列表时展示的默认结果
   *
   * @default () => search('')
   */
  default?: () => Promise<WalineSearchResult>

  /**
   * 获取更多的操作
   *
   * 会在列表滚动到底部时触发,如果你的搜索服务支持分页功能,你应该设置此项实现无限滚动
   *
   * @default (word) => search(word)
   */
  more?: (word: string, currentCount: number) => Promise<WalineSearchResult>
}
recaptchaV3Keystring

reCAPTCHA V3 站点密钥。服务端还需设置 RECAPTCHA_V3_SECRET 环境变量。

reactionboolean | string[]
默认值false

文章表情反应。设置 true 使用默认表情,或提供自定义表情 URL 数组(最多 8 个)。

metaIconplugin-only: Yesboolean
默认值true

是否导入 Meta 图标。

localesplugin-only: YesWalineLocales

Waline 多语言配置。

参考:多语言配置。

其类型为:

interface WalineLocales {
  [localePath: string]: Partial<WalineLocale>
}

参考:Waline 多语言配置。

插件配置

在插件中配置可序列化选项:

.vuepress/config.ts
import { commentPlugin } from '@vuepress/plugin-comment'

export default {
  plugins: [
    commentPlugin({
      provider: 'Waline',
      serverURL: 'https://waline.example.com',
      // 其他选项...
    }),
  ],
}

客户端配置

使用 defineWalineConfig 配置选项:

.vuepress/client.ts
import { defineWalineConfig } from '@vuepress/plugin-comment/client'
import { defineClientConfig } from 'vuepress/client'

defineWalineConfig({
  // Waline 配置选项
})
在 GitHub 上编辑此页
上次更新: 2026/9/28 04:40
贡献者: Mister-Hope, meteorlxy, pengzhanbo
上一页
Waline