github pages 基础用法

1. URL 规则

假设你的 github 帐号为 mygithub,需要发布的仓库名为 myrepo,那么 pages 的 URL 为:

https://mygithub.github.io/myrepo

2. 添加内容

用任意编辑器写好(或者生成)标准的网页内容,push 到 myrepo 即可。和大部分 web 服务一样,pages 会到指定目录里面寻找 index.html 作为网页入口。

3. 通过选择分支激活 pages

在仓库的设置界面,选择需要作为内容发布的分支,如下图:

这里的分支选择、目录选择都是很巧妙的设计。主分支一般是放代码的,不会放 index.html 这样的网页内容。所以一个方案就是通过目录,把网页放到 docs 目录下。另外一个方案就是单独拉出一个分支来放网页内容,在这个分支下,可以把内容放到根目录。分支设计对下面要讲的通过 action 发布至关重要。

那为啥不用两个仓库?原因在于:

1. 因为你的酷毙了的开源项目已经有很多 star 了

2. 你得想两个名字

3. 增加了维护成本

通过 action 发布

这里以 vitepress 为例,你也可以选择任何工具。

在项目的根目录下创建 .github/workflows/deploy.yml

其中,.github/workflows 这两个目录的名字不能修改,deploy.yml 文件则可以为任意的名字(后缀只能为 yml)。deploy.yml 的内容如下:

name: Deployon:push:branches:- mainjobs:deploy:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v2- uses: actions/setup-node@v3with:node-version: 16cache: yarn- run: yarn install --frozen-lockfile- name: Buildrun: yarn docs:build- name: Deployuses: peaceiris/actions-gh-pages@v3with:github_token: ${{ secrets.GITHUB_TOKEN }}publish_dir: docs/.vitepress/dist

这段代码的意思为:每当 main branch 有 push 的时候,在 ubuntu 机器上,通过搭建 node 环境,执行 vitepress 打包命令,并将 dist 下面的产出提交gh-pages 分支。若没有 gh-pages 分支,则自动创建该分支。

具体操作步骤如下:

1. 先不要管仓库里面的 pages 设置,也就是先不需要去激活 pages

2. 编写好 yml 文件,并提交到主分支。(由于这里的例子为 vitepress,所以仓库的内容需要为一个 vitepress 项目)

3. 等待 action 执行完成。如果成功,会发现仓库自动增加了一个新的分支,如下图:

其内容正是一个网页。

4. 去仓库设置里面,激活 pages。注意,这时分支要选 gh-pages,而不是 main。目录为 root。

5. pages 发布的时候,会花费点时间,请耐心等待约 1-5 分钟。

6. 通过打开 https://mygithub.github.io/myrepo 检查内容是否发布成功

vitepress 注意事项

如果要发布到某个仓库下的 github pages,则 base 不能为空,且只能为仓库名。

完整示例

仓库:

GitHub - lancemao/guardui

发布后的效果:

Guard UI | Guard UI

github pages 用法详解相关推荐

  1. GitHub新手用法详解【适合新手入门-建议收藏!!!】

    目录 什么是Github,为什么使用它? 一.GitHub账号的注册与登录 二. gitbash安装详解 1.git bash的下载与安装 2.git常用命令 3. Git 和 GitHub 的绑定 ...

  2. github新手用法详解(建议收藏!!!)

    如果你是一枚Coder,但是你不知道Github,那么我觉的你就不是一个菜鸟级别的Coder,因为你压根不是真正Coder,你只是一个Code搬运工.说明你根本不善于突破自己!为什么这么说原因很简单, ...

  3. PowerShell攻防进阶篇:nishang工具用法详解

    PowerShell攻防进阶篇:nishang工具用法详解 导语:nishang,PowerShell下并肩Empire,Powersploit的神器. 开始之前,先放出个下载地址! 下载地址:htt ...

  4. jQuery 表单验证插件,jQuery Validation Engine用法详解

    jQuery 表单验证插件,jQuery Validation Engine用法详解 功能强大的 jQuery 表单验证插件,适用于日常的 E-mail.电话号码.网址等验证及 Ajax 验证,除自身 ...

  5. idea2019配置gradle详解_Constraint Layout 2.0 用法详解

    Constraint Layout 是最受欢迎的 Jetpack 库之一,它的 2.0 正式版本也发布啦 (目前最新版本 2.1.0-alpha1)!也许您已熟悉了 Constraint Layout ...

  6. android butterknife 自定义view,ButterKnife用法详解.md

    # ButterKnife用法详解 ### 如何成为T型人才,垂直在一个行业中,必须要有一整套[知识体系](https://github.com/WeiSmart/Android-Advanced-C ...

  7. ssh转发代理:ssh-agent用法详解

    SSH系列文章: SSH基础:SSH和SSH服务 SSH转发代理:ssh-agent用法详解 SSH隧道:端口转发功能详解 使用ssh-agent之前 使用ssh公钥认证的方式可以免去ssh客户端(如 ...

  8. highlight.js css,JS库之Highlight.js的用法详解

    下载到本地后,新建个页面测试 1.在head中加入css和js的引用 highlight hljs.initHighlightingOnLoad(); 2.添加对应要显示的内容 # 读取文件内容 de ...

  9. Python中第三方库Requests库的高级用法详解

    Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...

最新文章

  1. R语言使用ggplot2包使用geom_dotplot函数绘制分组点图(添加均值、中位数)实战(dot plot)
  2. mysql商品管理系统总结_Mysql管理总结
  3. linux基础 云,云计算之linux基础一
  4. Ceph BlueStore 和双写问题
  5. xavier初始化_深入解读xavier初始化(附源码)
  6. 论文笔记(Attentive Recurrent Social Recommendation)
  7. 路径问题--转发、重定向、表单、超链接
  8. es客户端工具_超越 Cookie:当今的客户端数据存储
  9. 2018年7月1日笔记
  10. python盖帽法_干货:用Python进行数据清洗,这7种方法你一定要掌握
  11. word文档太大怎么压缩到最小?
  12. nginx HTML网页乱码
  13. oracle 建表 varchar,一个完整的Oracle建表的例子
  14. excel几个数相加等于某个数_Excel如何在一串数字中找出几个之和等于某个特定值...
  15. c语言判断闰年并输出该月天数,C语言宏定义实现闰年判断并输出指定月的天数...
  16. netty做一个posp的网络_Java网络通信基础系列-Netty实现HTTP服务
  17. go 切片排序以及转为带间隔符的字符串
  18. 一文看懂为什么边缘计算是大势所趋 | GSMA 报告
  19. matlab 215卷积码,基于matlab的卷积码的分析与应用
  20. sqlserver还原.bak文件

热门文章

  1. SpringBoot+AOP实现动态切换数据源
  2. 今天,对科比来讲有个大事件!
  3. 用户即将一分钟后关闭计算机,Win10开机提示“你的电脑将在一分钟后自动重启”怎么解决...
  4. 坚果U2Pro怎么样好不好,这篇都告诉你
  5. 喜欢一个女孩是这样的么?
  6. 超超超超超详细的计网课设报告-简单电子邮件客户端的设计与实现
  7. win7-win7电脑无线网变身WiFi热点
  8. ROAP (RTCWeb Offer/Answer Protocol) 实时网页提议应答协议
  9. vue3.0 引入Ueditor(百度编辑器)
  10. 2021-11-03接雨水II