本节中的所有功能(除了阅读时长估计以外)默认都是不启用的,所以需要按照下述配置方式在 .vuepress/config.js
中启用你想要使用的功能。
信息
对于没有启用的功能,与它们相关的代码并不会被打包。
# 评论
评论功能基于 Vssue。Vssue 支持将评论存储在 Github、Gitlab、Bitbucket、Gitee 和 Gitea 平台的 Issue 系统中。
一个简单的基于 Github 的评论配置为:
themeConfig: {
comment: {
platform: "github",
owner: "This-is-an-Apple", // 用于放评论的仓库的拥有者 ID
repo: "gitalk-comments", // 用于放评论的仓库名
clientId: "your-client-id", // OAuth App Client ID
clientSecret: "client-secret" // OAuth App Client Secret
}
}
如果不指定 platform
项,主题会把 Github 作为默认平台。如果想要使用 Github 以外的平台,则还需要手动安装对应的 api 包。
其他详细说明可以参考 Vssue 文档。
# 站点统计
目前支持谷歌统计(基于插件 plugin-google-analytics)和百度统计(基于插件 plugin-baidu-tongji)。
# 谷歌统计
需要去谷歌统计官网上申请一个跟踪代码,然后填入配置:
themeConfig: {
analytics: {
ga: "your-tracking-code"
}
}
# 百度统计
需要去百度统计官网上申请一个跟踪代码,然后填入配置:
themeConfig: {
analytics: {
ba: "your-tracking-code"
}
}
# RSS
通过插件 plugin-rss 来提供 RSS 支持,生成的文件路径为 ./rss.xml
。插件配置:
themeConfig: {
rss: {
site_url: "https://zxh.io", // 网站链接 (必须)
copyright: "Renovamen 2018-2021", // 版权信息(可选)
count: 20, // 需要在 rss 上显示多少篇文章(可选)
filter: (frontmatter) => { return [true|false] }, // 文章筛选函数(可选)
}
}
这里是本站的 RSS 文件。
# 阅读时长估计
主题默认在文章头部显示估计出的阅读时长,该功能基于插件 plugin-reading-time。
可以传入一些配置项来配置这个插件:
themeConfig: {
readingTime: {
excludes: ['/url1', '/url2/.*'], // 不需要进行统计的页面路径,默认为 ["/tags/.*", "/links"]
wordsPerMinuteCN: 500, // 一分钟可以阅读多少个中文字符,默认为 300
wordsPerMinuteEN: 200, // 一分钟可以阅读多少个英文字符,默认为 160
excludeCodeBlock: true, // 是否排除所有代码块内的字符,默认为 false
excludeTexBlock: true // 是否排除所有公式块内的字符,默认为 false
}
}
也可以在文章的 frontmatter
中强行重写阅读时长:
title: Hello Word
readingTime: { minutes: 3 }
# 一言
themeConfig: {
hitokoto: true
}
将 hitokoto
项设置为 true
可以开启首页的一言气泡,将鼠标悬浮在头像上气泡就会显示出来:
如果你想更改一言的请求参数,或想使用其他的接口,可以指定 hitokoto.api
项:
themeConfig: {
hitokoto: {
api: "https://v1.hitokoto.cn/?c=i" // 只返回诗词
}
}
# 数学公式渲染
通过插件 plugin-katex 来提供公式渲染支持。启用 KaTeX:
themeConfig: {
katex: true
}
例子:
行内公式:
行块公式:
代码
行内公式:$E = mc^2$
行块公式:
$$
i\hbar\frac{\partial \psi}{\partial t} = \frac{-\hbar^2}{2m} ( \frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2} + \frac{\partial^2}{\partial z^2} ) \psi + V \psi.
$$
# 图表
在 Markdown 中轻松插入一些可交互的图表。
# Chart.js
通过插件 plugin-chart 来在 Markdown 中使用 JavaScript 图表库 Chart.js:
themeConfig: {
chartjs: true
}
代码块的 token info 需要为 chart
,例子:
代码
```chart
{
"type": "doughnut",
"data": {
"datasets": [{
"data": [10, 20, 30],
"backgroundColor": [
"rgba(255, 99, 132)",
"rgba(255, 206, 86)",
"rgba(54, 162, 235)"
]
}],
"labels": ["Red", "Yellow", "Blue"]
}
}
```
警告
key 值一定要加引号,否则会报错。
更详细的用法可以参考 Chart.js 文档。
# Mermaid
通过插件 plugin-mermaid 来在 Markdown 中使用 Mermaid,从而在文章中加入流程图、状态图、时序图、甘特图等:
themeConfig: {
mermaid: true
}
代码块的 token info 需要为 mermaid
,例子:
代码
```mermaidjs
sequenceDiagram
Alice->John: Hello John, how are you?
loop Every minute
John-->Alice: Great!
end
```
更详细的用法可以参考 Mermaid 文档。
# roughViz.js
通过插件 plugin-roughviz 来在 Markdown 中使用 roughViz.js。与别的画出来的图看上去很标准的图表库不同,roughViz.js 的特性是绘制手绘样式的图表。
themeConfig: {
roughviz: true
}
roughViz.js 支持以下七种图表类型:
- Bar (
bar
) - Horizontal Bar (
barh
) - Donut (
donut
) - Line (
line
) - Pie (
pie
) - Scatter (
scater
) - Stacked Bar (
stackedbar
)
因此代码块的 token info 需要为 roughviz-{ 你想创建的图表类型 }
。比如想要创建一个 Donut 图表:
代码
```roughviz-donut
{
"data": {
"labels": ["North", "South", "East", "West"],
"values": [10, 5, 8, 3]
},
"title": "Regions",
"colors": ["red", "orange", "blue", "skyblue"],
"roughness": 4
}
```
如果希望加载本地 csv
文件中的数据,一种可行的方法是把 csv
文件放在 .vuepress/public/
文件夹下(假设路径为 .vuepress/public/csv/flavors.csv
),然后:
Code
```roughviz-bar
{
"data": "/csv/flavors.csv",
"labels": "flavor",
"values": "price"
}
```
更详细的用法可以参考 roughViz.js 文档。
# Markdown 增强样式
通过插件 plugin-md-plus 来在 Markdown 中加入更多语法和功能。目前支持:
- 脚注
- 高亮标记
你可以一键启用所有功能:
themeConfig: {
mdPlus: {
all: true, // 全部启用
}
}
也可以分别启用:
themeConfig: {
mdPlus: {
footnote: true, // 脚注
mark: true // 高亮标记
}
}
# 脚注
给文字加上脚注[1]
语法
给文字加上脚注[^1]
[^1]: 脚注内容
# 高亮标记
高亮标记重要的内容:衬衫的价格是 九磅十五便士
语法
衬衫的价格是 ==九磅十五便士==
脚注内容 ↩︎