vitepress一键push和发布到github部署网站脚本

news2024/11/24 13:54:27

文章目录

  • 前言
  • 一、viteress基本结构
  • 二、脚本
    • 1、push
    • 2、dev
  • 总结


前言

没啥可说的 脚本是bat文件,直接双击运行


提示:以下是本篇文章正文内容,下面案例可供参考

一、viteress基本结构

创建完你的文档,目录如下

+---bin
+---docs
|   +---.vitepress
|   |   +---cache
|   |   +---components
|   |   +---relaConf
|   |   \---theme
|   +---column
|   |   +---javascript
|   |   |   \---base
|   |   |       +---images
|   |   |       \---index.assets
|   |   +---questions
|   |   +---views
|   |   |   +---project
|   |   |   |   \---images
|   |   |   \---vite
|   |   |       +---01-初始化项目.assets
|   |   |       \---images
|   \---images

在这里插入图片描述

二、脚本

用法
你先在github创建一个仓库,名叫vitepress-notes
必须是 Public 开放的
然后用小乌龟或者直接cmd语句
git remote绑定仓库,确保自己能推送这个默认主分支
我的github主分支叫main,如果是master,则修改

1、push

放在文件夹bin里面

具体目录结构看上面图片

代码如下(示例):

@chcp 65001 >nul
@echo off
echo.
echo [信息] 推送代码到 GitHub main 分支,并构建并推送静态文件到 gh-pages 分支。
echo.

REM 切换到脚本所在盘符
%~d0

REM 切换到脚本所在目录
cd %~dp0

REM 切换到项目根目录
cd ..

REM 推送代码到 main 分支
git add .

set datetime=%date%_%time:~0,2%-%time:~3,2%-%time:~6,2%
git commit -m "Auto Commit: %datetime%"

git push origin main

echo.
echo [信息] 构建项目并推送到 GitHub gh-pages 分支。
echo.

REM 生成静态文件
npm run build

REM 进入生成的文件夹
cd docs\.vitepress\dist

REM 初始化 .git 仓库,拉取远程 gh-pages 分支
if not exist ".git" (
    git init
    git remote add origin git@github.com:gbm2001/vitepress-notes.git
)

REM 切换到 gh-pages 分支(创建本地 gh-pages 分支,如果不存在)
git checkout -B gh-pages

REM 拉取远程 gh-pages 分支的最新内容以避免冲突
git pull origin gh-pages

REM 添加并提交构建的文件
git add -A
git commit -m "deploy: %datetime%"

REM 推送到远程 gh-pages 分支
git push -f origin gh-pages

REM 返回到项目根目录
cd %~dp0

pause

2、dev

@echo off
echo.
echo [信息] 使用 Vue CLI 命令运行 Web 工程。
echo.

%~d0
cd %~dp0

cd ..
npm run dev

pause

总结

正确执行的话,应该cmd弹窗全程无任何error报红报错


main 主分支如下
在这里插入图片描述

并且 githubgh-pages 如下
在这里插入图片描述
写一个bat同时推送到主分支,打包后的dist推送到指定分支,很简单,gpt一下就好了。
以前没这个思路,我把viteress-notice拆分成2个仓库
源码push在gitee,然后把打包出来的dist传到github,每次要两次push,挺麻烦的

成功后看效果
在这里插入图片描述
在这里插入图片描述
下期搞点vitepress的扩展,例如左下角的总访问量

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

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

相关文章

