Gitbook自动发布GitHub脚本

GitBook自动发布到GitHub脚本

GitHub地址
码云地址

概述

我在使用GitBook的时候,搭配使用了GitHub Pages搭建主页。由于GitBook静态文件发布到GitHub较为繁琐,故开发了脚本来实现自动发布。

本地文件介绍

首先在本地创建了一个存放Gitbook基础文件的目录gitbook,创建了一个Java项目用来同步GitBook生成的静态文件GitHub

  • gitbook文件目录

    gitbook目录

  • java项目结构

    Java项目结构

传统发布流程

  1. 编写md文章。

  2. 使用gitbook build命令生成html静态文件,使用后会在gitbook基础文件目录下的_book文件夹生成静态文件。

  3. 复制_book文件夹下所有文件到java项目根路径下。

  4. 使用git命令将java项目新增内容同步到github。

    由于发布流程的第2、3、4步太过繁琐,故开发一个脚本,按照顺序执行2、3、4步完成自动发布的功能。

自动脚本发布

支持手动同步和定时同步,可实现gitbook文件一键gitbook build,然后发布到GitHub上。

手动同步

不需要部署服务器

  1. 跳转到手动脚本:GitbookManualScript.java

  2. 手动指定必要参数

    /**
     * gitbook本地目录
     */
    private final static String GITBOOK_PATH = "/Users/yangjunwei/gitbook";
    /**
     * github对应本地项目目录
     */
    private final static String GITHUB_PROJECT_PATH = "/Users/yangjunwei/IdeaProjects/gitbook-technology";
    /**
     * github对应remote
     */
    private final static String GITHUB_REMOTE = "origin";
    /**
     * github分支名称
     */
    private final static String GITHUB_BRANCH = "main";
    
  3. 执行main()方法

定时同步

可部署到服务器,参考安装教程

  1. 修改配置文件:application.properties中的属性值

    #gitbook本地目录
    gitbook.path=/Users/yangjunwei/gitbook
    #github项目本地路径
    github.project.path=/Users/yangjunwei/IdeaProjects/gitbook-technology
    #github的remote值
    github.remote=origin
    #github分支名称
    github.branch=main
    #定时同步gitbook的cron表达式
    auto.sync.gitbook.cron='0 0 23 * * *'
    

2.启动 Application.java

实现思路

1.使用Java执行命令gitbook build

2.Java实现复制文件夹下的所有文件,将_book文件夹下所有文件复制到Java项目根路径下。

3.使用git命令将java项目新增内容同步到github。

​ 同第一步一样,使用Java依次执行以下命令:

  • git add .
  • git commit -m {msg}
  • git push {remote} {branch}
参考链接

Java实现执行系统命令
Java实现复制文件夹下的所有文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值