不敲一行代码!助你快速搭建属于自己的官网博客!-VitePress保姆级教程

文章目录

      • 前言
      • 项目搭建
      • 首页修改
      • 项目配置

前言

我们在阅读官方文档时,经常看到一些项目的文档非常简约精美,并且布局高度相似,其实这些官网是基于vitepress搭建,例如:

Vite官方文档
在这里插入图片描述

Vue-Use
在这里插入图片描述

SnowAdmin
在这里插入图片描述

这些官网都是基于vitepress搭建,virepress给我们提供了非常多的配置,我们只需要按照配置修改即可实现上图中的效果,并且在virepress我们不需要手写代码,只需要使用Markdown即可轻松构建精美的文档网站,就像你平时写Markdown文档一样,专注于文档编写即可。

项目搭建

开始

pnpm add -D vitepress
或
npm add -D vitepress

安装向导

VitePress 附带一个命令行设置向导,可以帮助你构建一个基本项目。安装后,通过运行以下命令启动向导:

pnpm vitepress init
或
npx vitepress init

此时终端会向你提问,这个引导是项目的初始化设置,例如:项目名称、项目描述等

┌  Welcome to VitePress!
│
◇  Where should VitePress initialize the config?
│  ./docs
│
◇  Site title:
│  My Awesome Project
│
◇  Site description:
│  A VitePress Site
│
◆  Theme:
│  ● Default Theme (Out of the box, good-looking docs)
│  ○ Default Theme + Customization
│  ○ Custom Theme
└

在这里插入图片描述

回答完后项目即搭建完成,下面是项目结构

.
├─ docs
│  ├─ .vitepress
│  │  └─ config.js
│  ├─ api-examples.md
│  ├─ markdown-examples.md
│  └─ index.md
└─ package.json

先安装依赖

    pnpm i或npm i

运行pnpm run docs:dev即可预览项目
在这里插入图片描述

首页修改

vitepress中,首页配置在docs文件夹下的index.md文件
在这里插入图片描述
在这里插入图片描述

接下来我们对首页进修改,下面箭头标注的就是在index.md中对应的修改位置,修改为下面的效果:
在这里插入图片描述

    ---# https://vitepress.dev/reference/default-theme-home-pagelayout: homehero:name: "SnowAdmin"text: "清新优雅的中后台模版"tagline: 专注、免费、开源、维护、解疑image:src: /snow.svgalt: SnowAdminactions:- theme: brandtext: 开始link: /api-examples- theme: alttext: 在线预览target: _blanklink: 你的链接- theme: alttext: 在Gitee上查看target: _blanklink: 你的链接features:- icon: 📒title: 代码全注释details: Vue3,Vite5,TypeScript 和 Arco-Design,代码方法全部注释,方便理解、学习。- icon:title: 清晰的项目结构details: 采用 pnpm,结构清晰优雅,易于维护。代码规范性极高。- icon: 🎉title: 解疑问details: 加群解答探讨开发遇到的各种问题,1群:建设中。---

上面的代码直接赋值粘贴到你的index.md中即可预览效果

在上面的代码中,image为首页的图片配置,src就是图片指引位置,对应public下的静态资源文件
在这里插入图片描述

项目配置

vitepress中,基本项目配置是基于.viewpress/config.mts,例如首页的顶部导航位置、首页右侧的按钮、在阅读中的上一页、下一页、页面的footer等一系列配置,都是基于config.mts文件。

在这里插入图片描述

