当前位置: 首页 > news >正文

使用 Vuepress + GitHub Pages 搭建项目文档

VuePress 是一个基于 Vue.js 的静态网站生成器,常用于创建文档站点或个人博客。下面将介绍如何在已有的项目中进行搭建

安装插件

在项目中使用 pnpm 管理依赖,并安装 VuePress 本身以及必需的打包器和主题插件:

# 安装 VuePress 和 Vue
pnpm add -D vuepress@next vue# 安装打包器和默认主题
pnpm add -D @vuepress/bundler-vite@next @vuepress/theme-default@next

一般使用 pnpm workspace 管理项目,通常将文档目录命名为 docs

项目结构

完整项目结构应如下

├─ docs
│  ├─ .vuepress
│  │  └─ config.js
│  └─ README.md
└─ package.json

README.md 为 页面 md 文件,可自行定义路径

核心配置文件

VuePress 的核心配置文件位于 docs/.vuepress/config.jsconfig.ts。以下是一个示例配置:

import { viteBundler } from '@vuepress/bundler-vite'
import { defaultTheme } from '@vuepress/theme-default'
import { defineUserConfig } from 'vuepress'export default defineUserConfig({bundler: viteBundler(),theme: defaultTheme({// link 为 docs 目录下的绝对路径// 假设 docs/coding 下有个 html.md 文件// /coding/html.mdnavbar: [{ text: '首页', link: '/README.md' },{		text: '分页',children: [{ text: '分页章节1', link: '/coding/html.md' }],}],sidebar: [{text: '分页',children: [{text: '分页章节1',link: '/coding/html.md',}],}]}),lang: 'zh-CN',title: '测试项目',description: '',base: '/project-name/' // project-name 建议设置为当前项目名
})

这个配置文件中包含以下常用选项:

  • bundler: viteBundler():指定使用 Vite 作为打包器。
  • theme: defaultTheme({...}):使用默认主题并自定义配置。
  • navbar:定义导航栏的内容,例如首页链接和带有子菜单的条目。
  • sidebar:定义侧边栏的结构,通常用于文档分类目录。
  • langtitledescription 等字段:设置站点的语言、标题和描述信息。
  • base:指定站点部署时的基础路径(如果文档不在根路径时需要配置)。

通过配置 navbarsidebar,我们可以自定义网站的导航结构,使用户更容易浏览文档内容。

运行和构建脚本

在项目的 package.json 中添加以下脚本命令:

{"scripts": {"docs:dev": "vuepress dev docs","docs:build": "vuepress build docs"}
}
  • docs:dev:启动本地开发服务器,实时预览文档内容。
  • docs:build:构建生成静态文件。

可以使用命令 npm run docs:dev 来启动项目,npm run docs:build 来构建最终的静态站点文件。

部署到 GitHub Pages

下面是一段用于将生成的静态文件发布到 GitHub Pages 的 deploy.sh 脚本示例:

#!/usr/bin/env sh# 确保脚本遇到错误时退出
set -epush_addr=`git remote get-url --push origin`
commit_info=`git describe --all --always --long`
dist_path=docs/.vuepress/dist
push_branch=gh-pages# 生成静态文件
npm run docs:build# 进入生成的文件夹
cd $dist_pathgit init
git add -A
git commit -m "deploy, $commit_info"
git push -f $push_addr HEAD:$push_branchcd -
rm -rf $dist_path

此脚本的主要步骤包括:

  • 使用 npm run docs:build 生成静态文件到 docs/.vuepress/dist
  • 初始化一个新的临时 Git 仓库,将生成的文件提交并强制推送到远程的 gh-pages 分支。
  • 删除本地生成目录的副本。

package.json 中添加以下脚本命令以便执行部署:

{"scripts": {"deploy": "bash deploy.sh" // git bash 中使用"docs:build": "vuepress build docs"}
}

运行 npm run deploy 后,就会将文档部署到远程仓库的 gh-pages 分支。最后,在 GitHub 项目仓库的 Settings > Pages 中,将 Pages 的 Source 分支设置为 gh-pages,即可成功实现基于 VuePress 的文档站点的搭建

📚 结语

通过 VuePress,我们可以在项目中轻松集成说明文档、技术笔记或产品手册,并可一键部署至 GitHub Pages,方便他人访问与协作,免去繁琐的前后端搭建过程。

这种方式不仅有助于提升用户上手效率、降低学习成本,也能显著增强产品的专业性与文档质量。如果你也有类似需求,非常推荐尝试 VuePress 这个轻量、灵活、易上手的文档解决方案。

👉 官方 GitHub 地址:VuePress 仓库


如果你觉得这篇文章对你有帮助,欢迎点赞、收藏或留言交流 😊

http://www.xdnf.cn/news/1238041.html

相关文章:

  • 【Bluetooth】【Transport层篇】第四章 基于基础UART的蓝牙硬件发送协议 UART H4 Transport详解
  • Docker 国内可用镜像
  • 关于 xrdp远程桌面报错“Error connecting to sesman on 127.0.0.1:3350“的解决方法
  • [自动化Adapt] 录制引擎
  • 计算机视觉CS231n学习(2)
  • 第六章第三节 TIM 输出比较
  • Java 大视界 -- Java 大数据在智能教育学习资源个性化推荐与学习路径动态调整中的深度应用(378)
  • ARPO:让LLM智能体更高效探索
  • 三角洲行动ACE反作弊VT-d报错?CPU虚拟化如何开启!
  • 嵌入式学习-(李宏毅)机器学习(5)-day32
  • 苍穹外卖项目学习——day1(项目概述、环境搭建)
  • 音视频学习(五十):音频无损压缩
  • 力扣-437.路径总和III
  • 深度学习中的模型知识蒸馏
  • 关于Web前端安全之XSS攻击防御增强方法
  • 广东省省考备考(第六十五天8.3)——判断推理:图形推理(数量规律题目总结)
  • C的运算符与表达式
  • C的数据类型与变量
  • lumerical——锥形波导偏振转换
  • 《前端无障碍设计的深层逻辑与实践路径》
  • JavaWeb学习------SpringCloud入门
  • Web 开发 11
  • JavaScript:编程世界中的“语盲”现象
  • CCF-GESP 等级考试 2025年6月认证C++一级真题解析
  • 推荐系统学习笔记(九)曝光过滤 Bloom Filter
  • 从传热学基础到有限元弱形式推导:拆解热传导问题Matlab有限元离散核心
  • Jupyter Notebook 中高效处理和实时展示来自 OpenCV 和 Pillow 的图像数据探究
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | TodoList(代办事项组件)
  • Android 之 MVC架构
  • JVM学习日记(十五)Day15——性能监控与调优(二)