github pages 用法详解

2023-05-16

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: Deploy

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v3
        with:
          node-version: 16
          cache: yarn
      - run: yarn install --frozen-lockfile

      - name: Build
        run: yarn docs:build

      - name: Deploy
        uses: peaceiris/actions-gh-pages@v3
        with:
          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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

github pages 用法详解 的相关文章

  • 博客转移

    最近好久不来CSDN了 xff0c 自己搭建了一个博客 欢迎各位去新博客留言 http www l0g1n cn 以前学习汇编的博客 http www asmedu net blog user usermain jsp neighborId
  • 《Windows程序设计》之BLOKOUT1

    LRESULT CALLBACK WndProc HWND hwnd UINT message WPARAM wParam LPARAM lParam static BOOL fBlocking fValidBox static POINT
  • MySQL(mariadb)

    MySQL历史 1979年 xff1a TcX公司 Monty Widenius xff0c Unireg1996年 xff1a 发布MySQL1 0 xff0c Solaris版本 xff0c Linux版本1999年 xff1a MyS
  • 天猫抢红包小工具源码

    时间很仓促 xff0c 写的很乱 xff0c 也就能用明天一天了 主要还是学习这个过程 include lt Windows h gt include lt stdio h gt include lt iostream gt include
  • vs2010开发qt程序debug正常,release出错

    在debug模式下 xff0c 配置的动态链接库是qtmaind lib QtGuid4 lib QtCored4 lib 这些链接库 xff0c 在release模式下是不适用的 xff0c 进入到qt的目录下 xff0c 发现了有一些不
  • cout与wcout

    一直以来只知道有cout用来输出 xff0c 今天用cout输出wchar时出现问题了 xff0c 输出结果是一段地址 xff0c 才发现了wcout的存在 使用wcout输出中文时 xff0c 又出现问题 xff0c 中文输出不了 xff
  • 主引导记录(MBR)信息分析与获取

    前段时间在安装黑苹果时 xff0c 发现一个问题 xff0c 电脑在启动时 xff0c 会找激活分区 xff0c 如果没有找到 xff0c 那就启动不起来 那能否写个小程序读取一下MBR信息 xff0c 把激活分区换成其它 xff0c 搞点
  • Duilib登录窗口

    先上效果图 xff08 自己感觉还不错 xff09 xff1a 功能不完善 xff0c 一是为了熟悉xml的写法 xff0c 手写 xff0c 不建议使用编辑器 xff0c 二了为了理顺程序的流程 xff0c 加入了部分注释 xml文件 l
  • Gitee Pages Pro + Hexo自定义域名

    前景摘要 xff1a 最近 xff0c 本菜鸡打算把hexo的博客站点搬到gitee xff0c 毕竟gitee pages pro有一个月的免费自定义域名的机会 xff01 xff01 其实最主要的原因还是coding pages的延迟有
  • 人脸识别流程

    一 人脸识别技术流程 xff1a 1 人脸图像采集及检测 在人脸检测算法中 xff0c 有模板匹配模型 Adaboost模型等 xff0c 其中Adaboost模型在速度和精度的综合性能上表现最好 该算法特点就是训练慢 xff0c 检测快
  • Ubuntu 18.04 系统自带浏览器闪出问题解决

    首先解释一下闪的是什么 xff1f 他是gnome 网络管理器自带的网络链接检查 xff0c 我们会经常遇到它闪以下然后就退出的问题 xff0c 这可能与我们修改主题有关 xff0c 有时还偶尔会看到这个系统自带浏览器没有闪退 xff0c
  • HTML5中 audio标签的样式修改

    由于html5的流行 xff0c 现在移动端大多数的需求都可以使用audio来播放音频 xff0c 但您可能只是需要很简单的播放 停止效果 xff0c 但不同的浏览器上的audio样式却不尽人意 xff0c 那么要怎么改变这个样式呢 xff
  • VC获取当前电脑所有网络连接名字

    最近因为项目有需要获取本机的所有存在的网络连接名称 在网上也找了资料 有好几种方法 不过就只有一种是能够达到我想要的要求 写下来给大家参考下 第一种方法 遍历注册表来获取 void fastcall MyGetLanAdapterName
  • 【Android Jetpack系列】一、ViewBinding的使用

    关于本系列的说明 作为学习Jetpack的系列文章 可能会更新得很慢 本系列文或者应该称之为学习笔记 观看本文的同学 应该已经有具备开发简单Android App的能力了 若是零基础 那么阅读本文可能有些难懂 我只能尽量简单解释 本文所用开
  • Maven中pom配置(springmvc)

    Maven 生成目录结构 在需要创建目录的位置 xff0c 命令行创建 web 目录结构 mvn archetype generate DgroupId 61 xxx1 DartifactId 61 xxx2 DarchetypeArtif
  • 使用eclipse 4.3 经常出现卡死、无响应情况的解决方法

    最近在使用 eclipse 4 3 开发的时候 xff0c 经常出现卡死 无响应 情况 在网上搜索了一下之后发现 xff0c 发现网上还是有解决方法的 于是以记之 xff01 一 首先 xff0c 我们修改下eclipse的内存配置文件 l
  • Android学习之 移动应用<App>微信支付集成小结

    微信支付现在主要集成在 xff1a 1 移动应用开发 2 网站应用开发 3 公众账号开发 本篇主要针对移动应用App集成微信支付 xff0c 实际项目坑点分享 xff01 一 既予之 与共之 xff1a 平台资源 1 微信开放平台 xff1
  • Android学习之 主项目合并Library子项目中的Manifest

    一 项目背景 xff1a 项目XX是一个按模块化规则来进行开发的 xff0c 包含主模块A 子模块B 子模块C 子模块D xff0c 其中子模块B C D都是Library项目 xff0c 并且都包含有自己的Actity等资源文件 Andr
  • Android学习之 Manifest中meta-data扩展元素数据的配置与获取

    在AndroidManifest xml清单文件中 我们有时会看到如下类似的 lt meta data gt 元素开始的配置内容 xff1a lt meta data android name 61 34 com google androi
  • 工具使用之 adbWireless无线调试Android应用

    今天巧遇这个工具 xff1a adbwireless apk xff0c 于是乎 试爽了一把 xff0c 果然觉得是个不错的工具 可谓是相见恨晚 可以帮助Android开发的同事们实现手机无线调试应用程序 对 xff01 你没有听错 如果你

随机推荐