VuePress搭建文档网站/个人博客(详细配置)主题配置

embedded/2024/9/19 22:52:55/ 标签: vue, vuepress, vue.js, 个人博客, 博客

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


蜀国曾闻子规鸟,宣城还见杜鹃花。
一叫一回肠一断,三春三月忆三巴。
——《宣城见杜鹃花》


文章目录

  • VuePress搭建博客>个人博客(详细配置)主题配置
    • 1. 博客默认主题
    • 2. 导航栏navbar
    • 3. 侧边栏sidebar
    • 4. 图标logo
      • 4.1 图片准备
      • 4.2 代码配置
      • 4.3 页面效果
      • 4.4 logoDark(黑暗主题指定logo图标)
        • 4.4.1 配置
        • 4.4.2 效果
    • 5. 首页路径home
      • 5.1 创建首页文件
      • 5.2 参数配置
      • 5.3 页面效果
    • 6. 主题黑白切换按钮colorModeSwitch
    • 7. 主题默认的黑白模式colorMode
    • 8. 项目仓库地址repo
      • 8.1 配置代码
      • 8.2 页面效果
    • 9. 编辑此页editLink
      • 9.1 代码配置
      • 9.2 页面效果
    • 10. 文档源文件仓库地址docsRepo
      • 10.1 参数配置
      • 10.2 页面效果
    • 11. 文档源文件仓库分支docsBranch
    • 12. 文档源文件存放在仓库中的目录名docsDir
    • 13. 编辑此页对应链接的生成规则editLinkPattern
      • 13.1 参数
      • 13.2 参数配置
    • 14. 最近更新时间戳lastUpdated
      • 14.1 参数配置
      • 14.2 页面效果
    • 15. 贡献者列表contributors
      • 15.1 参数配置
      • 15.2 页面效果
    • 16. 主题多语言配置locales
      • 16.1 参数配置
      • 16.2 页面效果


关于详细配置项,如站点基础配置参数、主题配置、打包工具配置、通用配置等等
可参考文章专栏链接:VuePress博客>个人博客专栏


VuePress搭建博客>个人博客(详细配置)主题配置

简单配置即可完成博客的搭建
关于简单的配置内容,可先参考:VuePress搭建博客>个人博客(简单配置、易上手)

1. 博客默认主题

关于主题的配置项均在配置文件config.js中的theme参数的内容中进行配置

不配置则会使用默认主题
在配置文件中默认的代码如下
docs/.vuepress/config.js

import { viteBundler } from '@vuepress/bundler-vite'
import { defaultTheme } from '@vuepress/theme-default'
import { defineUserConfig } from 'vuepress'export default defineUserConfig({// 打包工具配置,如果不配置该选项,则使用默认的打包工具,使用vuepress或vuepress-vite时,默认的打包工具是Vite,使用vuepress-webpack时默认的打包工具是Webpackbundler: viteBundler(),// 主题配置, 默认内容为空,此时只有一个黑色和白色主题的切换按钮theme: defaultTheme();// 站点语言配置lang: 'zh-CN',// 站点页面标题配置title: '你好, VuePress !',// 站点页面描述description: '这是我的第一个 VuePress 站点',
});

2. 导航栏navbar

由于内容较多,单独一篇,请移步链接:VuePress搭建博客>个人博客(详细配置)主题配置-导航栏配置

3. 侧边栏sidebar

4. 图标logo

logo图标,类型为null或者string,用于logo图片的URL,logo图片显示在导航栏左端
当logo的值设置为null则表示禁用logo

4.1 图片准备

准备一张图片,可以是本地图片也可以是图片的url地址链接
下面我们用本地图片来演示,此时需要在docs/.vuepress目录下创建public目录用于存放图片
如下,截图保存的一个图片
在这里插入图片描述
图片如下
在这里插入图片描述

4.2 代码配置

