vitepress项目部署到github Pages

  • 主要阐述vitepres项目部署到GitHub Pages
  • 不阐述vitepess细节技术使用,详细使用可详见vitepress中文官网
  • 包含细节踩坑,如遇GitHub部署问题,可放心食用
  • 通过Github Actions 直接推送自动更新
  • 如想保姆级别的Vitepress教程博客,可查看该博主的博客

创建vitepress项目

  • 步骤一
sh 复制代码
npm add -D vitepress
  • 步骤二

步骤二中采用vitepress命令式创建项目时,会提示是否在根路径下直接创建,建议在当前项目中./docs目录中创建

sh 复制代码
┌  Welcome to VitePress!
│
◆  Where should VitePress initialize the config?
│  ./_
└
  • UP使用vitepress命令式创建项目具体流程如下,其中项目名称DocsDemo,Theme 建议选择第二个,Vitepress官网目前用的也是这个,简洁美观,是否使用Typescript根据个人喜好
sh 复制代码
┌  Welcome to VitePress!
│
◇  Where should VitePress initialize the config?
│  ./docs
│
◇  Site title:
│  My Awesome Project
│
◇  Site description:
│  A VitePress Site
│
◇  Theme:
│  Default Theme + Customization
│
◇  Use TypeScript for config and theme files?
│  Yes
│
◇  Add VitePress npm scripts to package.json?
│  Yes
│
└  Done! Now run npm run docs:dev and start writing.

推送项目到GitHub

Github中创建项目

在Github中创建开源项目,名称与本地项目同名,步骤如下

项目类型选择 Public

本地项目推送到Github

  1. 修改config.mtsbase配置信息
ts 复制代码
base:"/DocsDemo/",
  1. 初始化本地git仓库
sh 复制代码
git init
  1. 添加.gitignore文件
sh 复制代码
node_modules
.DS_Store
dist
dist-ssr
cache
.cache
.temp
*.local
  1. 添加文件到暂存区
sh 复制代码
git add .
  1. 提交到仓库
sh 复制代码
git commit -m 'item init'
  1. 添加远程仓库到本地
sh 复制代码
git remote add origin git@github.com:GengZzz/DocsDemo.git
  1. 执行项目推送
sh 复制代码
git push -u origin master

此处分支branch一定要设置为master

自动部署

  1. GitHub设置Actions
  1. 添加deploy.yml文件
  • 官方文档中配置需要根据自己使用的包管理工具进行修改比如npmyarnbunpnpm
  • 官方文档中deploy.yml配置信息中branches: [main]改为branches: [master]
  • 修改为自己的Node版本
yml 复制代码
- name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: 18  
          cache: npm # 或 pnpm / yarn
  • 如果项目中的根目录不是./docs,此处注意修改
yml 复制代码
- name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: docs/.vitepress/dist 
  • 该段中touch docs/.vitepress/dist/.nojekyll 一定不能省略,关系到部署成功后样式是否生效
yml 复制代码
- name: Build with VitePress
        run: |
          npm run docs:build # 或 pnpm docs:build / yarn docs:build / bun run docs:build
          touch docs/.vitepress/dist/.nojekyll 

配置文件信息,UP使用的是npm可详见Vitepress官网deploy.yml信息

yml 复制代码
# 构建 VitePress 站点并将其部署到 GitHub Pages 的示例工作流程
#
name: Deploy VitePress site to Pages

on:
  # 在针对 `main` 分支的推送上运行。如果你
  # 使用 `master` 分支作为默认分支,请将其更改为 `master`
  push:
    branches: [master]

  # 允许你从 Actions 选项卡手动运行此工作流程
  # workflow_dispatch:

# 设置 GITHUB_TOKEN 的权限,以允许部署到 GitHub Pages
permissions:
  contents: read
  pages: write
  id-token: write

# 只允许同时进行一次部署,跳过正在运行和最新队列之间的运行队列
# 但是,不要取消正在进行的运行,因为我们希望允许这些生产部署完成
concurrency:
  group: pages
  cancel-in-progress: false

jobs:
  # 构建工作
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0 # 如果未启用 lastUpdated,则不需要
      # - uses: pnpm/action-setup@v2 # 如果使用 pnpm,请取消注释
      # - uses: oven-sh/setup-bun@v1 # 如果使用 Bun,请取消注释
      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: 18
          cache: npm # 或 pnpm / yarn
      - name: Setup Pages
        uses: actions/configure-pages@v4
      - name: Install dependencies
        run: npm ci # 或 pnpm install / yarn install / bun install
      - name: Build with VitePress
        run: |
          npm run docs:build # 或 pnpm docs:build / yarn docs:build / bun run docs:build
          touch docs/.vitepress/dist/.nojekyll
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: docs/.vitepress/dist

  # 部署工作
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    needs: build
    runs-on: ubuntu-latest
    name: Deploy
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4
  • GitHub中添加deploy.yml以及提交
  • 查看workflows执行状态,执行结束后会看到图标显示为绿色
  • 查看部署后的文档访问地址,点击地址便可以看到不出成功后的路由地址,访问地址便能成功看到部署成功以后的vitepress文档
相关推荐
r0ad7 天前
简单使用vitepress快速搭建一个文档网站
vitepress
游仙好梦13 天前
Vitepress 自定义主题开发教程
前端·开源·vitepress
粥里有勺糖15 天前
适用于 VitePress 的公告插件开发实记
vitepress
GDAL1 个月前
VitePress 文件路由解析:从 Markdown 到 HTML 的映射艺术
前端·html·vitepress
大宝贱2 个月前
基于ffmpeg.wasm实现的视频格式转换工具
ffmpeg·wasm·webassembly·vitepress·视频格式转换
Justin3go2 个月前
第三次重构个人博客(基于Vitepress)
前端·vue.js·vitepress
粥里有勺糖4 个月前
博客构建性能优化笔记 | 提速 3 倍
vitepress
橙红年代4 个月前
在VitePress中实现内联Vue组件
前端·vue.js·vitepress
gqkmiss5 个月前
使用 Vitepress 构建博客并部署到 github 平台
前端·前端框架·vue·github·博客·vitepress
gqkmiss5 个月前
VitePress 构建的博客如何部署到 Netlify 平台?
github·博客·vitepress·netlify