(6)themeConfig
该属性表示的是主题的配置信息
这里东西有点多,我们慢慢来讲
1. nav
该属性表示导航栏的配置信息
默认生成的 nav
值如下:
"nav": [ { // 第一个导航按钮 "text": "Home", // 按钮名称为 Home "link": "/", // 对应的跳转链接为 / "icon": "reco-home" // 按钮的前置图标为 reco-home }, { // 第二个导航按钮 "text": "TimeLine", // 按钮名称为 TimeLine "link": "/timeline/", // 对应的跳转链接为 /timeline/ "icon": "reco-date" // 按钮的前置图标为 reco-date }, { // 第三个导航按钮 "text": "Docs", // 按钮名称为 Docs "icon": "reco-message", // 按钮的前置图标为 reco-message "items": [ // 该按钮的子菜单 { // 子菜单中的第一个导航按钮 "text": "vuepress-reco", "link": "/docs/theme-reco/" } ] }, { // 第四个导航按钮 "text": "Contact", // 按钮名称为 Contact "icon": "reco-message", // 按钮的前置图标为 reco-message "items": [ // 该按钮的子菜单 { // 子菜单中的第一个导航按钮 "text": "GitHub", "link": "https://github.com/recoluan", "icon": "reco-github" } ] } ]
详细的注释我都已经写在上面了
2. sidebar
该属性表示的是侧边栏的导航信息
默认生成的是:
"sidebar": { "/docs/theme-reco/": [ "", // 空字符串对应的是 README.md "theme", // 对应 theme.md "plugin", // 对应plugin.md "api" // 对应api.md ] },
该配置信息表示的是当路径为 /docs/theme-reco/
时,侧边栏会自动找路径 ./docs/theme-reco/
下的 README.md
、theme.md
、plugin.md
、api.md
文件进行识别生成侧边栏,如图所示:
侧边栏的文字其实是识别了 md
文件中的 title
,例如 theme.md
文件对应的名称就是 title
的值
--- title: theme date: 2020-05-27 --- This is theme.
这是一种写法,但其实还有另一种更为复杂一点的写法,我们来看一下
"sidebar": { "/docs/theme-reco/": [ { title: '一些文件', // 标题信息 collapsable: true, // 是否可折叠 children: [ // 该块内容对应的所有链接 "", "theme", "plugin", "api" ] } ] }
这样的实现效果其实和刚才是差不多的,区别的话可以看下图来对比一下:
3. type
该属性表示的是当前项目的类型
默认的是 blog
,也就是我们现在看到的样式,其实还有别的值可以设定,例如 docs
,其对应的就是比较简约化的文档样式了,当然了这些都是脚手架帮我们处理好了的
4. blogConfig
该属性表示的是导航栏的配置信息,其是 reco
主题设置的
不知你有没有发现,刚刚设置 nav
导航栏信息的时候,一共有 4
个导航栏按钮,但实际呢?
实际情况却有 6
个,那么多出来的两个是哪里来的呢?其实就是 blogConfig
中设置的
"blogConfig": { "category": { "location": 2, // 在导航栏中的位置在第二个 "text": "Category" }, "tag": { "location": 3, // 在导航栏中的位置在第三个 "text": "Tag" } },
这两个都是内置的设定好了的,所以只要按这样配置好就可以了,不过我感觉是不太需要,大家可以自己抉择
5. friendLink
该属性是用于设置友链的
具体在网站中的位置如下图所示:
配置的话也比较简单,模仿默认的配置去做就可以了:
"friendLink": [ { "title": "午后南杂", "desc": "Enjoy when you can, and endure when you must.", "email": "1156743527@qq.com", "link": "https://www.recoluan.com" }, { "title": "vuepress-theme-reco", "desc": "A simple and beautiful vuepress Blog & Doc theme.", "avatar": "https://vuepress-theme-reco.recoluan.com/icon_vuepress_reco.png", "link": "https://vuepress-theme-reco.recoluan.com" } ],
6. logo
该属性表示的是导航栏最左侧的 logo
图片,如下图所示
在写该值时的根路径是 public
,即 /logo.png
表示的就是 public
下的 logo.png
7. search
该属性表示是否有搜索功能
8. searchMaxSuggestions
该属性官网也没做过多说明,所以我也不知道有什么用,暂且可以不用管
9. lastUpdated
该属性表示每篇文章底部显示的 "最后一次更新时间" 的文案
如下图所示:
10. author
该属性表示作者的名称,在每一篇文章的作者署名中都会沿用该名称
11. authorAvatar
该属性表示作者的头像,与 logo
一样的路径规则,头像显示位置如下图所示:
12. record && recordLink && cyberSecurityRecord && cyberSecurityLink
record: ICP备案号
recordLink: ICP 备案指向的链接
cyberSecurityRecord: 公安部备案文案
cyberSecurityLink: 公安部备案指向链接
如果项目不是部署在个人服务器上的话,这四个属性可以忽略不管
13. startYear
该属性表示博客的开始时间(只需要写年份就可以了),在网站上的展示如图所示:
左侧是我们填写的时间,右侧是根据当前时间自动生成的年份
(7) markdown
该属性里存储着一些对于 markdown
解析的配置
例如脚手架自动生成的 lineNumbers
表示的就是代码块显示行号
其实还有其它很多的 markdown
配置,详细参考 vuepress官方(opens new window)[4]