在主题参数theme内容中配置如下
注意:图片位置放在docs/.vuepress/public目录下时,logo的值默认当前位置就是public,故不用加前缀路径

  theme: defaultTheme({// 文件路径为docs/.vuepress/pulic/中文件,从public后面开始// logo: 'https://vuejs.org/images/logo.png'logo: './Snipaste_2024-09-13_12-10-33.png',}),

4.3 页面效果

可以查看页面的logo图标效果如下
在这里插入图片描述

4.4 logoDark(黑暗主题指定logo图标)

logoDark参数是用于设置黑暗主题界面时显示的logo图标,即只有在主题为暗色主题时显示
配置和logo参数的配置相同,在主题部分加入参数logoDark并将图片url或者本地路径赋值即可

4.4.1 配置

这次我们用官网使用的图片链接地址,vue的图标

  theme: defaultTheme({// 夜间模式时使用的logo图片logoDark: 'https://vuejs.org/images/logo.png',}),
4.4.2 效果

页面效果展示,黑暗主题时显示vue的logo
在这里插入图片描述
切换为白色主题,logo显示如下
在这里插入图片描述

5. 首页路径home

首页的路径,类型为string,默认值为/,作用是用来实现导航栏中logo的跳转以及404页面中返回页面的跳转
可以是文档文件的路径,也可以是url网址

5.1 创建首页文件

我这里使用自己创建的文档文件docs/ThemeTopic.md进行配置home对应的首页路径
ThemeTopic.md

# 欢迎进入HANSHANLIBAI博客主页+ 是否完成当天任务
+ 是否作息规律
+ 是否思考人生

该文件在项目中的位置如下
在这里插入图片描述

5.2 参数配置

在配置文件中的主题部分配置home参数

  theme: defaultTheme({// 首页路径,默认/,该参数值被用于导航栏中的logo的链接和404页面的`返回首页`链接home: '/ThemeTopic.md',}),

5.3 页面效果

页面默认主页如下
在这里插入图片描述
点击logo图标后会跳转到配置的文件界面,如下
在这里插入图片描述

6. 主题黑白切换按钮colorModeSwitch

主题的白天和夜间模式的切换按钮默认是打开的,配置参数如下

// 是否启用主题切换按钮
colorModeSwitch: true,

想要关闭该按钮,将true该位false即可
在这里插入图片描述

7. 主题默认的黑白模式colorMode

主题的颜色模式的参数为colorMode,该参数有三个可选值:auto、light、dark
默认的参数值为auto
当我们设置light或者dark时,需配合前面一个参数colorModeSwitch: false进行使用
因为当colorModeSwitch为true,此时无论我们设置colorMode为什么值,页面的黑白主题都是根据浏览器主题来显示主题

代码配置如下

    // 默认颜色配置,三种可选 auto、light、dark,默认auto// 然而好像并未生效,该选项必须配合colorModeSwitch参数为false时使用,否则不生效,盲猜该参数为ture时默认跟随浏览器主题自动调整黑白主题// colorMode: 'light',colorMode: 'dark',

8. 项目仓库地址repo

该参数对应的是项目仓库的地址链接,显示为导航栏最后一个元素,会自动识别GitHub、GitLab、Gitee等
如果没有可以随便写一个,只要前缀正确即可识别,只是如果地址是假的则点击后找不到页面而已
https://gitee.com/hanshanlibai/vuepress-demo111

这里我们使用Gitee码云仓库地址,将当前项目与仓库绑定后,点击链接会自动跳转到远程仓库
如何将本地项目上传到gitee可参考文章:通过GIT将本地项目上传到gitee

8.1 配置代码

在主题中配置如下

    // repo 项目仓库的URL,仓库链接会被显示为导航栏的最后一个元素,即GitHubrepo: 'https://gitee.com/hanshanlibai/vuepress-demo',

8.2 页面效果

在页面的导航栏最右侧有如下链接
在这里插入图片描述
点击Gitee后会跳转到绑定的远程仓库,这里只是绑定了,但没有将项目文件推上去,后续推
在这里插入图片描述

9. 编辑此页editLink

是否启用编辑此页链接的参数配置项
该参数类型为boolean,默认值为true

这里有一个小小的疑问,为什么没有配置该参数时,在页面上没有看到过这个编辑此页的链接,一度以为默认值为false
当我配置为true后,他出来了,然后我注释掉,他还是出现了,现在给他设为false他才消失,这个时候才满足官网说的默认值是true

9.1 代码配置

在主题中配置编辑此页的代码

    // editLink 默认值true 是否启用`编辑此页`的链接// editLink: true,// editLink: false,

链接长这样
在这里插入图片描述
如果你的是正常不配置的时候就有,那不用配置,如果跟我一样没配置时就没有这个链接,则需要先将参数设置为true再注释掉几颗

9.2 页面效果

在页面中显示如下
在这里插入图片描述
点击后会自动跳转到远程仓库对应的文件编辑界面(如果你的项目绑定了远程仓库地址)
在这里插入图片描述

10. 文档源文件仓库地址docsRepo

docsRepo参数表示文档源文件仓库地址的url
参数类型string,该参数用于生成编辑此页链接的跳转目标
注意:
如果不设置此项,则默认会使用repo配置的参数
但如果文档源文件不在repo配置参数的仓库内,则需要配置docsRepo

10.1 参数配置

在主题中配置docsRepo参数

    // docsRepo 文档源文件的仓库url,用于生成编辑此页的链接docsRepo: 'https://gitee.com/hanshanlibai/vuepress-demo',

这里配置了与repo参数相同的仓库,所以看不出效果,可自行尝试配置另一个仓库地址

10.2 页面效果

链接跳转
在这里插入图片描述

11. 文档源文件仓库分支docsBranch

docsBranch参数表示文档源文件所在仓库的分支,同样的是用于生成编辑此页的链接
类型为string,默认值为main
当文档源文件对应的仓库分支不是main时,需要指定该参数

    // docsBranch 默认值main 文档源文件的仓库分支// docsBranch: 'main',

12. 文档源文件存放在仓库中的目录名docsDir

docsDir参数表示文档源文件所在仓库中的目录名,同样用于生成编辑此页的链接
参数类型string,默认值为''

    // docsDir 默认值'' 文档源文件存放在仓库中的目录名,用于生成编辑此页的链接//docsDir: '',

13. 编辑此页对应链接的生成规则editLinkPattern

editLinkPattern参数表示用于生成编辑此页链接的pattern规则,用于生成编辑此页链接
当不配置该项时,会根据docsRepo的参数对应规则生成链接
当仓库没有使用常用的代码仓库托管平台如GitHub、GitLab、Gitee等,则需要配置该项

13.1 参数

editLinkPattern的值中有几个参数,如下

Pattern参数描述
:repo文档仓库URL,即docsRepo
:branch文档仓库分支,即docsBranch
:path页面源文件的路径,即docsDir拼接上页面文件的相对路径

13.2 参数配置

在主题部分配置editLinkPattern参数

    // docsRepo 文档源文件的仓库url,用于生成编辑此页的链接docsRepo: 'https://gitee.com/hanshanlibai/vuepress-demo',// docsBranch 默认值main 文档源文件的仓库分支docsBranch: 'main',// docsDir 默认值'' 文档源文件存放在仓库中的目录名,用于生成编辑此页的链接docsDir: 'docs',// editLinkPattern 编辑此页对应的链接editLinkPattern: ':repo/-/edit/:branch/:path',

生成的链接类似如下内容

https://gitee.com/hanshanlibai/vuepress-demo/-/edit/main/docs/path/to/file.md

14. 最近更新时间戳lastUpdated

lastUpdated参数表示最近更新时间戳的配置项
是否启用最近更新时间戳
类型boolean
默认值为ture
注意如果该项的值设为false则该功能被禁用,在其他地方启用也无法生效

14.1 参数配置

在主题内容中配置时间戳参数,当然,不配置默认为开启状态

    // lastUpdated 默认值true 是否启用最近更新时间戳//lastUpdated: true,

14.2 页面效果

将代码推送到远程仓库,打开页面会出现最新推送的时间戳信息
在这里插入图片描述

15. 贡献者列表contributors

contributor参数表示贡献者列表是否开启的配置项
类型为boolean,默认值true

15.1 参数配置

在主题内容中配置该项,当然,默认开启,故不用配置,如果想关闭可将值配置为false

    // contributors 默认值true 是否启用贡献者列表// contributors: true,

15.2 页面效果

和时间戳一起的
在这里插入图片描述

16. 主题多语言配置locales

此处仅做简单配置,详细配置内容颇多,请参考文章:
在主题中的多语言配置项,需要配合站点的多语言配置进行使用,没有开启站点多语言的配置则主题中的多语言配置无法生效

16.1 参数配置

先配置站点的多语言配置,然后配置主题多语言配置
站点多语言配置如下

export default defineUserConfig({locales: {// selectLanguageText: '语言选择',// 键名是该语言所属的子路径// 作为特例,默认语言可以使用 '/' 作为其路径。'/': {lang: 'en-US',text: 'English22',title: 'VuePress1',description: 'Vue-powered Static Site Generator',},'/zh/': {lang: 'zh-CN',title: 'VuePress',description: 'Vue 驱动的静态网站生成器',},},
})

主题多语言配置如下

export default defineUserConfig({locales: {// 键名是该语言所属的子路径// 作为特例,默认语言可以使用 '/' 作为其路径。'/': {lang: 'en-US',text: 'English22',title: 'VuePress1',description: 'Vue-powered Static Site Generator',},'/zh/': {lang: 'zh-CN',title: 'VuePress',description: 'Vue 驱动的静态网站生成器',},},// 主题配置, 默认内容为空,此时只有一个黑色和白色主题的切换按钮theme: defaultTheme({// 主题多语言配置locales: {'/': {// 语言选择下拉框中显示的内容selectLanguageName: 'English111',// 选中后显示的语言名称selectLanguageText: 'English222'},'/zh/': {// 语言选择下拉框中显示的内容selectLanguageName: '简体中文111',// 选中后显示的语言名称selectLanguageText: '简体中文222'},},}),
})

16.2 页面效果

可以看到页面导航栏中出现了语言,鼠标悬浮后可以看到出现英语和简体中文,这里的内容就是主题中配置的文本
在这里插入图片描述
至于中文,则需要配置对应文档结构后才能生效,现在点击是没有用的
具体如何配置中文结构文档,参考专栏中的文章



感谢阅读,祝君暴富!



http://www.ppmy.cn/embedded/113271.html

相关文章

本地内存和分布式缓存(面试)

本地缓存和分布式缓存 本地缓存:缓存组件和应用在同一进程中。但各应用都需要维护单独的缓存,无法共享缓存。 分布式缓存:缓存组件和应用分离,不在同一进程,多个应用可直接共享缓存。 本地缓存的实现 缓存一般是一种…

go多线程

1、简单使用(这个执行完成,如果进程执行比较久,这里不会等待它们结束) package mainimport "time"func main() {go func() {println("Hello, World!")}()time.Sleep(1 * time.Second) }2、wg.Add(数量)使用&…

教师薪酬管理系统的设计与实现

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,老师信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广…

无人机 PX4 飞控 | EKF2简介与使用方法

无人机 PX4 飞控 | EKF2简介与使用方法 PX4 EKF2简介EKF 的启动ecl EKF 的优缺点缺点优点 运行单个EKF实例运行多个EKF实例 PX4 EKF2简介 PX4是一个流行的开源飞控系统,广泛用于无人机和其他自动驾驶飞行器。EKF2(Extended Kalman Filter 2)…

感知器神经网络

1、原理 感知器是一种前馈人工神经网络,是人工神经网络中的一种典型结构。感知器具有分层结构,信息从输入层进入网络,逐层向前传递至输出层。根据感知器神经元变换函数、隐层数以及权值调整规则的不同,可以形成具有各种功能特点的…

Python中 BeautifulSoup和Selenium 定位元素和获取元素值的方法

在Python中,BeautifulSoup(bs4)和Selenium都是常用的库,用于解析和操作HTML文档。它们各自有不同的定位元素和获取元素值的方法。以下是详细的介绍。 BeautifulSoup(bs4) 定位元素的方法 find: 找到第一个…

mongo-connector原理及改造

mongo-connector原理及改造 这段时间因为项目的某个需求需要改造mongo-connector,改造开源产品首先要读懂别人的代码,于是总结记录一下自己的分析过程。这里假设你对Solr有一定的了解。 mongo-connctor是一款用于同步MongoDB数据到其他系统组件&#x…

Docker 无法拉取雷池 WAF 的解决方法

引言: 近日,许多用户反映在使用 Docker 命令拉取雷池 WAF 镜像时遇到了困难,主要表现为连接超时错误。本文将为大家提供解决此问题的有效方法。 问题描述: 当尝试通过 Docker 命令拉取雷池 WAF 镜像时,部分用户遇到…

Pillow:Python图像处理库详解

Pillow(之前称为PIL,Python Imaging Library)是一个开源的Python图像处理库,它提供了广泛的文件格式支持、强大的图像处理能力和易于使用的API。Pillow可以处理几乎所有类型的图像文件,并且可以进行复杂的图像操作&…

企业级即时通讯平台有哪些?探究适合企业使用的即时通讯工具

在企业中,高效沟通和团队协作对于提高效率和推进业务至关重要。为满足企业需求,出现了很多专为企业设计的即时通讯平台。这些企业级即时通讯平台提供了安全、可靠、定制化的功能,旨在提高团队之间的协作和沟通效率。本文将介绍一些常见的企业…

2-93 基于matlab的无人机FMCW(频率调制连续波)毫米波高度计雷达仿真

基于matlab的无人机FMCW(频率调制连续波)毫米波高度计雷达仿真,不考虑环境杂波和收发信号隔离泄漏。通过考虑雷达天线、波束形成、信号传播、回波接收等环节影响。建立FMCW毫米波雷达系统的数学模型,评估无人机在不同高度下的高度…

计算机网络分层结构解析:OSI与TCP/IP模型

文章目录 计算机网络分层结构解析:OSI与TCP/IP模型一、引言二、OSI七层模型1、模型介绍1.1、层次功能 2、模型特点 三、TCP/IP四层模型1、模型介绍1.1、层次功能 2、模型特点 四、总结 计算机网络分层结构解析:OSI与TCP/IP模型 一、引言 计算机网络的分…

wx小程序渗透思路

免责声明:本文仅做分享! 目录 WX小程序源代码 wx小程序目录位置: 反编译: e0e1-wx.py工具 unveilr.exe工具 查看源代码: 微信开发者工具: WX抓包 Fiddler抓包 官网下载 下载证书 操作: bp proxifier bp:(代理抓包) proxifier:(本地代理) WX小程序源代码 其实就…

jmeter

Jmeter快速入门 1.安装Jmeter Jmeter依赖于JDK,所以必须确保当前计算机上已经安装了JDK,并且配置了环境变量。 1.1.下载 可以Apache Jmeter官网下载,地址:http://jmeter.apache.org/download_jmeter.cgi 1.2.解压 因为下载的…

微信小程序如何设置左侧导航栏跟随页面滑动

一、使用 scroll-view 组件实现页面滚动 在页面的 wxml 文件中&#xff0c;将需要滚动的内容包裹在scroll - view组件内&#xff0c;例如&#xff1a; <scroll-view scroll-y"true" style"height: 800rpx;"><!-- 这里放置页面的主要内容 -->…

关于yolov5遇到空标签导致训练暂停的解决

小编在使用yolov5进行深度学习训练的时候&#xff0c;训练了好几个epochs&#xff0c;突然报了一个empty的错误导致训练程序终止&#xff0c;还好小编只是在训练刚开始遇到这种问题&#xff0c;如果训练了好多轮以后遇到此类问题&#xff0c;那前面训练花费的时间全部都浪费了&…

加密与安全_优雅存储二要素(AES-256-GCM )

文章目录 什么是二要素如何保护二要素&#xff08;姓名和身份证&#xff09;加密算法分类场景选择算法选择AES - ECB 模式 (不推荐)AES - CBC 模式 (推荐)GCM&#xff08;Galois/Counter Mode&#xff09;AES-256-GCM简介AES-256-GCM工作原理安全优势 应用场景其他模式 和 敏感…

时序约束进阶三:Create_clock与Create_Generated_Clock详解

目录 一、前言 二、生成时钟 2.1 示例设计 2.2 主时钟约束 1&#xff09;约束对象解析 2&#xff09;约束到非时钟位置 2.3 生成时钟约束 1&#xff09;无约束 2&#xff09;倍频约束 3&#xff09;生成时钟的主时钟约束不正确 4&#xff09;使能时钟控制的约束 5&…

联邦大模型Federated Large Language Model

联邦大模型Federated Large Language Model 联邦大模型Federated Large Language Model隐私保护计算的三种主要方法大模型(LLM)训练包含三个阶段联邦大模型(Federated LLM)包括三个组件(1)联邦LLM预训练(Federated LLM Pre-training)(2)联邦LLM微调(Federated LLM F…

深度学习----------------------文本预处理

目录 文本预处理读取数据集词源化词表该部分总代码该部分总代码 整合所有功能该部分总代码 文本预处理 文本预处理&#xff1a;把文本当作一个时序序列 将解析文本的常见预处理步骤。 这些步骤通常包括&#xff1a; ①将文本作为字符串加载到内存中。 ②将字符串拆分为词元&…