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

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

前言

这里是一个关于vuepress搭建的系列教程,里面也包括了我自己对博客的一些优化和魔改

我的博客👉:一枚前端程序媛的blog

我的面筋小站👉:面筋小站

面筋小站是使用vuepress默认主题开发
我的博客使用gungnir主题开发


系列文章

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

vuepress(二)插件安装推荐

vuepress(三)博客页面自定义布局

vuepress(四)给vuepress加入githubcalendar贡献日历

vuepress(五)部署到github.io



我在最开始时用的是 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/'}
        ]
     }
  ]
}

在这里插入图片描述


三、侧边栏

我的侧边栏目录

    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学习笔记六】探索篇"
]

对应文章

在这里插入图片描述

对应左侧导航栏

在这里插入图片描述

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


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

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

  • 熟悉ES6.md 起别名为ES6新特性


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

效果如图所示

在这里插入图片描述

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

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

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

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

举例🌰:

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

## 单篇文章
### 12321315464

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

四、MarkDown 语法注意点

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

在这里插入图片描述

对应的格式:

::: tip
推荐文章

warning

danger

details
:::

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

  • tip
  • warning
  • danger
  • details
  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
您可以使用Element Plus来实现Vue3中好看的导航栏侧边栏。Element Plus是一套基于Vue 3的桌面端组件库,具有现代和美观的设计风格。以下是一个使用Element Plus实现导航栏侧边栏的示例: ``` <template> <div id="app"> <!-- 导航栏 --> <el-header> <el-menu mode="horizontal" theme="dark"> <el-menu-item index="1">首页</el-menu-item> <el-menu-item index="2">产品</el-menu-item> <el-menu-item index="3">关于我们</el-menu-item> </el-menu> </el-header> <!-- 侧边栏 --> <el-container> <el-aside width="200px"> <el-menu default-active="1-1" router> <el-submenu index="1"> <template #title> <i class="el-icon-setting"></i> <span>设置</span> </template> <el-menu-item index="1-1">基本设置</el-menu-item> <el-menu-item index="1-2">高级设置</el-menu-item> </el-submenu> <el-menu-item index="2"> <i class="el-icon-document"></i> <span>文档</span> </el-menu-item> </el-menu> </el-aside> <el-main> <!-- 主要内容 --> <router-view></router-view> </el-main> </el-container> </div> </template> <script> import { ElHeader, ElMenu, ElMenuItem, ElSubMenu, ElAside, ElMain } from 'element-plus'; import { defineComponent } from 'vue'; export default defineComponent({ components: { ElHeader, ElMenu, ElMenuItem, ElSubMenu, ElAside, ElMain } }); </script> <style> /* 样式可以根据自己的需求进行修改 */ </style> ``` 在这个示例中,我们使用了Element Plus中的`el-header`、`el-menu`、`el-menu-item`、`el-submenu`、`el-aside`和`el-main`组件来实现导航栏侧边栏的样式和功能。您可以根据自己的需求进一步修改和美化样式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【Vue】设置导航栏侧边栏为公共页面](https://blog.csdn.net/Mr_EvanChen/article/details/80847724)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [vue3 + element plus实现侧边栏](https://blog.csdn.net/leftfist/article/details/127016585)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序媛小y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值