《Vite 基础知识》Vitepress 技术文档站点搭建与配置

前言

简介

VitePress 是一个静态站点生成器 (SSG),专为构建快速、以内容为中心的站点而设计。

简而言之,可构建你自己的 技术文档站点

环境要求

Node.js 18 及以上版本。我使用 v20.11.0

创建

第一步: 全局安装

npm i vitepress -g

第二步: 在项目目录下执行 安装向导

npx vitepress init

根据提示完成如下配置指导,注意代码 16 行,没有使用 Typescript

┌  Welcome to VitePress!
│
◇  Where should VitePress initialize the config?
│  ./docs
│
◇  Site title:
│  My Awesome Project
│
◇  Site description:
│  A VitePress Site
│
◇  Theme:
│  Default Theme
│
◇  Use TypeScript for config and theme files?
│  No
│
◇  Add VitePress npm scripts to package.json?
│  Yes
│
└  Done! Now run npm run docs:dev and start writing.

如图

在这里插入图片描述

此时的文档目录如下

.
├─ docs
|   ├─ .vitepress            
|   |  └─ config.mjs		 # 配置文件
|   ├─ api-examples.md       # markdown 文件 
|   ├─ markdown-examples.md	 # markdown 文件 
|   └─ index.md				 # markdown 文件 
└─ package.json	             # 插件依赖

第三步:package.json 中加上依赖插件 vitepress。如下代码第 2-4 行

注意 版本号是 1.0.0-rc.40,现在最新版 1.0.0-rc.44报错 No matching version found for perfect-debounce@^1.0.0.

{"devDependencies": {"vitepress": "1.0.0-rc.40"},"scripts": {"docs:dev": "vitepress dev docs","docs:build": "vitepress build docs","docs:preview": "vitepress preview docs"}
}

第四步: 安装依赖

npm i

第五步: 启动系统

npm run docs:dev

启动效果如下,默认地址 http://localhost:5173:

在这里插入图片描述

配置

配置文件 docs/.vitepress/config.mjc

站点配置

站点配置是全局设置。本文仅列出我常用的,想了解更多请参考 官网之站点配置。

title

站点的标题

export default defineConfig({title: "我的前端技术站点",
})

description

站点的描述,可在 HTML 中的 <meta> 标签中查看

export default defineConfig({description: "我的前端技术站点",
})

lang

站点的语言属性,默认是 en-US英文。设置为 zh-Hans 中文简体。

export default defineConfig({lang: 'zh-Hans',
})

base

部署路径,默认是 /。注意目录结构必须以 / 开头和结尾。

// 建议定义为常量,后续功能需要
const base = '/myroute/';export default defineConfig({base,
})

在这里插入图片描述

head

可在 HTML <head> 标签添加其它元素,如图标、css 文件静态资源等。

  • 官网默认将静态资源放在 public 目录 下,但需要新建目录 ./docs/public
  • 如果有设置 base 属性,则注意 head 中的静态资源路径也要加上 ,如代码7,8 行;
// 建议定义为常量,后续功能需要
const base = '/mypath/';export default defineConfig({base,head: [['link', { rel: 'icon', href: `${base}logo.png` }],['link', { rel: 'stylesheet', href: `${base}css/index.css` }],],
})

在这里插入图片描述

主题配置

此篇仅介绍 默认主题 的配置,想了解更多请参考 官网之默认主题。

导航栏

显示在页面顶部的导航栏,注意都在属性 themeConfig 下。包含:

  • logo 站点图标;
  • siteTile 站点标题;
  • nav 导航链接;
  • socialLinks 社交链接;

PS:我以前狭隘了,使用 vuepress 时,一直理解仅 nav 属性是导航栏…

在这里插入图片描述