java计算机毕设课设—写字板程序(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式再最下方 java计算机毕设课设—写字板程序(附源码、文章、相关截图、部署视频) 一、项目简介 本毕设旨在开发一个高效、易用的基于Java的写字板程序,通过利用Java的Swing库构建用户界面,实现基本的文本编辑功能…

Ubuntu 22.04系统启动时自动运行ROS2节点

在 Ubuntu 启动时自动运行 ROS2 节点的方法 环境:Ubuntu 系统,ROS2 Humble,使用系统自带的 启动应用程序 目标:在系统启动时自动运行指定的 ROS2 节点 效果展示 系统启动后,自动运行小乌龟节点和键盘控制节点。 实践…

直接删除Github上的文件

直接删除Github上的文件 说明:此操作只删除Github上的文件,本地仓库文件不受影响 1.确定要删除哪个分支文件,以删除main为例, 1.找到本地仓库位置以StudyNote为例,右键 bash here 2.打开命令窗口,将Github的StudyN…

个体能量的勇气层级是否容易达到?

没有勇气面对现实,没有勇气改变自我,没有勇气改变环境,没有勇气创新创造。 这是常态。 如何找寻高质量免费机器人工程资源自学提升-CSDN博客 个人能力的提升,也包括个体能量的提升。 个体能量是个人能力的一个非常重要的衡量指…

微信好友智能管理神器:微动RPA,重塑私域流量构建新纪元 批量自动添加好友

在这个信息爆炸的时代,微信作为私域流量的重要阵地,其好友管理的高效与否直接关乎着个人品牌影响力与商业价值的挖掘。然而,面对海量潜在客户,手动添加好友不仅耗时费力,更可能因频繁操作触发微信风控机制,…

(linux驱动学习 - 12). IIC 驱动实验

目录 一.IIC 总线驱动相关结构体与函数 1.i2c_adapter 结构体 2.i2c_algorithm 结构体 3.向系统注册设置好的 i2c_adapter 结构体 - i2c_add_adapter 4.向系统注册设置好的 i2c_adapter 结构体 - i2c_add_numbered_adapter 5.删除 I2C 适配器 - i2c_del_adapter 二.IIC 设…

影刀RPA实战:验证码识别功能指令

1.影刀官方验证码识别 1.1 介绍 功能:基于AI引擎提供的验证码识别服务,使用影刀内置的AI引擎来识别验证码,使用第三图鉴账号来识别验证码,选填写用户名及密码, 可识别的验证码类型: 纯数字:适…

python学习-第一个小游戏(vscode环境)

学习小甲鱼的视频,写了一个小游戏,vscode环境 运行结果 源码地址: python小游戏-猜数字源码

Visual Studio2022 Profile 工具使用

本篇研究下Visual Studio自带的性能分析工具,针对C代码,基于Visual Studio2022 文章目录 CPU使用率检测并发可视化工具使用率视图线程视图内核视图并发可视化工具SDK 参考资料 CPU使用率 对于CPU密集型程序,我们可以通过分析程序的CPU使用率…

系统架构设计师教程 第2章 2.5 计算机网络 笔记

2.5计算机网络 ★☆☆☆☆ 2.5.1网络的基本概念 1.计算机网络的发展 计算机网络发展,其大致经历了诞生、形成、互联互通和高速发展等4个阶段。 2.计算机网络的功能 1)数据通信 数据通信是依照一定的通信协议,利用数据传 输技术在两个通信结点之间传…

【Spring Boot】元注解

元注解 1.元注解1.1 Target1.2 Retention1.3 Inherited1.4 Documented1.5 interface 2.自定义注解2.1 创建自定义注解类2.2 实现业务逻辑2.3 使用自定义注解 1.元注解 元注解就是定义注解的注解,是 Java 提供的用于定义注解的基本注解。 注解 说明 Retention是注解…

linux中级(NFS服务器)

NFS:用于在NNIX/Linux主机之间进行文件共享的协议 流程:首先服务端开启RPC服务,并开启111端口,服务器端启动NFS服务,并向RPC注册端口信息,客户端启动RPC,向服务器RPC服务请求NFS端口&#xff0…

Matlab数字信号处理——基于改进小波变换的图像去噪方法(7种去噪算法)

1.基于小波变换的阈值收缩法去噪 该方法利用小波变换分离出信号中的噪声成分,并通过设置合适的阈值对小波系数进行收缩,保留主要信息的同时,去除噪声。 %基于小波变换的阈值收缩法去噪算法 clear clc Iimread(nana.png); X im2double(I); …

深入理解C语言中的静态库与动态库 —— 原理与实践

引言 在 C 语言编程中,库是预编译的代码集合,用于实现特定功能,以供其他程序使用。库可以分为静态库和动态库两种主要类型。静态库在编译阶段被链接到目标程序中,而动态库则是在运行时被加载。本文旨在深入探讨这两种库的工作原理…

渗透测试-百日筑基—SQL注入篇时间注入绕过HTTP数据编码绕过—下

day8-渗透测试sql注入篇&时间注入&绕过&HTTP数据编码绕过 一、时间注入 SQL注入时间注入(也称为延时注入)是SQL注入攻击的一种特殊形式,它属于盲注(Blind SQL Injection)的一种。在盲注中,攻击…

Android 在github网站下载项目:各种很慢怎么办?比如gradle下载慢;访问github慢;依赖下载慢

目录 访问github慢gradle下载慢依赖下载慢 前言 大家好,我是前期后期,在网上冲浪的一名程序员。 为什么要看这篇文章呢?问题是什么? 我们在Github上面看到一些好的项目的时候,想下载下来研究学习一下。但经常遇到各…

外面卖几百的Ai数字人软件 说123456生成视频 去授权版本

下载:https://pan.quark.cn/s/27a0cff98eae 可以无限制使用。

网络拓扑视角下的IP地址管理优化

前言 对IP地址进行有效管理,好处是能 提升网络运行效率,还可以保障网络安全和稳定。网络拓扑结构本身作为网络描述中各节点联系的主要角色,为IP地址管理提供了一些优化策略。 网络拓扑和IP地址管理的关系 网络拓扑结构描述了网络中各节点&a…

【Spring MVC】响应结果和设置

​ 我的主页:2的n次方_ 1. 返回静态页面 先创建一个 html 页面 ​ 如果还按照之前的方式进行返回的话,返回的并不是一个 html 页面 RequestMapping("/response") RestController public class ResponseController {RequestMapping(&quo…

线程同步(互斥锁条件变量)

线程同步 互斥锁(互斥量)条件变量生产/消费者模型 一、互斥锁 C11提供了四种互斥锁: mutex:互斥锁。timed_mutex:带超时机制的互斥锁。recursive_mutex:递归互斥锁。recursive_timed_mutex:带超时机制的递归互斥锁…