vuepress博客搭建(一)导航栏与侧边栏


文章目录

  • vuepress博客搭建(一)导航栏与侧边栏
  • 前言
  • 系列文章
  • 一、项目目录
  • 二、导航栏配置
  • 三、侧边栏
  • 样式一:一个导航栏下对应多篇文章
  • 样式二:一个导航栏多篇文章,且要对文章起别名
  • 样式三:一个导航栏下多篇文章进行分组
  • 四、MarkDown 语法注意点

 

我在最开始时用的是 Hexo+butterfly搭建博客,但是后来发现,hexo的界面虽然很好看,但是自认为vuepress的文章分类更清楚,更适合于当做自己的笔记库(而本人就是想搭建一个自己的知识库)。

对于vuepress的基础的设置,我首先推荐去b站看视频,然后看官方文档就行。

但是对于导航栏和侧边栏,这两个配置感觉有点乱,我感觉用例子🌰来展示导航栏和侧边栏的配置更容易上手。

所以下面我就用自己的博客来演示导航栏和侧边栏的配置。

注:我的博客是使用了默认主题,没有配置别的主题。



一、项目目录

.
├── docs
│   ├── .vuepress 
│   │   ├── components(在该目录下,我们可以自定义博客某个页面的模板,在下一篇文章中会有演示)
│   │   ├── public(存放一些公共样式,比如网站图标和头像,当然,也可以直接将图片放入图床)
|   |   ├── dist(这里存放打包好的文件,最后我们将打包好的文件上传到服务器就行)
│   │   ├── styles(这里放一些自定义样式,在这里我们可以修改主题色)
│   │   │   ├── index.styl
│   │   │   └── palette.styl
│   │   ├── config.js (这里是博客的一些配置,导航栏、侧边栏、下载的插件都在这里配置)
|   ├── about(一个存放自己博客的文件夹,我们可以将不同的文章设置不同的文件夹进行分类)
|   |   ├── README.md(每个文件夹都要有一个README.md文件,否则导航栏配置不生效)
|   |   ├── 文章一.md
|   |   ├── 文章二.md
|   ├── javaScript(同上)
|   |   ├── README.md
│   └── README.md(这个md文档是首页的配置)
│ 
└── package.json 项目初始化时,根目录下自动生成的配置文件,定义了项目的基本配置信息及需要依赖的各个模块、指定运行脚本命令的npm命令行缩写等。



 

配置🌰:

---
home: true
heroImage: 'https://XXX.jpg'
actionText: 快速上手 
actionLink: /js/
features:
  - title: 简洁至上
    details: 以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。
  - title: Vue 驱动
    details: 享受 Vue 的开发体验,可以在 Markdown 中使用 Vue 组件,又可以使用 Vue 来开发自定义主题。
  - title: 高性能
    details: VuePress 会为每个页面预渲染生成静态的 HTML,同时,每个页面被加载的时候,将作为 SPA 运行。
footer: MIT Licensed | Copyright © XXXX
---

总结:

  • 我们的配置都在 .vuepress文件夹下进行,只有首页的README.md与 .vuepress文件夹同级
  • .vuepress文件夹下 config.js 是主要的配置
  • 我们自己的文章目录与 .vuepress文件夹同级
  • 每个文章的文件夹下都要有一份 README.md文件,否则导航栏配置不生效



二、导航栏配置

导航栏的配置在 docs/.vuepress/cpnfig.js 中配置

themeConfig: {
  nav: [
  	{
  	   text: 'Hmoe',
  	   link: '/'
  	},
  	{
  	   text: 'CSS',
  	   link: '/css/'
  	},
    {//这个导航栏对应多个子导航栏
        text: 'CS与浏览器', // 这里的text就是导航栏上的名字
        items: [
          {text: '计算机网络', link: '/cs/network/'},
          {text: '浏览器相关', link: '/cs/browser/'}, // 对应的路径如下图所示
          {text: '数据库', link: '/cs/database/'},
          {text: '操作系统', link: 'cs/os/'}
        ]
     }
  ]
}

vuepress pageview自定义 vuepress自定义布局_侧边栏



三、侧边栏

我的侧边栏目录

sidebar: { //侧边栏
      '/js/': [
        {
          title: '闭包',
          children: [
            // ['','文章推荐'],
            ['test','test']
          ]
        },
        {
          title: '作用域',
          children: [
            ['test1','测试test1'],
            ['test2','test2']
          ]
        },
        "only"
      ],
      '/good/':[
        ['','优秀文章推荐']
      ],
      '/about/':[
        "2021年总结",
        "大二上半学期寒假总结",
        "关于蓝桥杯、天梯赛的乱七八糟的心得"
      ],
      '/cs/network/':[
        "【http学习笔记一】破冰篇",
        "【http学习笔记二】基础篇",
        "【http学习笔记三】进阶篇",
        "【http学习笔记四】安全篇",
        "【http学习笔记五】飞翔篇",
        "【http学习笔记六】探索篇"
      ]
    }



官方文档说了,一级标题不会生成侧边栏,正文默认从二级标题开始,二级和三级会生成侧边栏

侧边栏可以以对象的形式,也可以以数组的形式,但现在基本上都是用数组的形式进行配置。

每个导航栏对应一个数组。默认点开是首先加载每个文章文件夹下的README.md



样式一:一个导航栏下对应多篇文章

'/cs/network/':[
	    " ",  // 该目录下的README.md文章
        "【http学习笔记一】破冰篇",
        "【http学习笔记二】基础篇",
        "【http学习笔记三】进阶篇",
        "【http学习笔记四】安全篇",
        "【http学习笔记五】飞翔篇",
        "【http学习笔记六】探索篇"
]

对应文章

vuepress pageview自定义 vuepress自定义布局_导航栏_02

对应左侧导航栏

vuepress pageview自定义 vuepress自定义布局_node.js_03

此时,你在配置中写的名字要与文章的名字相同



样式二:一个导航栏多篇文章,且要对文章起别名

'/good/':[
        ['','优秀文章推荐'],
        ['熟悉ES6','ES6新特性']
      ],
  • 这个是将good文件夹下的README.md文章起别名为优秀文章推荐。
  • 熟悉ES6.md 起别名为ES6新特性


样式三:一个导航栏下多篇文章进行分组

效果如图所示

vuepress pageview自定义 vuepress自定义布局_node.js_04

这里分组为 闭包,作用域,还有一个单篇文章

'/js/': [
        {
          title: '闭包',
          children: [
            // ['','文章推荐'],
            ['test','test']
          ]
        },
        {
          title: '作用域',
          children: [
            ['test1','测试test1'],
            ['test2','test2']
          ]
        },
        "only" //这是单篇文章
]

注意:侧边栏显示的名字并不是你在配置中添加的名字,而是你文章中的二三级标题

并且在分组中我们也可以对文章起别名

举例🌰:

上面我的 only.md 在侧边栏显示并不是 only,而是单篇文章,这是因为:我的 only.md 的 二级标题为单篇文章

## 单篇文章
### 12321315464

#### 这里是我的单篇文章的内容



四、MarkDown 语法注意点

md文档基本上没有什么变化,唯一要注意的一点是:引用框的显示

vuepress pageview自定义 vuepress自定义布局_前端_05

对应的格式:

::: tip
推荐文章

warning

danger

details
:::

上下用三个冒号,第一行的冒号后面加上引用框的类型,可选的类型如下

  • tip
  • warning
  • danger
  • details