VuePress日常使用

什么是主题?读者对主题这个单词应该不陌生,例如大部分 APP 都支持白天主题和夜晚主题等,使用者可以很轻松的切换主题等等。VuePress 中也有类似的概念。

VuePress 的主题

在 VuePress 中,主题不仅仅是外观上的不同,不同的主题往往提供了不同的功能,能大大的完善我们的博客的功能,增强用户的体验感。

如果不使用主题,则使用的是 VuePress 的默认主题,功能比较简单,例如,我们之前想要增加侧边栏,需要一个个配置链接,才能让侧边栏展示成我们想要的效果,非常麻烦;有时候我们还想要加载 loading、切换动画、返回顶部、评论等功能,都自己开发的话太麻烦了。

本博客就是使用了 voding 主题,能自动生成侧边栏、标题和目录页等等功能,非常方便。本文就以 vdoing 主题为例,演示如何使用一个主题(建议读者先简单看一下该主题的文档,或者等看完本博客后再看也行)。

博客准备

我们目前的博客内容还太少了,不能很好的演示主题的效果,因此我们增加一些有意义的博客。

由于 vdoing 主题对于 Markdown 文件和文件夹的命名有要求(需要在其前面用梳子编号),我们同步修改下。修改后目录结果如下:

vuepress-learn
├── docs
│   ├── .vuepress
│   │   ├── public
│   │   │   └── amiliya.jpg
│   │   └── config.js
│   ├── 01.Basic
│   │   ├── 01.Basic1.md
│   │   └── 02.Basic2.md
│   ├── 02.Java
│   │   ├── 01.JavaEE.md
│   │   └── 02.JavaSE.md
│   └── README.md
├── package-lock.json
└── package.json

并且,之前 Markdown 文件里的内容太少了,几乎是空的,我们增加一些标题,例如:

这里是JavaSE

## 这是二级标题!

### 这是三级标题!


## 这是第二个二级标题!

安装

其实主题也就是一个 npm 包,可以通过 npm 的方式下载。

npm install vuepress-theme-vdoing -D

在 config.js 里配置使用主题(第 6 行):

module.exports = {
  title: '网站标题',
  head: [
    ['link', { rel: 'icon', href: 'https://s3.bmp.ovh/imgs/2023/02/16/8d42caf2b4ba3334.png' }]
  ],
  theme:'vdoing',
  themeConfig: {
    logo: 'https://s3.bmp.ovh/imgs/2022/12/02/bc7428e3916c3a4c.jpg',
    nav: [
      { text: '首页', link: '/' },
      { text: '计算机基础', link: '/CouputerBasic' },
      {
        text: 'Java', items: [
          { text: 'JavaSE', link: '/JavaSE' },
          { text: 'JavaEE', link: 'https://www.peterjxl.com/JavaEE' }
        ]
      },
    ],
    sidebar: 'structuring',
  }
}

由于 vdoing 主题会自动生成侧边栏等,这里删除之前关于侧边栏的配置,并且使用 vdoing 主题的侧边栏配置

然后启动博客,效果如下:可以看到首页就美观了不少,并且在下方还有文章列表,左侧还有文章分类等等。

同时,在网站右下角,还可以切换皮肤等,这些都是 VuePress 默认主题没有的:

我们点击下面的文章 JavaSE:

可以看到如下页面:其中,左侧就是 vdoing 主题自动帮我们生成的侧边栏(默认),而右侧是本篇文章的目录

自动生成 front matter

如果 Markdown 文件里没有配置 yaml,那么 vdoing 主题会自动为每个文档添加 front matter(1~9 行),以 01.JavaSE.md 为例:

---
title: JavaSE
date: 2023-02-16 07:47:56
permalink: /pages/f9c28a/
categories:
  - Java
tags:
  - 
---
这里是JavaSE



## 这是二级标题!

### 这是三级标题!


## 这是第二个二级标题!

这些配置的说明如下:

  • title​:标题,​.md ​文件的名称
  • date​:当前页面的创建时间
  • permalink​:当前页面的永久链接,例如访问上述文件时,使用的链接是:http://localhost:8080/pages/f9c28a/​,不太好记,可以修改为好记一点的 /JavaSE​。
  • categories​:文章的分类,默认是 .md ​所在的文件夹名称。
  • tags​:文章的标签

voding 主题更多功能

vdoing 主题还提供了非常多的功能,这里就不一一演示了,本系列的教程并不在于介绍某个主题:

  • voding 介绍
  • 主题配置
  • 首页配置
  • 目录页配置
  • 添加摘要

常见的主题

除了 vdoing,还有很多流行的主题,例如:

  • vuepress-theme-reco
  • vuepress-theme-hope