export default defineConfig({themeConfig: {siteTitle: 'My Custom Title',   // 站点标题logo: '/logo.png',			    // 站点图标nav: [							// 导航链接{ text: 'Home', link: '/' },{ text: 'Examples', link: '/markdown-examples' }],socialLinks: [					// 社交链接{ icon: 'github', link: 'https://github.com/vuejs/vitepress' }]}
})

侧边栏

侧边栏是文档的主要导航块。可以在 themeConfig.sidebar 中配置侧边栏菜单。

  • .md文件从目录 ./docs/ 下开始;
  • 便于统一管理.md文件,可放在同一目录,例如新建目录 ./docs/guide/
  • 但首页文件 index.md 还是放在 ./docs/ 下;
  • 属性 sidebar ,基本用法是 数组类型,多侧边栏是对象类型;
export default defineConfig({themeConfig: {sidebar: [{text: 'Examples',items: [{ text: 'Markdown Examples', link: '/guide/markdown-examples' },{ text: 'Runtime API Examples', link: '/guide/api-examples' }]}],}
})

在这里插入图片描述

其它

outline.label

右侧渲染大纲标题设置,默认是 On this page ,自定义配置如下:

export default defineConfig({themeConfig: {outline: {label: '页面导航'},}
})

在这里插入图片描述

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

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

相关文章

gdb调试技巧

gdb调试教程 前言gdb的调试命令显示需要调试的代码&#xff1a;l&#xff08; list &#xff09;启动调试&#xff1a;r (run)断点&#xff1a;b&#xff08;Breakpoint&#xff09;设置断点查看断点&#xff1a;info b删除断点&#xff1a;d打开断点 / 关闭断点 逐语句进行调试…

node 之 http模块

1.什么是http模块 在网络节点中&#xff0c;负责消费资源的电脑叫做客户端&#xff1b;负责对外提供网络资源的电脑&#xff0c;叫做服务器 http模块是node.js官方提供的&#xff0c;用来创建web服务器的模块&#xff0c;通过http模块提供的http.createServer()方法&#xff0c…

数仓开发环境链接

这里写目录标题 1开发工具链接大数据组件1.1 启动hiveserver21.2配置DataGrip连接1.3测试使用 2 环境问题排查思路 1开发工具链接大数据组件 1.1 启动hiveserver2 数仓开发工具datagrip 需要用到JDBC协议链接到Hive&#xff0c;需要启动hiveserver2。 cd /opt/module/hive h…

c语言day4 运算符 表达式 三大控制结构

1&#xff1a; 2&#xff1a; 输入一个年月日 计算这是这一年的第几天 17 int year,month,day;18 printf("请输入年份 月份 日期");19 scanf("%d %d %d",&year,&month,&day);20 int feb28;21 if(year%40&&year%1…

周鸿祎首堂免费课与千万网友分享“AGI趋势”

“我讲课不割韭菜&#xff0c;宗旨是免费、分享、科普、交流。AI时代技术发展迅速&#xff0c;AI知识普及尤为重要。”2月29日&#xff0c;360公司创始人周鸿祎免费课正式开启&#xff0c;全网多平台直播了AI系列第一讲“预见AGI”&#xff0c;千万网友观看。免费课上&#xff…

BUUCTF crypto做题记录(11)新手向

一、[HDCTF2019]bbbbbbrsa 题目所给的信息我汇总到以下代码中 from base64 import b64encode as b32encode from gmpy2 import invert,gcd,iroot from Crypto.Util.number import * from binascii import a2b_hex,b2a_hex import randomflag "************************…

mysql数据库安装与使用(一)

目录 前言 一&#xff0c;安装mysql数据库 二&#xff0c;mysql数据库使用 连接mysql数据库 创建数据库 创建表格 插入数据 查询数据 更新数据 删除数据 关闭连接 使用数据库 查看所有数据库 查看数据库中的表 三&#xff0c;mysql设置 创建用户 授予权限 刷新权…

怎么制作文件类型二维码?文件二维码如何加密?

现在将文件转二维码图片后&#xff0c;分享生成二维码来扫码查看或者下载文件的方式&#xff0c;在很多的场景中都有应用。这个方法的优势在于&#xff0c;成本低而且安全性高&#xff0c;有利于用户快速获取内容的速度&#xff0c;有效提高用户体验&#xff0c;而且日常使用的…

ZABBIX修改web界面的 “支持“,“帮助”,“Integrations“。等菜单按钮,百试百灵,删除修改Help,Support菜单

♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ **ZABBIX修改web界面的 “支持”&#xff0c;“帮助”,“Integrations”。等菜单按钮&#xff0c…

基于 Transformer 的中文对联生成器

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

javaWeb学习04

AOP核心概念: 连接点: JoinPoint, 可以被AOP控制的方法 通知: Advice 指哪些重复的逻辑&#xff0c;也就是共性功能(最终体现为一个方法) 切入点: PointCut, 匹配连接点的条件&#xff0c;通知仅会在切入点方法执行时被应用 目标对象: Target, 通知所应用的对象 通知类…

模糊PID控制算法实战讲解-案例温度控制(附C语言实现)

可结合之前的文章一起理解&#xff1a; 控制算法-PID算法总结-从公式原理到参数整定解析&#xff08;附C源码&#xff09;_pid自整定算法-CSDN博客 模糊控制算法实战讲解-案例温度控制&#xff08;附C语言实现&#xff09;-CSDN博客 目录 一、模糊PID控制的原理 1.1 模糊化…

Decision Transformer

DT个人理解 emmm, 这里的Transformer 就和最近接触到的whisper一样,比起传统Transformer,自己还设计了针对特殊情况的tokens。比如whisper里对SOT,起始时间,语言种类等都指定了特殊tokens去做Decoder的输入和输出。 DT这里的作为输入的Tokens由RL里喜闻乐见的历史数据:…

Java优先级队列--堆

目录 1. 优先级队列 1.1 概念 2.优先级队列的模拟实现 2.1 堆的概念 2.2 堆的存储方式 2.3 堆的创建 2.3.1 堆向下调整 2.3.2 堆的创建 2.3.3 建堆的时间复杂度 2.4 堆的插入与删除 2.4.1 堆的插入 2.4.2 堆的删除 2.5 用堆模拟实现优先级队列 3.常用接口介绍 3…

什么是VR紧急情况模拟|消防应急虚拟展馆|VR游戏体验馆加盟

VR紧急情况模拟是利用虚拟现实&#xff08;Virtual Reality&#xff0c;简称VR&#xff09;技术来模拟各种紧急情况和应急场景的训练和演练。通过VR技术&#xff0c;用户可以身临其境地体验各种紧急情况&#xff0c;如火灾、地震、交通事故等&#xff0c;以及应对这些紧急情况的…

贪心算法(算法竞赛、蓝桥杯)--修理牛棚

1、B站视频链接&#xff1a;A27 贪心算法 P1209 [USACO1.3] 修理牛棚_哔哩哔哩_bilibili 题目链接&#xff1a;[USACO1.3] 修理牛棚 Barn Repair - 洛谷 #include <bits/stdc.h> using namespace std; const int N205; int m,s,c,ans; int a[N];//牛的位置标号 int d[N…

奇怪的需求之与图片做交互

1.起因 客户想要展示自己的地图,该地图上有各种工作数据,和工作点位,已有的地图不能满足需求.于是提出将这张图片当成大背景 2.经过 鉴于文件格式和尺寸的原因,协商后客户提出将图片做成缩放效果,同时具有点击效果,原先直接进入的主页,现在为点击图片中的某条线路进入主页面…

[LeetCode]143.重排链表

143. 重排链表 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/reorder-list/description/ 题目 示例 解题思路 寻找链表中点 链表逆序 合并链表 注意到目标链表即为将原链表的左半端和反转后的右半端合并后的结果。 这样我们的任务即可划分为三步&a…

Python中的os库

一.OS库简介 OS是Operating System的简写&#xff0c;即操作系统。 OS库是一个操作系统接口模块&#xff0c;提供一些方便使用操作系统相关功能的函数。 二.OS库常用函数 2.1文件和目录 2.1.1&#xff1a;os.getcwd() 作用&#xff1a;返回当前工作目录&#xff0c;结果是…

Python中re(正则)模块的使用

re 是 Python 标准库中的一个模块&#xff0c;用于支持正则表达式操作。通过 re 模块&#xff0c;可以使用各种正则表达式来搜索、匹配和操作字符串数据。 使用 re 模块可以帮助在处理字符串时进行高效的搜索和替换操作&#xff0c;特别适用于需要处理文本数据的情况。 # 导入…