VuePress + Travis CI + Github Pages 全自动上线文档

整体思路

1.Github 创建项目,本地创建切换到 docs 分支,通过 VuePress 构建文档项目(写一些文档),上传至 Github。

2.Travis CI 自动 clone 后安装依赖、编译、上传至 Github master 分支。

3.通过 GitHub Pages 功能将 master 分支上的内容展示在 web 上。

相关资料:

  • 我的文档看下效果:https://codexu.github.io/

  • 我的文档远吗:https://github.com/codexu/codexu.github.io

  • VuePress中文文档(1.x):https://v1.vuepress.vuejs.org/zh/

  • Travis CI:https://travis-ci.org

创建项目

1.使用 VuePress 初始化项目,只说几点,文档写的十分详细。

  • 依赖安装在 devDependencies。
  • package.json script 写运行和打包脚本,“serve”: “vuepress dev docs”,“build”: “vuepress build docs”。(这里按照自己习惯,后面做持续集成要用)
  • 创建 docs 文件夹,把所有 markdown 文档存放在这里。
  • docs/.vuepress/config.js 可以做大量配置。

2.使用 Github 创建项目 [name].github.io,例如我的文档是 codexu.github.io,关联到本地。

为什么用 [name].github.io ?

因为在这个项目下,可以直接使用 https://[name].github.io/ 域名,短小精悍~

3.通过 git checkout -b docs 切换到 docs 分支,docs 分支存放文档源码,master 分支存放打包好的 HTML 等文件。

为什么使用 master 分支存放打包后的文件?

因为在 [name].github.io 项目下没得选,你也可以换个其他仓库,就可以避免这个问题。

4.写一些文档,做一下简单的配置,先别急着提交到 Github。

通过 Travis CI 做自动化打包及部署

1.在根目录下创建 .travis.yml 文件,并写入一些内容:

language: node_js
node_js:- 10
cache: yarn
install:- yarn
script:- yarn build
after_success:- cd docs/.vuepress/dist- git init- git config --global user.name "${U_NAME}"- git config --global user.email "${U_EMAIL}"- git add -A- git commit -m 'deploy'- git push --quiet --force "https://${GH_TOKEN}@${GH_REF}" master:${P_BRANCH}
  • language: 语言选择 node_js,我们前端还有的选吗?
  • node_js: node版本,这块也许是越高越快?
  • cache: yarn 缓存,能使你构建速度更快…吧。
  • install: 安装依赖的包管理工具,使用 yarn 比 npm 快的多。
  • script: 一切就绪之后通过 yarn install 安装依赖。
  • after_success: 安装结束后,我们做一些打包和 push 到 Github 的指令。
  • 环境变量 "${***}" 这块后面会提到。

2.这时候可以 push 到 Github 了,因为没有 .travis.yml Travis CI 是不会理你的项目的,同时将默认分支改为 docs。

3.Github 增加一个 Personal access tokens,位置在 Settings / Developer settings。

  • Note 随意填,填 travis-ci 就行。
  • 除了 delete_repo 权限都打勾就行。

4.进入 Travis CI,使用 Github 登陆, 进入 dashboard,此时应该可以看到你刚创建的项目。

5.启动进入这个项目,右上角 More options 点击 setting,配置环境变量。

  • GH_REF: 项目地址(github.com/[name]/[name].github.io.git)注意去掉 https://
  • GH_TOKEN: tocken 是通过上面第三部拿到的。
  • P_BRANCH: 要上传的分支,这里我们要传到 master。
  • U_EMAIL: 你的 Github 邮箱。
  • U_NAME: 你的 Github 用户名。

开启 GitHub Pages

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

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

相关文章

[UI5 常用控件] 08.Wizard,NavContainer

文章目录 前言1. Wizard1.1 基本结构1.2 属性1.2.1 Wizard:complete1.2.2 Wizard:finishButtonText1.2.3 Wizard:currentStep1.2.4 Wizard:backgroundDesign1.2.5 Wizard:enableBranching1.2.6 WizardStep:…

