Waline 选项
配置
serverURL
- 类型:
string
- 必填: 是
Waline 的服务端地址。
emoji
类型:
(WalineEmojiInfo | WalineEmojiPresets)[] | false
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[]; }
默认值:
['//unpkg.com/@waline/emojis@1.1.0/weibo']
表情设置,详见 自定义表情
dark
- 类型:
string | boolean
- 默认值:
false
暗黑模式适配。
- 设置布尔值会根据其值来设置暗黑模式。
- 设置
'auto'
会根据设备暗黑模式自适应。 - 填入 CSS 选择器会在对应选择器生效时启用夜间模式。
针对不同主题的例子
Docusaurus: 它会在
<html>
上通过设置data-theme="dark"
开启暗黑模式,那么你需要将dark
选项设置为'html[data-theme="dark"]'
。hexo-theme-fluid: 它会在
<html>
上通过设置data-user-color-scheme="dark"
开启暗黑模式。那么你需要将dark
选项设置为'html[data-user-color-scheme="dark"]'
。
自定义样式与暗黑模式详见 自定义样式。
commentSorting
- 类型:
WalineCommentSorting
- 默认值:
'latest'
评论列表排序方式。可选值: 'latest'
, 'oldest'
, 'hottest'
meta
- 类型:
string[]
- 默认值:
['nick', 'mail', 'link']
评论者相关属性。可选值: 'nick'
, 'mail'
, 'link'
requiredMeta
- 类型:
string[]
- 默认值:
[]
设置必填项,默认匿名,可选值:
[]
['nick']
['nick', 'mail']
login
- 类型:
string
- 默认值:
'enable'
登录模式状态,可选值:
'enable'
: 启用登录 (默认)'disable'
: 禁用登录,用户只能填写信息评论'force'
: 强制登录,用户必须注册并登录才可发布评论
wordLimit
- 类型:
number | [number, number]
- 默认值:
0
评论字数限制。填入单个数字时为最大字数限制。设置为 0
时无限制。
pageSize
- 类型:
number
- 默认值:
10
评论列表分页,每页条数。
仅限客户端配置
imageUploader类型:
WalineImageUploader | false
必填: 否
详情:
type WalineImageUploader = (image: File) => Promise<string>;
参考:
自定义图片上传方法。默认行为是将图片 Base 64 编码嵌入,你可以设置为 false
以禁用图片上传功能。
函数应该接收图片对象,返回一个提供图片地址的 Promise。
仅限客户端配置
highlighter类型:
WalineHighlighter | false
type WalineHighlighter = (code: string, lang: string) => string;
必填: 否
详情:
代码高亮,默认使用一个 < 1kb 的简单高亮器。函数传入代码块的原始字符和代码块的语言。你应该直接返回一个字符串。
你可以传入一个自己的代码高亮器,也可以设置为 false
以禁用代码高亮功能。
仅限客户端配置
texRenderer类型:
WalineTexRenderer | false
type WalineTexRenderer = (blockMode: boolean, tex: string) => string;
必填: 否
详情:
自定义 $\TeX$ 渲染,默认行为是提示预览模式不支持 $\TeX$。函数提供两个参数,第一个参数表示渲染模式是否为块级,第二个参数是 $\TeX$ 的字符串,并返回一段 HTML 字符串作为渲染结果。
你可以自行引入 $\TeX$ 渲染器并提供预览渲染,建议使用 Katex 或 MathJax,也可以设置为 false
以禁止渲染 $\TeX$。
仅限客户端配置
search类型:
WalineSearchOptions | false
interface WalineSearchImageData extends Record<string, unknown> { /** * 图片链接 */ src: string; /** * 图片标题 * * @description 用于图片的 alt 属性 */ title?: string; /** * 图片缩略图 * * @description 为了更好的加载性能,我们会优先在列表中使用此缩略图 * * @default src */ preview?: string; } type WalineSearchResult = WalineSearchImageData[]; interface WalineSearchOptions { /** * 搜索操作 */ search: (word: string) => Promise<WalineSearchResult>; /** * 打开列表时展示的默认结果 * * @default () => search('') */ default?: () => Promise<WalineSearchResult>; /** * 获取更多的操作 * * @description 会在列表滚动到底部时触发,如果你的搜索服务支持分页功能,你应该设置此项实现无限滚动 * * @default (word) => search(word) */ more?: (word: string, currentCount: number) => Promise<WalineSearchResult>; }
必填: 否
自定义搜索功能,设置 false
可禁用搜索。
copyright
- 类型:
boolean
- 默认值:
true
是否显示页脚版权信息。
提示
我们希望你保持打开以支持 Waline。
recaptchaV3Key
- 类型:
string
- 必填: 否
reCAPTCHA V3 是 Google 提供的验证码服务,配置 reCAPTCHA V3 网站密钥即可开启该功能。服务端需要同步配置 RECAPTCHA_V3_SECRET
环境变量。
reaction
- 类型:
boolean | string[]
- 默认值:
false
为文章增加表情互动功能,设置为 true
提供默认表情,也可以通过设置表情地址数组来自定义表情图片,最大支持 8 个表情。
仅限插件选项
metaIcon- 类型:
boolean
- 默认值:
true
是否导入 Meta 图标。
仅限插件选项
locales类型:
WalineLocales
interface WalineLocales { [localePath: string]: WalineLocale; }
详情: Waline 多语言配置
Waline 多语言配置
插件配置
你可以直接在插件选项中配置可序列化的选项:
// .vuepress/config.ts
import { defineUserConfig } from "vuepress";
import { commentPlugin } from "vuepress-plugin-comment2";
export default defineUserConfig({
plugins: [
commentPlugin({
provider: "Waline",
// 其他选项
// ...
}),
],
});
客户端配置
你可以使用 defineWalineConfig
函数来配置 Waline。
// .vuepress/client.ts
import { defineClientConfig } from "@vuepress/client";
import { defineWalineConfig } from "vuepress-plugin-comment2/client";
defineWalineConfig({
// Waline 选项
});
export default defineClientConfig({
// ...
});