VitePress美化

news2024/10/5 14:09:38

参考资料:
https://blog.csdn.net/weixin_44803753/article/details/130903396
https://blog.csdn.net/qq_30678861/category_12467776.html

站点信息修改

首页部分的修改基本都在.vitepress/config.mts,这个文件内修改。

  • title 站点名称

  • description 描述

top导航栏修改

nav内容比较多,我们另起一个文件,现在不用管

// 头部导航config.mts
import topNav from "./topNav";

//需要注意的是import { pythonNote }中的pythonNote名称要和sideBar目录内的函数名一直
import { pythonNote } from "./sideBar/pythonBar";
import { linuxNote }  from "./sideBar/linuxBar";
import { dockerNote }  from "./sideBar/dockerBar";
import { route_swc }  from "./sideBar/route_swc";
import { ospf }  from "./sideBar/ospfBar";
import { bgp }  from "./sideBar/bgpBar";


export default {
  title: "亦良笔记",
  description: "开发学习笔记网站",
  // 打包目录 outDir: "./dist",
  head: [
    // 添加图标
    ["link", { rel: "icon", href: "/favicon.ico" }],
  ],
  // 主题配置
  themeConfig: {
    // 导航上的logo
    logo: "/logo.png",
    // 隐藏logo右边的标题,不需要的话写false
    siteTitle: "亦良笔记",
    // 头部导航栏配置
    nav: topNav,  //nav另起文件了,所以调用它


    search: {
      provider: 'local'
    },

//这里是导航栏的二级菜单
    sidebar: {
      "/python/": pythonNote,

      "/linux/linux基础/": linuxNote,
      "/linux/docker/": dockerNote,


      "/HCIE/路由与交换/": route_swc,
      "/HCIE/OSPF笔记/": ospf,
      "/HCIE/BGP笔记/": bgp

    },
//github的小图标
    socialLinks: [
      { icon: 'github', link: 'https://github.com/vuejs/vitepress' }, // 右上角github图标
    ]
  }
};

新建目录topNav,在下面新建index.js

import { text } from "stream/consumers";

export default [

//导航栏的设置
// 严格区分大小写

    { text: "首页", link: "/" },
    { text: "Python", link: "/python/index" },


    {
      text: "Linux",
      items: [
        { text: "linux基础", link: "/linux/linux基础/index" },
        { text: "deocker", link: "/linux/docker/index" },
        { text: "kubernetes", link: "/kubernetes/index" },
      ],
    },
//有多级菜单的情况
    {
      text: "华为HCIE",
      items:[
        {text: "路由与交换", link: "/HCIE/路由与交换/index"},    
        {text: "OSPF", link: "/HCIE/OSPF笔记"},
        {text: "BGP", link: "/HCIE/BGP笔记"}

      ]

    },

//仅有一级菜单的情况
    { text: "Web前端", link: "/HTML/index" },
    { text: "MySQL", link: "/mysql/index" },


    {
      text:"个人生活",
      items:[
        { text: "近期行动清单", link: "https://pokes.notion.site/11b643489e76439c89efb5d5062d7999" },
        { text: "苏州·游记", link: "https://pokes.notion.site/c2d938c54072497797805c9d7ff11a80" },
        { text: "学习炒菜", link: "https://pokes.notion.site/8b664ba3b7714cb9a478361e28d9cfa5" },
        { text: "摄影·走到哪拍到哪", link: "https://pokes.notion.site/d426eac42fb34ff39c9e36291031c813?pvs=74" },
        { text: "看书", link: "https://pokes.notion.site/3c01d20de51e477cab6e6ab461f266f1" },

      ]
    }

  ];

左侧菜单栏修改

我们想要的结果是:

  • 点击top导航栏,每个栏目的左侧菜单栏是不同的这是一点。
  • 如下图所示,无论我点击python笔记下面任何一个文章,左侧菜单栏一直在。
    在这里插入图片描述
    而官方默认,当点击首页旁边的python时,左侧是在的,但是当我再次点击python02时,左侧就消失了。

所以我们如下解决

新建目录sideBar,在目录内新建文件:pythonBar.js


// python技术笔记左侧导航栏
export const pythonNote = [
    {


      text: "python笔记",
      items: [
        {
          text: "1.python01",
          link: "/python/python01",
        },
        {
          text: "2.python02",
          link: "/python/python02",
        },

        {
          text: "03.python转码代码笔记汇总",
          link: "/python/python转码代码笔记汇总",
        },

      ]
    }
  ];

