手把手搭建VuePress文档(四)

简介: 原本想用 gitbook 实现流沙团队文旦,奈何出现一堆奇奇怪怪的 bug 后,我花了一天时间写完文档,然后决定放弃它使用 VuePress。

3. 配置


3.1 配置文件


如果没有任何配置,你的 VuePress 站点仅有一些最基础的功能。为了更好地自定义你的网站,让我们首先在你的文档目录(docs)下创建一个 .vuepress 目录,所有 VuePress 相关的文件都将会被放在这里。你的项目结构可能是这样:

62.png

VuePress 站点必要的配置文件是 .vuepress/config.js,它应该导出一个 JavaScript 对象。如果你使用 TypeScript ,你可以将其替换为 .vuepress/config.ts ,以便让 VuePress 配置得到更好的类型提示。


如果你是 JavaScript :


63.png63.png

63.png

如果你是 TypeScript


64.png

提示

我们接下来会把这个配置对象称为 VuePress 配置.

3.2 配置作用域

你可能已经注意到了,在 VuePress 配置中有一项 themeConfig 配置项。


在 themeConfig 外部的配置项属于 站点配置 ,而在 themeConfig 内部的配置项则属于 主题配置。


3.2.1 站点配置

站点配置的意思是,无论你使用什么主题,这些配置项都可以生效。


我们知道,每一个站点都应该有它的 lang, title 和 description 等属性,因此 VuePress 内置支持了这些属性的配置。


提示: 前往 配置参考 查看所有站点配置。


这里我做一些我自己的配置。


VuePress 配置的参考文档,可以通过配置文件来设置这些配置。 VuePress 约定的配置文件为(按照优先顺序):


当前工作目录 cwd 下:

vuepress.config.ts

vuepress.config.js

源文件目录 sourceDir 下:

.vuepress/config.ts

.vuepress/config.js

你也可以通过 命令行接口 的 --config 选项来指定配置文件。


1. base

类型: string


默认值: /


详情:


如果你想让你的网站部署到一个子路径下,你将需要设置它。 它的值应当总是以斜杠开始,并以斜杠结束。


举例来说,如果你想将你的网站部署到 https://quicksandteam.github.io/aiyc/,那么 base 应该被设置成 "/aiyc/"。


base 将会作为前缀自动地插入到所有以 / 开始的其他选项的链接中,所以你只需要指定一次。


参考:


指南 > 静态资源 > Base Helper

指南 > 部署

2. lang

类型: string


默认值: en-US


详情:


站点的语言。


它将会在最终渲染出的 HTML 中作为 <html> 标签的 lang 属性。


它可以设置在不同语言的 locales 中。中文:zh-CN


参考:


配置 > locales

3. title

类型: string


默认值: ''


详情:


站点的标题。


它将会作为所有页面标题的后缀,并且在默认主题的导航栏中显示。


它可以设置在不同语言的 locales 中。


参考:


配置 > locales

4. description

类型: string


默认值: ''


详情:


站点的描述。


它将会在最终渲染出的 HTML 中作为 <meta name="description" /> 标签的 content 属性。它会被每个页面的 Frontmatter 中的 description 字段覆盖。


它可以设置在不同语言的 locales 中。


参考:


配置 > locales

Frontmatter > description

5. head

类型: HeadConfig[]


默认值: []


详情:


在最终渲染出的 HTML 的 <head> 标签内加入的额外标签。


你可以通过 [tagName, { attrName: attrValue }, innerHTML?] 的格式来添加标签。


它可以设置在不同语言的 locales 中。


示例:


增加一个自定义的 favicon :

65.png

渲染为:

66.png

虽然,后面我会放上我写的配置,但是现在我还是放一下这个 head 的多个 html 写法:

67.png

那我对应的文件夹以及图片的结构呢?

68.png

参考: https://v2.vuepress.vuejs.org/zh/guide/assets.html


参考:


配置 > locales

Frontmatter > head

6. locales

类型: { [path: string]: Partial<SiteLocaleData> }

默认值: {}

详情:


多语言支持的各个语言 locales 。


lang

title

description

head

参考:


指南 > I18n


写到 6 这个点呢,就不得不说怎么配置了。不过不是现在,是后面的站点配置。


不过写到这里,也就开始了主题的配置了。


3.2.2 主题配置

主题配置将会被 VuePress 主题来处理,所以它取决于你使用的主题是什么。


如果你没有设置 VuePress 配置的 theme 配置项,则代表使用的是默认主题。至于其他主题,等我有时间,我一定安排。如果你们着急就分享和关注公众号:AI悦创,并私信我哈。


提示: 前往 默认主题 > 配置参考 查看默认主题的配置。


1. home

类型: string

默认值: /

详情:


首页的路径。


它将被用于:


导航栏中 Logo 的链接