VuePress 只支持使用一个主题。不过我们博客的重点是内容,切换主题也不会非常麻烦,读者可以简单比较下各个主题的差别和易用程度,挑一个喜欢的就行。

VuePress 的主题非常非常多,这里就不再多介绍了,感兴趣的读者可以参考:laihua-coder/awesome-vuepress,这个 GitHub 项目列举了关于 VuePress 的一些不错的内容,包括主题、插件和使用 VuePress 的企业和项目等等。

之前我们说过 VuePress1.x 生态比较好,就是因为该版本下主题和插件非常多。

获取源码

为了写本系列的博客,博主特地新建了一个项目用于演示,相关代码已放到 Gitee 和 GitHub 上。

并且,不同功能创建了不同分支,想要获取本篇文章演示的源码只需切换分支即可!

例如,你想运行本篇文章所创建的博客,可以这样做:

  1. 打开命令行
  2. 拉取代码:git clone git@gitee.com:peterjxl/vuepress-learn.git ​(也可拉取 GitHub 的)
  3. 跳转目录:cd vuepress-learn
  4. 切换分支:git switch -c VuePressDemo3Theme origin/VuePressDemo3Theme
  5. 安装依赖:npm i
  6. 运行博客:npm run docs:dev

参考

VuePress 官方文档:使用主题 | VuePress,Front Matter | VuePress

voding 官网文档:vuepress-theme-vdoing

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

#17前端后花园周刊-ECMAScript 2024、JS新set方法、TS5.5、理解React Compiler

⚡️行业动态 Ecma International 批准 ECMAScript 2024:有何新内容? Ecma 大会批准了最新的 ECMAScript / JavaScript 语言规范,正式使其成为标准。与 ECMAScript 2023 一样,这只是向前迈出的一小步,但 Axel 博士研…

详细配置SQL Server的链接服务器(图文操作Mysql数据库)

目录 前言1. MySQL ODBC 驱动2. 配置 SQL Server 链接服务器3. 彩蛋前言 此处配置以及安装没有什么理论知识 所以直奔主题,跟着以下步骤配置安装即可 需求:准备在10.197.0.110中链接外部的10.197.0.96的mysql数据源 已默认在10.197.0.96中安装了MySQL数据库并且知道其连接信…

Gradio 4.37.1官方教程三:Chatbot

文章目录 一、使用ChatInterface创建聊天机器人1.1 定义聊天函数1.2 流式聊天机器人(Streaming chatbots)1.3 自定义聊天机器人1.4 添加多模态功能1.5 通过additional_inputs添加额外组件1.6 直接添加 Gradio 组件1.7 通过 API 使用聊天机器人1.7.1 调用…

苹果可能与谷歌合作推AI订阅服务;全国首个司法审判大模型在深圳上线

🦉 AI新闻 🚀 苹果可能与谷歌合作推AI订阅服务 摘要:苹果宣布将与OpenAI合作推出Apple Intelligence,并有望在今年秋季与谷歌达成合作,接入Gemini。Meta的Llama因质量不佳被拒。苹果计划推出订阅模式的智能功能服务&…

C语言--vs使用调试技巧

1.什么是bug? 1.产品说明书中规定要做的事情,而软件没有实现。 2.产品说明书中规定不要做的事情,而软件确实现了。 3.产品说明书中没有提到过的事情,而软件确实现了。 4.产品说明书中没有提到但是必须要做的事情,软件确没有实…

vue 组件el-tree添加结构指示线条

效果展示: 注意&#xff1a;组件中需要添加:indent"0" 进行子级缩进处理&#xff0c;否则会出现子级缩进逐级递增 :expand-on-click-node"false" 设置点击箭头图标才会展开或者收起 代码&#xff1a; <el-tree class"tree filter-tree" :da…

数据恢复篇:如何在电脑上恢复已删除和丢失的音乐文件

尽管流媒体网络非常流行&#xff0c;但许多人仍然选择将音乐下载并保存在 PC 本地。这会使文件面临丢失或意外删除的风险。 幸运的是&#xff0c;您可以使用数据恢复软件恢复已删除的音乐和其他文件类型。这篇文章讨论了这些解决方案以及如何使用奇客数据恢复检索丢失的音乐文…

【SpringCloud】Eureka源码解析 下

eurkea是一个服务发现与注册组件&#xff0c;它包含客户端和服务端&#xff0c;服务端负责管理服务的注册信息&#xff0c;客户端用于简化与服务端的交互。上一章分析了eureka的服务注册&#xff0c;这一章来分析eureka的心跳机制 参考源码&#xff1a;<spring-cloud.versi…

