Vitepress(一):基础教程

news/2024/11/23 13:15:28/

什么是Vitepress

Vitepress是使用Vue3+Vite来快速搭建一个个人网站的工具,网站搭建者不需要掌握Vue3,Vite等的具体内容,只需要简单的配置就可以生成Vue风格的个人网站

官方地址:https://vitejs.cn/vitepress/

本教程希望教会大家快速搭建一个基于Vitepress的个人博客,并且实现git page的自动部署,项目的预览地址如下:

个人博客:https://aiai0603.github.io

快速开始

首先安装vitepress的依赖,没前端基础的请先安装node和yarn

yarn init
# 然后全部敲回车就行了
yarn add --dev vitepress

进入package.json文件夹,将如下的内容写入在"devDependencies"的下方

"scripts": {"docs:dev": "vitepress dev docs","docs:build": "vitepress build docs","docs:serve": "vitepress serve docs"
}

输入

yarn docs:dev

启动项目,可以看到项目已经运行起来了
在这里插入图片描述

配置网站

在目录下新建docs文件夹,在其中新建.vitepress文件夹和config.js文件,config.js文件就是我们的配置文件,新建一个index.html作为我们的主页,在新建一个public文件夹用于静态资源的引用,目录结构如下:

├─ docs
│  ├─ .vitepress
│  │  └─ config.js
│  ├─ public 
│  └─ index.md
└─ package.json

在config.js中可以开始我们的配置,先写上如下内容,这是网站的标题和描述,标题会在浏览器标签上展示

module.exports = {title: "blog",description: "Front end project and tips sharing",
}

之后配置我们的顶部,属性分别如下:

themeConfig: {siteTitle: "摸鱼老萌新",  //左上角的logo: "/logo.jpg",      //左上角的logo,注意:它的路径是从public文件夹开始的,所以这里引用的是public/logo.jpg这张图nav: [                  //右上角的导航栏{text: "前端",             //导航标签的名字items: [                  //这种格式是有下拉菜单的版本{ text: "基础", link: "/articles/basic/index" },      //text代表每一项的名字,link是连接的位置{ text: "Vue", link: "/articles/vue/index" },{ text: "React", link: "/articles/react/index" },{ text: "小程序", link: "/articles/mini/index" },{ text: "Electron", link: "/articles/electron/index" },{ text: "Web3D", link: "/articles/web3d/index" },{ text: "其他", link: "/articles/other/vitepress/index" },],},{ text: "算法", link: "/leetcode/LEET_CODE题解/47. 全排列 II" },   //这种是没有下拉菜单的版本{ text: "项目", link: "/intent/" },],  socialLinks: [{ icon: "github", link: "https://github.com/aiai0603" }],       //右上角的社交标签,支持多种icon,具体可以查询官网,反正没有QQ和微信,放个git差不多意思意思就行了
},

配置完毕以后保存启动,可以看到效果是这样的:

在这里插入图片描述

此时我们已经创建了连接但是还没有把具体连接对应的内容创建好,下面来提一下路径和对应文件夹的关系:

Vitepress的根目录是从docs开始算的,比如你在docs下创建一个articles文件夹,那么它的路径就是/articles,再在里面创建一个other文件夹,那么路径就是/articles/other,然后你在other下面创建一个index.md,此时它的路径就是/articles/other/index(注意没有md),所以如果我们想让我们的导航栏链接到 /articles/other/vitepress/index 这个位置的文件,我们的文件结构是这样的:

├─ docs
│  ├─ articles
│  │  ├─ other
│  │  │  ├─ vitepress
│  │  │  │  ├─ index.html

在index.md里写点东西我们就可以看到效果了,请注意,所有链接的地址必须指向一个md文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZFu7EEnq-1673077967178)(/image-20221104172050148.png)]

侧边栏的配置和顶部导航差不多,唯一的区别的,你可以用key:value的方式为指定路径配置侧边栏,如下配置,可以看到 “/articles/other” 下的所有的内容所在的页面都有侧边栏