下面我们来对项目全局按钮进行配置
在这里插入图片描述

    import { defineConfig } from "vitepress";// .viewpress/config.mtsexport default defineConfig({title: "SnowAdmin",description: "SnowAdmin官方文档",// 项目配置themeConfig: {logo: "/snow.svg", // 项目的logo// 顶部按钮配置nav: [{ text: "指南", link: "/" },{ text: "配置", link: "/markdown-examples" },{text: "链接",// 内部配置items则该按钮是下拉,link则是跳转链接items: [{text: "在线预览",link: "http://101.126.93.137/#/login",},{text: "Gitee仓库",link: "https://gitee.com/wang_fan_w/SnowAdmin",},{text: "GitHub仓库",link: "https://github.com/WANG-Fan0912/SnowAdmin",},],},],sidebar: [{text: "Examples",items: [{ text: "Markdown Examples", link: "/markdown-examples" },{ text: "Runtime API Examples", link: "/api-examples" },],},],// 顶部最右侧github图标socialLinks: [{ icon: "github", link: "https://github.com/vuejs/vitepress" },],// 项目首页的footerfooter: {message: "基于 MIT 许可发布",copyright: "版权所有 © 2024-2029 兔子先森",},},});

上面的代码直接赋值粘贴到你的config.mts中即可预览效果
虽然我们在项目中配置了logo,但是浏览器标签页上的logo依旧没有变化,此时需要配置head
在这里插入图片描述

    export default defineConfig({title: "SnowAdmin",description: "SnowAdmin官方文档",head: [["link", { rel: "icon", href: "/snow.svg" }]], // 浏览器标签页logo// 省略其它配置......});

在这里插入图片描述

到这里,你的首页应该已经搭建的差不多了,下一篇我将会介绍页面的色彩配置,你将会看到按钮、标题渐变、主题色配置,如图:
在这里插入图片描述

另外,我也将本文档的源码开放,大家可以在上面查看具体配置,也可以直接将源码当作模板自定义修改。

仓库:VitePress-保姆级模板

感兴趣的朋友也可以支持一下其它项目,这将是对我极大的鼓励与支持。

仓库:SnowAdmin清新优雅的管理后台


参考文献:

vitepress官方文档

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

从零到一:如何用Ollama和OpenUI构建强大的AI模型库

搭建开源大模型平台的步骤与模型介绍 在这篇文章中,我将分享如何在Windows上使用Ollama和OpenUI搭建开源大模型平台的步骤,并介绍我所部署的几个模型及其擅长的领域。 目录 搭建开源大模型平台的步骤与模型介绍一、搭建平台步骤1. 安装Ollama2. 安装Ope…

VScode配置连接远程服务器configure ssh Hosts

VScode配置连接远程服务器,具体步骤 一、点击VScode左下脚这两个∟的按钮 二、点击完上面的按钮后,出现如下的下拉选项,选择“Connect to Host” 三、选择“Connect to Host”后,下拉选项会更新,选择“Configure SSH …

影刀RPA实战:java结合影刀同步采购订单数据

1.实战目标 本次实战我们用java语言结合影刀,实现从自用ERP系统同步订单到旺店通中,在工作中,有时候我们的运营数据不是直接在旺店通ERP中操作,比如我们有自己的ERP,完成一些特定的内部工作后,再把数据同步…

18937 阿克曼(Ackmann)函数

### 思路 1. **递归定义**:根据阿克曼函数的定义,使用递归来计算函数值。 2. **递归终止条件**: - 当 m 0 时,返回 n 1�� - 当 m > 0 且 n 0 时,返回 ackermann(m - 1, 1)。 - 当…

QT窗口无法激活弹出问题排查记录

问题背景 问题环境 操作系统: 银河麒麟V10SP1qt版本 : 5.12.12 碰见了一个问题应用最小化,然后激活程序窗口无法弹出 这里描述一下代码的逻辑,使用QLocalServer实现一个单例进程,具体的功能就是在已存在一个程序A进程时,再启动这个程序A,新的程序A进程会被杀死,然后激活已存…

Python 从入门到实战25(模块)

我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。 上篇文章我们讨论了类继承的相关知识。今天我们将学习一下模块的…

照片写真记录摄影作品记录网站源码

完美适应iPad,平板,手机竖屏不支持lazy,横屏可以,但建议使用平板查看效果, 有服务器直接上传解压使用,环境nginxphp, 没有服务器也没关系,可以直接使用html

模组差分包,可能是你远程升级失败的罪魁祸首!

也许我们已经习惯生活里的问题接连不断。。。但当收到客户的问题反馈,还是会心头一紧! 最近有客户反馈在乡村里频繁出现掉线的情况。 我们赶紧排查:换货、换SIM卡,发现只有去年5月22号采购的那批模块在客户环境附近会出现掉线的…

开放式蓝牙耳机哪个品牌好用?行业顶尖五款开放式耳机别错过!

开放式蓝牙耳机哪个品牌好用?行业顶尖五款开放式耳机别错过! 随着开放式耳机的流行,越来越多的用户开始青睐这种类型的耳机。尽管有些网友将开放式耳机称为“智商税”,但我相信,对于真正体验过的人来说,它…

基于Python的自然语言处理系列(14):TorchText + biGRU + Attention + Teacher Forcing

在前几篇文章中,我们探索了序列到序列(seq2seq)模型的基础,并通过使用双向GRU和上下文向量改进了模型的表现。然而,模型仍然依赖一个固定的上下文向量,这意味着它必须从整个源句中压缩信息,导致…

并发编程 - 锁(NSLock)

引言 在多线程编程中,数据一致性是一个必须解决的问题。多个线程同时访问同一片共享数据时,极易发生竞争条件(race conditions),导致数据的不一致性,甚至程序崩溃。为了解决这些问题,我们需要引…

大模型备案最难材料搞定——安全评估报告、安全评估测试题【评估测试题+备案源文件】

大模型备案,最难搞定的2个材料,安全评估报告,安全评估测试题、拦截词,这里都有了 文章目录 (一)适用主体 (二)语料安全 (三)模型安全 (四&…

Java_Se 数据变量与运算符

标识符、变量、常量、数据类型、运算符、基本数据类型的类型转换等。这些是编程中的“砖块”,是编程的基础。要想开始正式编程,还需要再学“控制语句”,控制语句就像“水泥”,可以把“砖块”粘到一起,最终形成“一座大…

2024年图纸加密防泄密软件Top10榜单 | 防止CAD图纸泄密打造坚不可摧的图纸安全

在当今数字化高速发展的时代,图纸作为重要的知识产权和商业机密,其安全问题备受关注。 一旦图纸泄露,可能给企业和个人带来巨大的损失。 为了保护图纸的安全,各种加密防泄密软件应运而生。下面为大家揭晓2024 年图纸加密防泄密软…

修复 msvcr120.dll 丢失的方法,总结几个靠谱有效的方法

1. msvcr120.dll 定义 1.1 Microsoft Visual C Redistributable Package 的一部分 msvcr120.dll 是 Microsoft Visual C 2013 Redistributable Package 的核心组件,该包为运行时环境提供了必要的库文件。它确保了使用 Visual C 2013 编译的应用程序能够在没有开发…

想在产品上扩展大储存怎么做?开源啦!

相比伙伴们都遇到过,芯片内存不够的问题:经常会有大量的照片、音频、文档等需要存储,怎么办呢? 我们知道可以外扩,要编写各种驱动,还有Flash替换,这个工程不可谓不大啊! 但&#x…

Spring中的容器接口

容器接口 首先了解一下BeanFactory和ApplicationContext这两个接口的关系。 其实在一个 SpringBoot 项目中,这个 SpringBoot 项目的启动类的返回值就是一个 ApplicationContext 接口的实现类。 然后在 IDEA 中选中这个类,按住ctrlaltU可以查看类图&…

JavaScript 安装库npm报错

今天在编写JavaScript代码时,缺少了包express。 const express require(express); const app express();app.get(/, (req, res) > {res.send(Hello, world!); });app.listen(3000, () > {console.log(Server is running on port 3000); });npm install exp…

小程序开发设计-小程序的宿主环境:组件⑦

上一篇文章导航: 小程序开发设计-小程序的宿主环境:宿主环境简介⑥-CSDN博客https://blog.csdn.net/qq_60872637/article/details/142425131?spm1001.2014.3001.5501 注:不同版本选项有所不同,并无大碍。 1.小程序中组件的分类…