科普文:八大排序算法(JAVA实现)+ 自制动画 (袁厨的算法小屋)

我将我仓库里的排序算法给大家汇总整理了一下&#xff0c;写的非常非常细&#xff0c;还对每个算法制作了动画&#xff0c;一定能够对大家有所帮助&#xff0c;欢迎大家阅读。另外我也对 leetcode 上面可以用排序算法秒杀的算法题进行了总结&#xff0c;会在后面的文章中进行发…

OpenCV 调用自定义训练的 YOLO-V8 Onnx 模型

一、YOLO-V8 转 Onnx 在本专栏的前面几篇文章中&#xff0c;我们使用 ultralytics 公司开源发布的 YOLO-V8 模型&#xff0c;分别 Fine-Tuning 实验了 目标检测、关键点检测、分类 任务&#xff0c;实验后发现效果都非常的不错&#xff0c;但是前面的演示都是基于 ultralytics…

计算机组成原理——寄存器

文章目录 1. 寄存器 2. 带寄存器的加法器 3. 时钟信号与计算速度 1. 寄存器 上一篇D触发器可以在时钟上沿存储1位数据。如果想存储多个位&#xff08;bit&#xff09;的数据&#xff0c;就需要用多个D触发器并联实现&#xff0c;这种电路称之为寄存器。 寄存器是计算机中央…

MATLAB使用系统辨识工具箱建立PID水温的传递函数系数

概述 利用PID控制水温&#xff0c;由于实际在工程项目中&#xff0c;手动调节PID参数比较耗费时间&#xff0c;所以可以先利用MATLAB中的Simulink软件建立模型&#xff0c;先在仿真软件上调节大概的PID参数&#xff0c;再利用此PID参数为基础在实际的工程项目中手动调节PID参数…

spring boot(学习笔记第十一课)

spring boot(学习笔记第十一课) Session共享&#xff0c;JPA实现自动RESTful 学习内容&#xff1a; Session共享JPA实现自动RESTful 1. Session共享 Session共享面临问题 spring boot默认将session保存在web server的内存里面&#xff0c;会产生什么问题呢。 如上图所示&#…

《昇思25天学习打卡营第15天 | 昇思MindSpore基于MindSpore的红酒分类实验》

15天 本节学了通过MindSpore的完成红酒分类。 1.K近邻算法&#xff08;K-Nearest-Neighbor, KNN&#xff09;是一种用于分类和回归的非参数统计方法&#xff0c;是机器学习最基础的算法之一。 1.1分类问题 1.2回归问题 1.3距离的定义 2.数据处理 2.1 数据准备 2.2 数据读取与处…

isupper()方法——判断字符串是否全由大写字母组成

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 isupper()方法用于判断字符串中所有的字母是否都是大写。isupper()方法的语法格式如下&#xff1a; str.isupper() 如果字符串中包含至少…

OpenGL3.3_C++_Windows(24)

渲染平行光阴影 阴影作用&#xff1a; 有了阴影的渲染&#xff0c;更容易地区分出物体之间的位置关系&#xff0c;如何判断片段是否在阴影中&#xff1f; 普通思路&#xff1a; 以光的位置为视角进行渲染&#xff0c;我们绘制一条从光源出发的射线&#xff0c;测试更新射线经过…

数据结构-分析期末选择题考点(广义表)

莫道桑榆晚 为霞尚满天 数据结构-图期末选择题 数据结构-串、数组选择题 数据结构-排序选择题 数据结构-线性表、栈、队列、二叉树合集 契子✨ 广义表&#xff1a; <1>考点一&#xff1a;基本概念 广义表的基础概念 &#xff08;1&#xff09;什么是广义表 广义表&#…

小韩厂涨乌托邦公式源码

小韩厂涨&乌托邦&公式源码已经测试通过,可以发布云平台自行编辑 DRAWGBK(C>0, RGB(50,60,250),RGB(17,21,89),0,11,0); H1:=MAX(DYNAINFO(3),DYNAINFO(5)); L1:=MIN(DYNAINFO(3),DYNAINFO(6)); P1:=H1-L1; 阻力:=L1+P1*7/8,COLORGREEN; 支撑:=L1+P1*0.5/8,COLORRED;…

超详细的 C++中的封装继承和多态的知识总结<1.封装>

引言 小伙伴们都知道C面向对象难&#xff0c;可是大家都知道&#xff0c;这个才是C和C的真正区别的地方&#xff0c;也是C深受所有大厂喜爱的原因&#xff0c;它的原理更接近底层&#xff0c;它的逻辑更好&#xff0c;但是学习难度高&#xff0c;大家一定要坚持下来呀&#xff…