注意:pythonNote 是和config.mts中 import 名称对应的。

效果:
在这里插入图片描述
修改的步骤:

首先在config.mfs中,引入:

  • 在config.mts中,添加 import { route_swc } from "./sideBar/route_swc";
  • sidebar中写入路由

然后新建route_swc.js:


// 路由与交换:左侧导航栏
export const route_swc = [
    {


      text: "路由与交换基础",
      items: [
        {
          text: "01.route001",
          link: "/HCIE/路由与交换/route001",
        },
        {
          text: "02.route002",
          link: "/HCIE/路由与交换/route002"
        }


      ]
    }
  ];

目录结构:

在这里插入图片描述

doc
	HCIE
		路由与交换
			index.md
			route001.md
			route002.md	

剩下的就是导入文档了。

整体体验就是比较麻烦,左侧栏需要手动添加,如果文档多的话,会很痛苦。网上说的自动添加左侧栏,我没有成功!

给大家介绍几个做的比较好的blog:

陌生人做的
https://msyuan.github.io/vitePress-project/

官网
https://vitepress.dev/zh/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1901257.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

轻松快速上手Thekey库,实现数据加密无忧

Thekey的概述: Thekey库是一个Python库,旨在简化数据加密、解密、签名和验证的过程。它提供了一套简洁易用的接口,用于处理各种加密任务,适合需要在应用程序中实现安全数据处理的开发人员. 安装Thekey库 pip install thekey使用Thekey库进行基本加密和解密操作的…

一种一维时间序列信号变化/事件/异常检测方法(MATLAB)

随着工业物联网、大数据和人工智能的发展,传统工业正在向数字化和智能化升级,从而创造了大量的时间序列数据。通过分析这些数据,可以提供准确可靠的信息服务和决策依据,促进制造业的转型升级。工业物联网在传统工业向“工业 4.0”…

Java+ Idea+ Vue产科信息管理系统源码 什么是产科信息管理系统的门诊管理?

Java Idea Vue产科信息管理系统源码 什么是产科信息管理系统的门诊管理? 产科信息管理系统 门诊管理是现代医疗服务的重要组成部分,它借助信息技术手段,对产科门诊的各个环节进行优化和重构,以提高医疗服务效率、提升患者体验、加…

Windows安装超好用的截图工具——Snipaste

1、下载 官网:https://zh.snipaste.com/ 2、安装 (1)解压下载的压缩包 (2)选中Snipaste.exe文件,右键发送到 -- > 桌面快捷方式 (3)双击桌面Snipaste图标,桌面右下…

Qt 基础组件速学 事件过滤器

学习目标:理解事件过滤器 前置环境 运行环境:qt creator 4.12 学习内容和效果演示: Qt 提供了事件过滤器的机制,允许我们在事件到达目标对象之前对事件进行拦截和处理。这在以下情况下非常有用: 全局事件处理: 我们可以在应用程序级别安装一个事件过…

从文本到安全图像:自动提示优化防止不当内容生成

T2I生成技术已经得到了广泛关注,并见证了如GLIDE、Imagen、DALL-E 2、Stable Diffusion等大型生成模型的发展。尽管这些模型能够根据文本描述生成高质量的图像,促进了书籍插图、品牌标识设计、游戏场景创作等多种实际应用,但它们也被恶意用户…

html+js+css做的扫雷

做了个扫雷&#x1f4a3; 88大小 源代码在文章最后 界面 先点击蓝色开局按钮 然后就可以再扫雷的棋盘上玩 0代表该位置没有雷 其他数字代表周围雷的数量 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8&qu…

vue事件参数

事件参数 事件参数可以获取event对象和通过事件传递数据 获取event对象 <template> <buttonclick"addCount">点击</button><p>count is: {{ count }}</p><p>{{ coutent_e }}</p> </template> <script>expor…

go 为什么是抢占式调度

GMP 模型 gmp模型是 golang 中用于调度管理 goroutine 的调度器。 调度器的发展史 在 Go 语言中&#xff0c;Goroutine 早期是没有设计成抢占式的&#xff0c;早期 Goroutine 只有读写、主动让出、锁等操作时才会触发调度切换。 这样有一个严重的问题&#xff0c;就是垃圾回…