【网络攻防实验】【北京航空航天大学】【实验一、入侵检测系统(Intrusion Detection System, IDS)实验】

实验一、入侵检测系统实验 1、 虚拟机准备 本次实验使用1台 Kali Linux 虚拟机和1台 Windows XP 虚拟机,虚拟化平台选择 Oracle VM VirtualBox,如下图所示。 2、 Snort环境搭建 实验前,先确保Kali Linux虚拟机能够访问外网,将网络模式设置为“网络地址转换”: 2.1 安装…

【flink状态管理(三)】StateBackend的整体设计、StateBackend创建说明

文章目录 一. 状态后端概述二. StateBackend的整体设计1. 核心功能2. StateBackend的UML3. 小结 三. StateBackend的加载与初始化1. StateBackend创建概述2. StateBackend创建过程 一. 状态后端概述 StateBackend作为状态存储后端,提供了创建和获取KeyedStateBacke…

真正免费的文件恢复软件easyrecovery2024中文版

easyrecovery数据恢复软件是一款广受好评的数据恢复工具,它能够有效地帮助用户恢复各种类型的文件。无论是照片、视频、音乐还是文档,都能轻松地找回这些重要文件。操作安全、用户可自主操作的数据恢复方案,它支持从各种各样的存储介质恢复删…

CTFshow web(命令执行 41-44)