themeConfig: {//...省略前面的内容//侧边栏sidebar: {"/articles/other": [{text: "vitepress",    //标签名字collapsible: true,    //是不是可以动态展开collapsed: true,      //默认是不是展开items: [              //孩子{text: "index",        //标签名字link: "/articles/other/vitepress/index",         //链接},],},],
}

这个是预览效果:

在这里插入图片描述

至此你已经有了一个炫酷的网站

首页的优化

vitepress支持用户使用yaml配置页面的内容,在docs/index.html写下如下内容,更多配置请查看

官网 https://vitepress.docschina.org/guide/frontmatter.html

这里偷一张别人的说明帮助大家理解:

---
title: 摸鱼老萌新的博客
layout: home
hero:name: 摸鱼老萌新的博客text: 失业前端一枚tagline: 懒癌晚期,学习并分享各类前端的项目和知识image:src: /logo.jpgalt: logoactions:- theme: brandtext: 开始学习 →link: /articles/basic/index- theme: alttext: 获取项目link: /intent/indexfeatures:- icon: ⚡️title: 知识点分享details: 前端八股,踩坑小贴士- icon: 🖖title: 算法分享details: 用JS攻克leetode题库- icon: 🛠️title: 项目分享details: 开源简单的前端技术DEMO
---

请添加图片描述

至此我们已经有了一个有首页有内容有导航的网站了

现在他运行在本地,我可以自己查看它,但是我怎么样让更多人看到我的博客呢?别急,下面的教程中我将会带你部署项目到github pages上


http://www.ppmy.cn/news/10188.html

相关文章

php宝塔搭建部署实战响应式儿童益智玩具网站模板源码

大家好啊,我是测评君,欢迎来到web测评。 本期给大家带来一套php开发的响应式儿童益智玩具网站模板源码,感兴趣的朋友可以自行下载学习。 技术架构 PHP7.2 nginx mysql5.7 JS CSS HTMLcnetos7以上 宝塔面板 文字搭建教程 下载源码&am…

Vue3新特性

文章目录一 新特性之组合API1.1 ref&reactive1.2 methods1.3 props和context1.4 完整代码&效果演示二 Vue3新特性之生命周期函数(在setup中)三 父子级组件间数据传递3.1 Provide&Inject四 Fragment(碎片)一 新特性之组合API 1.1 ref&re…

(重要)实数域上一切范数等价的证明

证明:实数域上一切范数等价编辑切换为居中添加图片注释,不超过 140 字(可选)首先需要明确范数等价的条件,这里的条件等价于夹逼,就是A小于等于B,B小于等于A,那么A肯定等于B。利用这个…

SQL 注入学习路线

学习路线(大致) HTML > SQL > Python > SQL 注入(使用 sqli-labs 靶场来学习 SQL 注入) HTML 视频 【前端开发入门教程,web前端零基础html5 css3前端项目视频教程】 要求 使用该视频进行 HTML 基础部分…

Js逆向教程24-作用域和自执行函数

作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 Js逆向教程24-作用域和自执行函数 一、变量作用域 1.1局部变量 function jb() {var a"我是局部变量"return a; }1.2全局变…

[HTML] HTML基础知识

1.HTML简介 HTML指的是超文本标记语言(HyperText Markup Language)&#xff0c;是一种用于创建网页的标准标记语言 HTML页面基本结构 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X…

java基础进阶-day31(集合)

集合泛型泛型概述Set集合Set集合概述和特点【应用】Set集合的应用【应用】TreeSet集合TreeSet集合概述和特点TreeSet集合基本使用自然排序Comparable的使用比较器排序Comparator的使用两种比较方式总结数据结构二叉树二叉查找树平衡二叉树红黑树泛型 泛型概述 泛型的介绍 泛型…

Go语言设计与实现 -- 内存管理器

不同的编程语言选择不同的方式管理内存&#xff0c;本节会介绍Go语言内存分配器。 Go内存分配的设计思想是&#xff1a; 内存分配算法采用Google的TCMalloc算法&#xff0c;每个线程都会自行维护一个独立的内存池&#xff0c;进行内存分配时优先从该内存池中分配&#xff0c;…