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

news2024/9/19 8:26:56

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


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


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


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


文章目录

  • 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时默认的打包工具是Webpack
  bundler: viteBundler(),
  
  // 主题配置, 默认内容为空,此时只有一个黑色和白色主题的切换按钮
  theme: defaultTheme();
  
  // 站点语言配置
  lang: 'zh-CN',
  // 站点页面标题配置
  title: '你好, VuePress !',
  // 站点页面描述
  description: '这是我的第一个 VuePress 站点',
});

2. 导航栏navbar

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

3. 侧边栏sidebar

由于内容颇多,单独一篇,请移步链接:VuePress搭建文档网站/个人博客(详细配置)主题配置-侧边栏配置

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,仓库链接会被显示为导航栏的最后一个元素,即GitHub
    repo: '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.coloradmin.cn/o/2145870.html

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

相关文章

JavaEE初阶——初识EE(Java诞生背景,CPU详解)

阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能帮到你! 目录 零:Java的发展背景介绍 一:EE的概念 二:计算机的构成 1:CU…

Python面试宝典第50题:分割等和子集

题目 给你一个只包含正整数的非空数组nums,请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums [1, 5, 11, 5] 输出:True 解释:数组可以分割成[1, 5, 5]和[11]。 示…

C++之第十二课

课程列表 哎呀呀,失踪人口回归了!(前段时间跑去B站了,久等了) 今天来讲——数组 有一道题是这样的: 有n个数,请输出其中最大的数。 原来我们就要: int a,b,c... 但是——数组…

Golang开发的OCR-身份证号码识别(不依赖第三方)

身份证号码识别(golang) 使用golang的image库写的身份证号码识别,还有用了一个resize外部库,用来更改图片尺寸大小,将每个数字所在的图片的大小进行统一可以更好的进行数字识别,库名 :“github…

ARM 工业边缘计算机与 C# 编程的完美融合

在工业领域,随着智能化和数字化的不断推进,ARM 工业边缘计算机凭借其出色的性能和低功耗等优势,逐渐成为众多应用场景的重要支撑。而 C# 编程语言的强大功能和广泛适用性,使其在与 ARM 工业边缘计算机的结合中展现出了巨大的潜力。…

Python | Leetcode Python题解之第415题字符串相加

题目: 题解: class Solution:def addStrings(self, num1: str, num2: str) -> str:res ""i, j, carry len(num1) - 1, len(num2) - 1, 0while i > 0 or j > 0:n1 int(num1[i]) if i > 0 else 0n2 int(num2[j]) if j > 0 e…

C++ -命名空间-详解

博客主页:【夜泉_ly】 本文专栏:【C】 欢迎点赞👍收藏⭐关注❤️ C -命名空间-详解 1.C语言缺点之一 -- 命名冲突2.命名空间2.1定义2.2使用访问命名空间中的变量展开命名空间域指定访问命名空间域 2.3其他功能 3.C 标准库中的命名空间指定展开…

华为OD机试 - 二维伞的雨滴效应(Python/JS/C/C++ 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

徒增成本,还是有备无患?说说4G模组SIM双卡切换

初学开发的小伙伴提出疑问: 手机双卡可以理解,人情世故各种缘由…… 物联网设备有必要双卡吗,会不会太浪费? 实际应用中,双卡可不是徒增成本的摆设,而是有备无患的必需。 在使用4G模组双卡功能的场景下&a…

2024年数学建模比赛题目及解题代码

目录 一、引言 1. 1竞赛背景介绍 1.1.1数学建模竞赛概述 1.1.2生产过程决策问题在竞赛中的重要性 1.2 解题前准备 1.2.2 工具与资源准备 1.2.3 心态调整与策略规划 二、问题理解与分析 三、模型构建与求解 3.1 模型选择与设计 3.1.1 根据问题特性选择合适的数学模型类…

每日学习一个数据结构-红黑树

文章目录 什么是红黑树?示意图红黑树的特点红黑树的节点结构插入和删除操作旋转操作重新着色 红黑树的应用 树的构造过程插入新节点自平衡调整策略 示例 查询过程 什么是红黑树? 红黑树(Red-Black Tree)是一种自平衡的二叉查找树…

关于嵌入式硬件需要了解的基础知识

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于嵌入式硬件基础知识的相关内容&#xff…

TCP: Textual-based Class-aware Prompt tuning for Visual-Language Model

文章汇总 存在的问题 原文:具有图像特定知识的图像条件提示符号在提升类嵌入分布方面的能力较差。 个人理解:单纯把"a photo of {class}"这种提示模版作为输入是不利于text encoder学习的 动机 在可学习的提示和每一类的文本知识之间建立…

2024短剧系统开发,付费短剧小程序app源码教程,分销功能讲解搭建上线

短剧系统技术栈 前端:vue3uniapp 后端: php 数据库:mysql 服务器环境: centos7.6 宝塔 php7.4 MySQL5.7 一、短剧系统功能 短剧用户端: 小程序、抖音小程序、快手小程序、APP、 z付宝小程序 系统用户端详细功能&…

Java创建教程!(*  ̄3)(ε ̄ *)

Java 构造函数 Java面向对象设计 - Java构造函数 构造函数是用于在对象创建后立即初始化对象的代码块。 构造函数的结构看起来类似于一个方法。 声明构造函数 构造函数声明的一般语法是 <Modifiers> <Constructor Name>(<parameters list>) throws <…

安卓14剖析SystemUI的ShadeLogger/LogBuffer日志动态控制输出dumpsy机制

背景&#xff1a; 看SystemUI的锁屏相关代码时候发现SystemUI有一个日志打印相关的方法调用&#xff0c;相比于常规的Log.i直接可以logcat查看方式还是比较新颖。 具体日志打印代码如下&#xff1a; 下面就来介绍一下这个ShadeLogger到底是如何打印的。 分析源码&#xff1…

scanf()函数的介绍及基础用法

目录 scanf&#xff08;&#xff09;函数的介绍及基础用法 一&#xff1a;头文件 二&#xff1a;一般用法 三&#xff1a;返回值 1. 正整数的情况&#xff1a; 2. 0 的情况&#xff1a; 3. EOF的情况&#xff1a; 四&#xff1a;说明 scanf&#xff08;&#xff09;函数…

CCF202006_1

问题描述 试题编号&#xff1a;202006-1试题名称&#xff1a;线性分类器时间限制&#xff1a;1.0s内存限制&#xff1a;512.0MB问题描述&#xff1a; 题解&#xff1a; #include<bits/stdc.h>using namespace std; int n, m;struct Node {int x, y;char ch; }node[1010…

9.16日常记录

1.LRU算法 核心思想:LRU算法&#xff08;Least Recently Used&#xff09;是一种常用的缓存淘汰策略&#xff0c;它的核心思想是“如果数据最近被访问过&#xff0c;那么将来被访问的几率也更高”。LRU算法主要用于内存管理和缓存系统。当内存或缓存空间已满&#xff0c;需要腾…

【工具变量】气候适应型试点城市DID(2005-2022年)

数据来源&#xff1a;本数据来源于中国ZF网发布的《关于深化气候适应型城市建设试点的通知》 时间跨度&#xff1a;2005-2022年数据简介&#xff1a;适应型试点城市是指在应对气候变化、提高城市适应能力方面进行先行先试的城市。根据中国ZF网发布的《关于深化气候适应型城市建…