你好同学,我是沐爸,欢迎点赞、收藏和关注!个人知乎、公众号"沐爸空间"
基于 VitePress 框架,我在个人阿里云服务器上部署了《ES6 入门教程》的静态站点,项目访问地址:http://es6.muba888.cn/。项目代码已开源:https://gitee.com/ismuba/vitepress-es6.git,个人可以根据需要,自行下载代码和修改,用于快速部署个人博客系统或文档管理系统等。
效果预览
首页
白天效果
黑夜效果
开始之前先了解下 vitepress。
VitePress 是什么?
VitePress 是一款由 Vue.js 的作者尤雨溪主导开发的静态网站生成器,它基于 Vite 构建,专为快速、高效地构建技术文档、博客和官方网站等类型的站点而设计。以下是 VitePress 的特点和使用场景:
特点
1.快速构建与热重载:
- VitePress 利用 Vite 的原生 ES 模块导入和高效的文件系统缓存机制,实现了快速的热重载和即时的页面预览。这意味着在开发过程中,开发者可以实时看到修改效果,大大提高了开发效率。
2.Markdown 至上:
- VitePress 支持 Markdown 格式的文档编写,这是一种轻量级的标记语言,易于阅读和书写。同时,它还支持 Markdown 的语法扩展,允许在 Markdown 中嵌入 Vue 组件,从而提供更丰富的文档内容和交互效果。
3.易于上手与定制化:
- 对于熟悉 Markdown 的开发者来说,VitePress 可以迅速上手。同时,它还支持自定义主题和样式,允许开发者根据需求调整站点的外观和交互效果,满足不同的品牌风格需求。
4.丰富的功能:
- VitePress 内置了自动侧边栏生成和导航、内置搜索功能以及自定义主题和样式等功能。这些功能使得开发者可以轻松地构建出符合自身需求的文档站点,提升用户体验。
5.轻量级与高性能:
- 相比其他静态网站生成器,VitePress 更加轻量级,学习成本更低。同时,它借助 Vite 的强大性能,实现了高效的构建和部署,使得站点能够快速加载和响应。
使用场景
1.技术文档:
- 对于开源项目或企业内部项目,可以使用 VitePress 快速构建美观、响应式且易于维护的文档网站,如 API文档、开发手册等。
2.个人或团队博客:
- 开发者可以搭建个人技术博客,利用 Markdown 进行内容创作,享受近乎即时的预览和高效的构建速度。同时,通过自定义主题和样式,可以打造出个性化的博客界面。
3.官方网站:
- 企业或团队可以用 VitePress 构建内部知识库或官方网站,方便成员查阅和分享各类技术和业务文档。此外,VitePress 还支持 SEO 优化,有助于提升网站在搜索引擎中的排名。
4.在线教程:
- 教育机构或个人讲师可以使用 VitePress 制作和发布在线教程,支持代码高亮、表格、图片等丰富格式,提升阅读体验。同时,还可以嵌入 Vue 组件来展示交互效果,使教程更加生动和有趣。
接下来重点来了,怎么利用 vitepress 开发自己的静态站点呢?下面说下 ES6 入门教程网站的开发过程。
项目开发过程
1.初始化项目并安装 vitepress
npm init -y
npm add -D vitepress
2.安装向导
npx vitepress init
3.本地启动项目
npm run docs:dev
3.编写 ES6 知识的文档
主要是从《ES6 入门教程》官网获取 md 文档并移植到本地。
4.配置文件
在项目根目录下 .vitepress/config.mts
文件中进行配置网页语言、标题、描述、根目录、logo、导航栏和菜单栏等。
import { defineConfig } from 'vitepress'
export default defineConfig({
lang: 'zh-CN',
title: 'ES6',
description: '阮一峰ES6入门教程, 一本高质量、全面深入的ES6学习教程',
lastUpdated: true,
base: '/',
cleanUrls: true,
markdown: {
theme: {
dark: 'dracula-soft',
light: 'material-theme'
}
},
themeConfig: {
logo: 'https://s21.ax1x.com/2024/07/16/pkIr1Bj.jpg',
nav: [
{ text: '目录', link: '/menu/README' },
{ text: '关于项目', link: '/menu/about-project' }
],
sidebar: {
'/menu/': [
{
text: '目录',
items: [
{ text: '0.前沿', link: '/menu/README' },
{ text: '1.ECMAScript 6简介', link: '/menu/intro' },
{ text: '2.let 和 const命令', link: '/menu/let' },
{ text: '3.变量的解构赋值', link: '/menu/destructuring' },
{ text: '4.字符串的扩展', link: '/menu/string' },
{ text: '5.字符串的新增方法', link: '/menu/string-methods' },
{ text: '6.正则的扩展', link: '/menu/regex' },
{ text: '7.数值的扩展', link: '/menu/number' },
{ text: '8.函数的扩展', link: '/menu/function' },
{ text: '9.数组的扩展', link: '/menu/array' },
{ text: '10.对象的扩展', link: '/menu/object' },
{ text: '11.对象的新增方法', link: '/menu/object-methods' },
{ text: '12.运算符的扩展', link: '/menu/operator' },
{ text: '13.Symbol', link: '/menu/symbol' },
{ text: '14.Set 和 Map 数据结构', link: '/menu/set-map' },
{ text: '15.Proxy', link: '/menu/proxy' },
{ text: '16.Reflect', link: '/menu/reflect' },
{ text: '17.Promise 对象', link: '/menu/promise' },
{ text: '18.Iterator 和 for...of 循环', link: '/menu/iterator' },
{ text: '19.Generator 函数的语法', link: '/menu/generator' },
{ text: '20.Generator 函数的异步应用', link: '/menu/generator-async' },
{ text: '21.async 函数', link: '/menu/async' },
{ text: '22.Class 的基本语法', link: '/menu/class' },
{ text: '23.Class 的继承', link: '/menu/class-extends' },
{ text: '24.Module 的语法', link: '/menu/module' },
{ text: '25.Module 的加载实现', link: '/menu/module-loader' },
{ text: '26.编程风格', link: '/menu/style' },
{ text: '27.读懂规格', link: '/menu/spec' },
{ text: '28.异步遍历器', link: '/menu/async-iterator' },
{ text: '29.ArrayBuffer', link: '/menu/arraybuffer' },
{ text: '30.最新提案', link: '/menu/proposals' },
{ text: '31.Decorator', link: '/menu/decorator' },
{ text: '32.参考链接', link: '/menu/reference' }
]
},
]
},
socialLinks: [
{ icon: 'github', link: 'https://github.com/ruanyf/es6tutorial' }
]
},
head: [
['link', { rel: 'icon', href: 'https://es6.ruanyifeng.com/favicon.ico' }]
]
})
5.编写首页 index.md
首页配置用于对网站进行简要介绍和说明,提供进入其他页面的入口。
---
layout: home
title: ES6 入门教程
description: 为前端项目提供完善的监控手段
hero:
name: ECMAScript 6入门
text: 一本高质量、全面深入的 ES6 学习教程
image:
src: https://s21.ax1x.com/2024/08/02/pkXqBdK.jpg
alt: VitePress
actions:
- theme: brand
text: 快速开始
link: /menu/README
- theme: alt
text: 关于项目
link: /menu/about-project
- theme: alt
text: View on GitHub
link: https://github.com/ruanyf/es6tutorial
features:
- title: 清晰易懂
details: 以清晰、简洁的语言阐述ES6的新特性和用法,使得复杂的技术概念变得易于理解。
icon:
标签:ES6,menu,vp,一峰,doc,link,VitePress,text
From: https://blog.csdn.net/m0_37943716/article/details/140872179