web41 <?php /* # -*- coding: utf-8 -*- # Author: 羽 # Date: 2020-09-05 20:31:22 # Last Modified by: h1xa # Last Modified time: 2020-09-05 22:40:07 # email: 1341963450qq.com # link: https://ctf.show */ if(isset($_POST[c])){ $c $_POST[c]; if(!p…

申请SSL证书怎么进行域名验证?域名验证的三种方式

SSL证书是用于加密和保护Web服务器和浏览器之间通信的数字证书&#xff0c;在申请SSL证书时&#xff0c;为了防止域名被冒用&#xff0c;对于申请SSL证书的域名&#xff0c;要求先验证这个域名的所有权。而目前可用的域名验证SSL证书方式有三种&#xff1a;分别是DNS验证、邮箱…

Kubernetes实战(二十七)-HPA实战

1 HPA简介 HPA 全称是 Horizontal Pod Autoscaler&#xff0c;用于POD 水平自动伸缩&#xff0c; HPA 可以 基于 POD CPU 利用率对 deployment 中的 pod 数量进行自动扩缩容&#xff08;除了 CPU 也可以基于自定义的指标进行自动扩缩容&#xff09;。pod 自动缩放不适用于无法…

fast table行的自动扩大

首先选择行 选择表格或其任何元素&#xff0c;并将光标置于所需行的左侧。光标的形式将变为一个黑色小箭头&#xff1a; 单击鼠标左键&#xff0c;以选择行&#xff1b; 右击鼠标&#xff0c;显示该行的右键菜单 最好的行分断 第 [ToInt32([Page])-4] 页

同步和异步、阻塞与非阻塞

一、同步和异步的概念 首先同步和异步是访问数据的机制 同步&#xff1a;同步一般指主动请求并等待IO操作完成的方式异步&#xff1a;主动请求数据后便可以继续处理其它任务&#xff0c;随后等待IO操作完毕的通知 两者的区别&#xff1a;同步会一行一行执行代码&#xff0c;而…

江科大STM32 终

目录 SPI协议10.1 SPI简介W25Q64简介10.3 SPI软件读写W25Q6410.4 SPI硬件外设读写W25Q64 BKP备份寄存器、PER电源控制器、RTC实时时钟11.0 Unix时间戳代码示例&#xff1a;读写备份寄存器BKP11.2 RTC实时时钟 十二、PWR电源控制12.1 PWR简介代码示例&#xff1a;修改主频12.3 串…

形态学算法应用之连通分量提取的python实现——图像处理

原理 连通分量提取是图像处理和计算机视觉中的一项基本任务&#xff0c;旨在识别图像中所有连通区域&#xff0c;并将它们作为独立对象处理。在二值图像中&#xff0c;连通分量通常指的是所有连接在一起的前景像素集合。这里的“连接”可以根据四连通或八连通的邻接关系来定义…

【大厂AI课学习笔记】【1.5 AI技术领域】(9)机器翻译

今天学习的是机器翻译。 关注我&#xff0c;我会将全部的脑图&#xff0c;在本内容完结的时候&#xff0c;发到资源共享中。 Machine Translation&#xff0c;属于计算机语言学的范畴&#xff0c;利用计算机程序将文字或者演说从一种语言翻译成另一种语言。 使用一种基于语言…

R语言rmarkdown使用

1、安装 install.packages(rmarkdown) library(rmarkdown) install.packages(tinytex) tinytex::install_tinytex() 2、新建R Markdown 3、基本框架 红色框内为YAML&#xff1a;包括标题、作者和日期等 黄色框内为代码块&#xff1a;执行后面的代码&#xff0c;并可以设置展…

Git详细讲解

文章目录 一、Git相关概念二、本地分支中文件的添加 、提交2.1 文件状态2.2 创建Git仓库2.2.1 git init2.2.2 git clone 2.3 添加操作(git add)2.4 提交操作&#xff08;git commit&#xff09;2.5 撤销操作2.5.1 撤销 add操作2.5.2 撤销 commit操作2.5.3 覆盖上一次的commit操…

供应链领域数据中台架构建设(上)

点击下方“JavaEdge”&#xff0c;选择“设为星标” 第一时间关注技术干货&#xff01; 关注我&#xff0c;紧跟本系列专栏文章&#xff0c;咱们下篇再续&#xff01; 作者简介&#xff1a;魔都国企技术专家兼架构&#xff0c;多家大厂后端一线研发经验&#xff0c;各大技术社区…

【linux开发工具】vim详解

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 “学如逆水行舟&#xff0…

【图形图像的C++ 实现 01/20】 2D 和 3D 贝塞尔曲线

目录 一、说明二、贝塞尔曲线特征三、模拟四、全部代码如下 一、说明 以下文章介绍了用 C 计算和绘制的贝塞尔曲线&#xff08;2D 和 3D&#xff09;。    贝塞尔曲线具有出色的数学能力来计算路径&#xff08;从起点到目的地点的曲线&#xff09;。曲线的形状由“控制点”决…

Airtest实现在手机界面快速批量采集数据

Airtest实现在手机界面快速批量采集数据 一、问题 Airtest使用的poco方法比较慢&#xff0c;寻找差不多一周&#xff0c;看完这篇文章能节省一周时间&#xff0c;希望帮到大家。 二、解决思路 使用Airtest图像识别&#xff0c;这样就会速度上提升效率。 三、解决办法 使用页…

【数据结构】堆(创建,调整,插入,删除,运用)

目录 堆的概念&#xff1a; 堆的性质&#xff1a; 堆的存储方式&#xff1a; 堆的创建 &#xff1a; 堆的调整&#xff1a; 向下调整&#xff1a; 向上调整&#xff1a; 堆的创建&#xff1a; 建堆的时间复杂度&#xff1a; 向下调整&#xff1a; 向上调整&#xff…

Nature Machine Intelligence 使用机器学习驱动的可拉伸智能纺织手套捕捉复杂的手部动作和物体交互

研究背景 对灵巧手运动的精确实时跟踪在人机交互、元宇宙、机器人和远程医疗等领域有着广泛的应用。当前的可穿戴设备中的大多数仅用于检测精度有限的特定手势&#xff0c;并且没有解决与设备的可靠性、准确性和可清洗相关的挑战。对传感器直接放置在用户的手上有严格的要求&am…