VuePress日常使用

本篇来讲解下更多关于 VuePress 的基本用法

配置首页

现在的页面太简单了,我们可以对项目首页进行配置,修改 docs/README.md (这些配置是什么后面会说):

---
home: true
heroImage: https://s3.bmp.ovh/imgs/2022/12/02/bc7428e3916c3a4c.jpg
heroText: Hero标题
tagline: Hero副标题
actionText: 快速上手→
actionLink: /README.md
features:
- title: 简洁至上details: 以Markdown为中心的项目结构,以最少的配置帮助你专注于写作。
- title: Vue驱动details: 享受Vue+ webpack 的开发体验,在Markdown中使用Vue组件,同时可以使用Vue来开发自定义主题。
- title: 高性能details: VuePress为每个页面预渲染生成静态的 HTML,同时在页面被加载的时候,将作为 SPA 运行。
footer: 粤ICP备2022067627号-1  粤公网安备 44011302003646号
---

以上内容使用 yaml 语法,读者修改的时候注意不要违反了 yaml 语法规则。

重新运行本项目,打开博客可以看到如下页面(已标注各个配置对应的内容):

​​

热更新

什么是热更新:如果我们已经运行了本项目,在我们修改文档时候,VuePress 能自动更新博客,不用重新运行也能看到修改后的博客的内容(相当于会自动编译运行,不用我们手工编译运行了)。

VuePress 本身是支持热更新的,但是有 bug……有时候会热更新失败

因此,想要做到热更新,得修改下命令,添加一个临时目录:

"docs:dev": "vuepress dev docs --temp .temp"

由于该临时目录只用于解决热更新失败的问题,我们在 .gitignore​ 也添加一条忽略的规则:

.temp

注意,我们修改了 package.json 文件,得重新运行本项目。

在后续的使用过程中,一般文档内容等会自动更新,但如果有修改什么配置文件,可能得重启;

如果还是遇到热更新失效的话,尝试重启看看。

如果你尝试添加多个文档,建议先停止运行后再重新编译。

导航栏配置

接下来我们来配置下导航栏。

新建 docs/.vuepress/config.js 配置文件,文件内容如下:

module.exports = {title: '网站标题',description: 'VuePress演示用'head: [['link', { rel: 'icon', href: 'https://s3.bmp.ovh/imgs/2023/02/15/16aa54f3ee84602e.webp' }]],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' }]},]}
}

效果如下:

​​​​​​​​

我们依次介绍下各个配置:

  • title​​:网站的标题,这会决定在浏览器标签页里显示的内容,并且在导航栏也会展示
  • description​:网站的描述,方便 SEO
  • head​​:可配置浏览器标签页的图标(icon)
  • themeConfig​:主题的配置,关于主题的内容我们后续会讲
  • themeConfig.logo​​:导航栏的 logo。一般来说,博客的标签页的图标和导航栏的图标是一样的
  • themeConfig.nav​​:导航栏的配置,其中 text 就是链接的文本,link 就是链接的地址,并且支持下拉框(当鼠标悬浮在文本上时出现)。关于链接地址,支持相对路径(当前域名 + 链接地址)和绝对路径,并且支持跳转到第三方网站等。

增加几篇博客

当前网站的内容还比较少,不能很好的展示 VuePress 的功能,因此我们来新增几篇博客吧!博客的内容可以简单写写。

我们的博客都是写在 docs 文件夹下的,我们新增两个目录:Basic 目录用于存放计算机基础的博客,Java 目录由于存放 Java 相关的博客,这样便于分类

我这里直接创建好,此时项目目录结构如下:

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

此时,对应文章的访问路径是这样的:网址 + 文件夹名字 + 文件名,例如:

  • http://localhost:8080/Basic/Basic1.html
  • http://localhost:8080/Basic/Basic2.html
  • http://localhost:8080/Java/JavaSE.html
  • http://localhost:8080/Java/JavaEE.html

