手把手搭建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




目录
相关文章
|
12天前
|
自然语言处理 JavaScript 网络协议
简单使用vitepress快速搭建一个文档网站
VitePress 是一个静态站点生成器 (SSG),类似的项目有docsify、VuePress、hexo。用 Markdown 编写的内容生成可以轻松部署到任何地方的静态 HTML 页。
27 9
|
5月前
|
JavaScript 前端开发 搜索推荐
《VitePress 简易速速上手小册》第1章:VitePress 入门(2024 最新版)
《VitePress 简易速速上手小册》第1章:VitePress 入门(2024 最新版)
315 1
|
5月前
|
JavaScript 搜索推荐 前端开发
《VitePress 简易速速上手小册》第2章:Markdown 与页面创建(2024 最新版)
《VitePress 简易速速上手小册》第2章:Markdown 与页面创建(2024 最新版)
183 0
|
11月前
|
资源调度 JavaScript 应用服务中间件
VuePress介绍及使用指南
VuePress是一个基于Vue.js的静态网站生成工具,它专注于以Markdown为中心的项目文档。VuePress具有简单易用的特性,同时提供了强大的自定义和扩展性。
167 2
VuePress介绍及使用指南
|
监控 JavaScript 前端开发
Grunt快速入门教程
Grunt入门介绍:中文主页 : http://www.gruntjs.net/ Grun是一套前端自动化构建工具,一个基于nodeJs的命令行工具 Grunt它是一个任务运行器
114 0
|
JavaScript 开发者 SEO
vuepress入门教程
vuepress入门教程
1463 0
|
缓存 资源调度 Windows
手把手搭建VuePress文档(三)
原本想用 gitbook 实现流沙团队文旦,奈何出现一堆奇奇怪怪的 bug 后,我花了一天时间写完文档,然后决定放弃它使用 VuePress。
196 0
手把手搭建VuePress文档(三)
|
资源调度 JavaScript Linux
手把手搭建VuePress文档(一)
原本想用 gitbook 实现流沙团队文旦,奈何出现一堆奇奇怪怪的 bug 后,我花了一天时间写完文档,然后决定放弃它使用 VuePress。
209 0
手把手搭建VuePress文档(一)
|
资源调度 Linux Windows
手把手搭建VuePress文档(二)
原本想用 gitbook 实现流沙团队文旦,奈何出现一堆奇奇怪怪的 bug 后,我花了一天时间写完文档,然后决定放弃它使用 VuePress。
151 0
手把手搭建VuePress文档(二)
|
移动开发 前端开发 JavaScript
使用 VuePress 搭建一个自己的知识文档
最近准备对前端知识做一个梳理,将自己的平时遇到的问题和解决方案形成一个知识文档。 本文记录了搭建 VuePress 的主要过程,同时也提供了部分自定义的配置,示例地址:http://doc.i-fanr.com
466 0