AI视频生成技术爆发 引领虚拟数字人产业新潮流

2024年刚开局&#xff0c;先有OpenAI的AI视频生成模型Sora惊艳全网&#xff0c;随后阿里巴巴发布EMO&#xff0c;一张照片音频&#xff0c;就能生成具有生动表情和各种头部姿势、口型完全匹配高保真的人声头像动态视频。 技术的革新不仅为内容创作者打开了新世界的大门&#xf…

Spring Boot基础篇

快速上手 SpringBoot是由Pivotal团队提高的全新框架&#xff0c;其设计目的是用来简化Spring应用的初始化搭建以及开发过程 入门案例 在Idea创建 创建时要选择Spring Initializr。 Server URL为要连接的网站&#xff0c;默认为官网start.spring.io&#xff08;访问速度慢&…

为什么建议 MySQL 数据库字段一定要设置 NOT NULL

1. 前言 建议 MySQL 数据库字段一定要设置 NOT NULL 这句建议你可能听好多人讲过&#xff0c;但是有没有仔细想过为什么别人这么说 &#xff1f; 在实际开发中&#xff0c;对使不使用 not null 很多人并没有一个明确的标准&#xff0c;要知道某个字段需不需要添加 not null&a…

【MYSQL】事务隔离级别以及InnerDB底层实现

事务隔离级别 读未提交&#xff08;Read Uncommitted&#xff09; 允许事务读取其他事务未提交的数据&#xff0c;可能会导致脏读。 读已提交&#xff08;Read Committed&#xff09; 一个事务只能看见已经提交的事务所做的更改&#xff0c;可以避免脏读&#xff0c;但可能…

基于CLIP特征的多模态大模型中的视觉短板问题

【论文极速读】 基于CLIP特征的多模态大模型中的视觉短板问题 FesianXu 20240706 at Tencent WeChat search team 前言 今天读到篇CVPR 24’的论文 [1]&#xff0c;讨论了常见的多模态大模型&#xff08;大多都基于CLIP语义特征&#xff0c;以下简称为MLLM&#xff09;中的视觉…

阿里云服务器配置、搭建(针对Spring boot和MySQL项目)

这是一篇极其详细且痛苦的文章&#xff0c;还是在两位后端的大佬手把手教导下、以及我找遍全网所有资料、问了N遍AI、甚至直接申请阿里云工单一对一询问客服一整天、连续清空再上传反复30多次整个项目jar包......总结出来的终极要人命踩坑的问题总结 一、首先购买服务器 其实不…

Apache Seata分布式事务及其三种模式详解

本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 Apache Seata分布式事务及其三种模式详解 分布式事务 Seata 及其三种模式详解 | Meetup#3 回顾…

基于TCP的在线词典系统(分阶段实现)

1.功能说明 一共四个功能&#xff1a; 注册 登录 查询单词 查询历史记录 单词和解释保存在文件中&#xff0c;单词和解释只占一行, 一行最多300个字节&#xff0c;单词和解释之间至少有一个空格。 2.功能演示 3、分阶段完成各个功能 3.1 完成服务器和客户端的连接 servic…

【深度学习】图形模型基础(5):线性回归模型第四部分:预测与贝叶斯推断

1.引言 贝叶斯推断超越了传统估计方法&#xff0c;它包含三个关键步骤&#xff1a;结合数据和模型形成后验分布&#xff0c;通过模拟传播不确定性&#xff0c;以及利用先验分布整合额外信息。本文将通过实际案例阐释这些步骤&#xff0c;展示它们在预测和推断中的挑战和应用。…

编程上下文Context及其实现原理

编程上下文Context及其实现原理 author:shengfq date:2024-07-06 title:编程上下文Context及其实现原理 category:编程思想1.编程中的上下文Context是指什么? 在编程和软件工程领域&#xff0c;“上下文”&#xff08;Context&#xff09;是一个多义词&#xff0c;其含义可以…

产品经理-​合作的6类干系人(8)

在一个项目中&#xff0c;产品经理并不是一个人在战斗&#xff0c;而是在很多同事的配合下共同完成项目。那产品经理到底要和哪些角色配合&#xff0c;一起完成项目呢 中间的产品经理是一个项目的驱动者。而产品经理的前方是“Boss/Leader”&#xff0c;也就是创业团队中公司的…