如果直接访问网址 + 文件夹名字(例如 http://localhost:8080/Java),则默认访问文件夹下的 README.md

关于文章的内容:默认情况下,如果文档里有一级标题,则会用一级标题当作标签页的 Title:

# Basic1这里是计算机基础第一课!

也可用 yaml 语法来配置标题:

---
title: JavaEE
---

配置侧边栏

什么是侧边栏?简单来说就是读文章的时候,左侧的导航栏:

​​

我们还是在 config.js 里配置themeConfig.sidebar​:

module.exports = {title: '网站标题',head: [['link', { rel: 'icon', href: 'https://s3.bmp.ovh/imgs/2023/02/16/8d42caf2b4ba3334.png' }]],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: [{title: 'Basic',path: '/Basic/',collapsable: false,    //不折叠sidebarDepth: 2,children: ['/Basic/Basic1','/Basic/Basic2']},{title: 'Java',path: '/Java/',collapsable: false,sidebarDepth: 2,children: ['/Java/JavaSE','/Java/JavaEE']}]}
}

配置后的效果:

​​

注意:侧边栏默认会读取 Markdown 文档里配置的标题,如果没有则会展示文档的访问路径(如上图,不美观)。

静态资源

有时候,一些图片是经常被用到的,我们可以将其放到一个公共文件夹里,这样就可以在不同的博客里都引用到了。

我们在 .vuepress 目录下新建 public 目录,然后放一个图片,例如 amiliya.jpg。此时文件夹目录结构如下:

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

然后我们就可以在博客或配置文件里引用了。例如在 Basic1.md 里引用:

# Basic1![](/amiliya.jpg)这里是计算机基础第一课!

效果:

又或者在配置文件里访问图片:

module.exports = {themeConfig: {logo: '/re0.jpg',}
}

更多关于静态资源的说明,可参考官方文档:静态资源 | VuePress

如果遇到了困难

如果有遇到什么问题,除了在命令行里观察报错信息外,也可以在浏览器控制台里看有无报错信息

遇见了问题首先尝试自己解决他,利用你的翻译软件和搜索软件,找到问题的关键,处理它。实在不行就找人解决,例如在博客平台上提问或者咨询朋友等等。

获取源码

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

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

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

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

参考

  • 官网文档:快速上手 | VuePress,目录结构 | VuePress,静态资源 | VuePress
  • GET 新技能!自己的网站突然就不香了

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

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

相关文章

Mac可以读取NTFS吗 Mac NTFS软件哪个好 mac ntfs读写工具免费

在跨操作系统环境下使用外部存储设备时,特别是当Windows系统的U盘被连接到Mac电脑时,常常会遇到文件系统兼容性的问题。由于Mac OS原生并不完全支持对NTFS格式磁盘的读写操作,导致用户无法直接在Mac上向NTFS格式的U盘或硬盘写入数据。下面我们…

揭示隐藏的模式:秩和检验和单因素方差分析的实战指南【考题】

1.研究一种新方法对于某实验结果准确性提高的效果,并将其与原有方法进行比较,结果见下表,请评价两者是否有不同? (行无序,列有序)-->单方向有序-->两独立样本的秩和检验) 如下图所示,先将相关数据导入spss。 图…

什么是指令微调(LLM)

经过大规模数据预训练后的语言模型已经具备较强的模型能力,能够编码丰富的世界知识,但是由于预训练任务形式所限,这些模型更擅长于文本补全,并不适合直接解决具体的任务。 指令微调是相对“预训练”来讲的,预训练的时…

SpringBoot3基础用法

技术和工具「!喜新厌旧」 一、背景 最近在一个轻量级的服务中,尝试了最新的技术和工具选型; 即SpringBoot3,JDK17,IDEA2023,Navicat16,虽然新的技术和工具都更加强大和高效,但是适应采坑的过程…

企业网络安全必知的三大访问控制模型

在当今信息化社会中,信息系统的安全性成为了组织和个人关注的焦点。随着信息技术的不断发展和应用,信息系统的复杂性和规模不断扩大,系统中存储和处理的信息量也日益增长。 一、引言 在当今信息化社会中,信息系统的安全性成为了组…

【知识点篇]《计算机组成原理》之计算机系统概述

1.1 计算机发展历程 世界上第一台电子数字计算机 1946年,ENIAC(Electronic Numerical Integrator And Computer)在美国宾夕法尼亚大学研制成功。性能低,耗费巨大,但却是科学史上的一次划时代的创新,奠定了电子计算机的基础&#x…

stm32学习笔记---ADC模数转换器(理论部分)

目录 ADC简介 什么叫逐次逼近型? STM32 ADC框图 模数转换器外围线路 ADC基本结构图 输入通道 规则组的四种转换模式 第一种:单次转换非扫描模式 第二种:连续转换,非扫描模式 第三种:单次转换,扫描…

如何利用React和Python构建强大的网络爬虫应用

如何利用React和Python构建强大的网络爬虫应用 引言: 网络爬虫是一种自动化程序,用于通过互联网抓取网页数据。随着互联网的不断发展和数据的爆炸式增长,网络爬虫越来越受欢迎。本文将介绍如何利用React和Python这两种流行的技术&#xff0c…

5个大气的wordpress付费主题

Sesko赛斯科wordpress外贸主题 适合用于重型机械设备公司建外贸官方网站的橙红色wordpress外贸主题。 https://www.jianzhanpress.com/?p5886 Polar钋啦wordpress外贸主题 制造业wordpress网站模板,适合生产制造企业官方网站使用的wordpress外贸主题。 https:/…

临时文件上传系统Plik

什么是 Plik ? Plik 是一个基于 Go 语言的可扩展且用户友好的临时文件上传系统(类似于 Wetransfer)。 软件主要特点: 强大的命令行客户端易于使用的 Web 用户界面多个数据后端:文件、OpenStack Swift、S3、Google Clo…

用pycharm进行python爬虫的步骤

使用 pycharm 进行 python 爬虫的步骤:下载并安装 pycharm。创建一个新项目。安装 requests 和 beautifulsoup 库。编写爬虫脚本,包括获取页面内容、解析 html 和提取数据的代码。运行爬虫脚本。保存和处理提取到的数据。 用 PyCharm 进行 Python 爬虫的…

轻量级模型,重量级性能,TinyLlama、LiteLlama小模型火起来了

小身板,大能量。 当大家都在研究大模型(LLM)参数规模达到百亿甚至千亿级别的同时,小巧且兼具高性能的小模型开始受到研究者的关注。 小模型在边缘设备上有着广泛的应用,如智能手机、物联网设备和嵌入式系统&#xff0…

java用pdf.js在线预览pdf文件(jeecg框架)

最近在jeecg框架的后台要做一个pdf在线预览的页面功能,可是每次点预览都是下载,所以就要解决这个问题,现在解决了,记录一下,防止后面踩坑。 先放代码: 下面是点“预览”按钮的点击事件,代码放…

【Mac】iTerm for mac(终端工具)软件介绍及安装教程

软件介绍 iTerm 是 macOS 上一个非常受欢迎的终端仿真器,提供了比默认的 Terminal 应用更多的功能和定制选项。它是一款开源软件,主要用于命令行界面的操作和开发者工具。 主要特点和功能: 分页和标签: iTerm 允许用户在单个窗…

师出名门,全靠师兄师姐罩着

前言 2024年的高考刚结束,考生又到了做选择的时候了。选择大于努力,方向错了,白费劲。 耳熟能详的名校 名校意味着? 卓越的教育资源:包括顶尖的师资队伍,他们在学术研究和教学方面经验丰富、造诣深厚。同时,拥有先进的教学设施、…

英国牛津大学博士后职位—统计学

牛津大学(University of Oxford),简称“牛津”(Oxford),位于英国牛津,是一所公立研究型大学,采用传统学院制。是罗素大学集团成员,被誉为“金三角名校”、“G5超级精英大…

Leetcode刷题笔记 | 二叉树基本性质 | 一天的题量 | 5道题目 | 深度优先搜索 | 广度优先搜索 | 递归 | 遍历

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 📌本期毛毛张分享的是LeetCode关于二叉树🌲的性质的一些基础题,做这些题目的本质还是遍历二叉树🏃‍➡️的过程&#…

Windows 中的 Hosts 文件是什么?如何找到并修改它?

什么是 Hosts 文件 Hosts 文件是一个纯文本文件,存在于几乎所有的操作系统中,用于将主机名映射到 IP 地址。在域名系统(DNS)尚未普及之前,Hosts 文件是计算机网络中唯一用于主机名解析的方式。随着网络规模的扩大和 D…

show-overflow-tooltip 解决elementui el-table标签自动换行的问题

elementui中 el-table中某一行的高度不想因为宽度不够而撑开换行展示的解决方法。可通过show-overflow-tooltip属性解决&#xff0c;如下 代码是这样的 <el-table-column width"80" prop"id" label"ID"></el-table-column> <el…

wsl2收缩虚拟磁盘,减少空间占用

一、说明 由于WSL2使用的是虚拟磁盘&#xff0c;当虚拟磁盘的空间变大时&#xff0c;仅仅删除WSL2文件系统中没有用到的大文件&#xff0c;磁盘空间是无法自动收缩回收的。本文介绍了一种回收WSL2虚拟磁盘空间的方法。 二、停止WSL2 在收缩 WSL2 虚拟磁盘之前&#xff0c;需…