404 页面的 返回首页 链接


2. navbar

类型: false | (NavbarItem | NavbarGroup | string)[]

默认值: []

详情:


导航栏配置。


设置为 false 可以禁用导航栏。


为了配置导航栏元素,你可以将其设置为 导航栏数组 ,其中的每个元素是 NavbarItem 对象、 NavbarGroup 对象、或者字符串:


NavbarItem 对象应该有一个 text 字段和一个 link 字段,还有一个可选的 activeMatch 字段。

NavbarGroup 对象应该有一个 text 字段和一个 children 字段。 children 字段同样是一个 导航栏数组 。

字符串应为目标页面文件的路径。它将会被转换为 NavbarItem 对象,将页面标题作为 text ,将页面路由路径作为 link 。

写到这里的时候,我发现文档很强很全,所以我直接待会把配置好的文件内容贴出来。


接下来,我配置一下,目前需要的导航栏:


目前设想,我需要:


专栏

Github

关于团队

资源分享

技术杂谈

付费教学

数据结构与算法

Java 入门

Python 入门

Go 入门

源码分析

广告

期末不挂科


3. 站点多语言配置

要启用 VuePress 的多语言支持,首先需要使用如下的文件目录结构:

69.png

那上面是官方给的结构,我是中国人,所以呢。我就把 zh 改成 en 吧。

70.png

然后,在你的 配置文件 中设置 locales 选项:

71.png

那和上面也是一样的,我要设置一个英文站点,但是显然上面的官方提供样例的配置是不够的,还需要看这个连接的文档:

所以我也一同配置一波:

72.png

如果一个语言没有声明 lang, title, description 或者 head ,VuePress 将会尝试使用顶层配置的对应值。如果每个语言都声明了这些值,那么顶层配置中的对应值可以被省略。


提示: 配置参考: locales


但是,上面的配置我发现显示的和我时间的语言有区别。


73.png

第一个应该是中文,却上图那样显示。第二个也是:

74.png

第二个还算好一点,所以进行优化修改:75.png


待更新!
73.png




目录
相关文章
|
缓存 JavaScript
vue阻止浏览器刷新和关闭页面提示
使用场景:在使用vuex进行缓存管理时,页面的缓存会随着页面关闭而消失,如果缓存动作仍在进行中,关闭页面会导致数据丢失,此时需要阻止页面关闭
1926 3
|
JSON JavaScript 前端开发
国际化:实现Vue应用的多语言支持
【4月更文挑战第23天】本文阐述了在Vue应用中实现多语言支持的重要性及步骤。使用vue-i18n插件,结合明确的语言需求和资源管理,实现文本翻译。配置路由和语言检测以支持用户切换,动态加载语言包以优化性能。同时考虑日期和货币格式化,确保全面的国际化体验。经过测试和持续维护,打造尊重文化多样性的全球化应用。
626 0
|
自然语言处理 JavaScript 前端开发
Vue3 + Vite + TypeScript + Element-Plus:从零到一构建企业级后台管理系统(前后端开源)(1)
Vue3 + Vite + TypeScript + Element-Plus:从零到一构建企业级后台管理系统(前后端开源)(1)
|
12月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
缓存 JavaScript 前端开发
2024 前端高频面试题之 Vue 篇
2024 前端高频面试题之 Vue 篇
2144 8
|
缓存 JavaScript 前端开发
【开发规范系列】(四)前端开发规范(四)
【开发规范系列】(四)前端开发规范(四)
|
Unix Linux iOS开发
计算文件内容的SHA-256散列值
计算文件内容的SHA-256散列值
1262 7
|
数据采集 机器人 测试技术
SeleniumBase在无头模式下绕过验证码的完整指南
本文详细介绍了如何在SeleniumBase的无头模式下绕过验证码,通过使用代理IP(以爬虫代理为例)、设置User-Agent和Cookie等手段提升爬虫效率。文章首先分析了无头模式下面临的验证码挑战,然后提供了具体的策略和代码示例,包括浏览器设置、代理IP配置及模拟用户行为的方法。最后,通过一个访问大众点评网站并绕过验证码的完整代码示例,展示了如何在实际场景中应用这些技术,应对现代网站的反爬虫机制。此外,还提供了一些提高爬虫效率的实用技巧,如代理池轮换、设置合适延迟和分布式爬虫等。
1834 1
|
数据采集 JavaScript 前端开发
Vue框架的优缺点是什么
【7月更文挑战第5天】 Vue框架:组件化开发利于重用与扩展,响应式数据绑定简化状态管理;学习曲线平缓,生态系统丰富,集成便捷,且具性能优化手段。缺点包括社区规模相对小,类型支持不足(Vue 3.x改善),路由和状态管理需额外配置,SEO支持有限。随着发展,部分缺点正被克服。
641 1