关于 GitHub Pages
您可以使用 GitHub Pages 直接从 GitHub Enterprise 仓库托管关于自己、您的组织或您的项目的站点。
GitHub Pages 可用于具有 GitHub Free 的公共仓库,以及具有 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和私有仓库。
本文内容
- 关于 GitHub Pages
- GitHub Pages 站点的类型
- GitHub Pages 站点的发布来源
- 静态站点生成器
- 使用 GitHub Pages 的指南
- GitHub Pages 上的 MIME 类型
- 延伸阅读
关于 GitHub Pages
GitHub Pages 是一项静态站点托管服务,它直接从 GitHub Enterprise 上的仓库获取 HTML、CSS 和 JavaScript 文件,(可选)通过构建过程运行文件,然后发布网站。 您可以在 GitHub Pages 示例集合中查看 GitHub Pages 站点的示例。
要开始使用,请参阅“创建 GitHub Pages 站点”。
GitHub Pages 站点的类型
有三种类型的 GitHub Pages 站点:项目、用户和组织。 项目站点连接到 GitHub Enterprise 上托管的特定项目,例如 JavaScript 库或配方集合。 用户和组织站点连接到特定的 GitHub Enterprise 帐户。
用户和组织站点始终从名为 <user>.github.io
或 <organization>.github.io
的仓库发布。
项目站点的源文件与其项目存储在同一个仓库中。
您只能为每个 GitHub Enterprise 账户创建一个用户或组织站点。 项目站点(无论是组织还是用户帐户拥有)没有限制。
您的站点可用的 URL 取决于是否为 您的 GitHub Enterprise Server 实例 启用了子域隔离。
站点类型 | 子域隔离已启用 | 子域隔离已禁用 |
---|---|---|
用户 |
http(s)://pages.<hostname>/<username>/<repository>/
| http(s)://<hostname>/pages/<username>/<repository>/
| 组织 | http(s)://pages.<hostname>/<organization>/<repository>/
| http(s)://<hostname>/pages/<organization>/<repository>/
| 用户帐户拥有的项目站点 | http(s)://pages.<hostname>/<username>/<repository>/
| http(s)://<hostname>/pages/<username>/<repository>/
组织帐户拥有的项目站点 | http(s)://pages.<hostname>/<orgname>/<repository>/
| http(s)://<hostname>/pages/<orgname>/<repository>/
更多信息请参阅“启用子域隔离”或联系您的站点管理员。
GitHub Pages 站点的发布来源
GitHub Pages 站点的发布来源是存储站点源文件的分支或文件夹。 所有站点都有默认的发布来源,项目站点还有其他可用的发布来源。
用户和组织站点的默认发布来源是 master
分支。 如果用户和组织站点的仓库是 master
分支,您的站点将从该分支自动发布。 您无法为用户或组织站点选择不同的发布来源。
项目站点的默认发布来源是 gh-pages
分支。 如果项目站点的仓库有 gh-pages
分支,您的站点将从该分支自动发布。
项目站点也可以从 master
分支或 master
分支上的 /docs
文件夹发布。 要从这些来源之一发布站点,您必须配置不同的发布来源。 更多信息请参阅“配置 GitHub Pages 站点的发布来源”。
如果选择 master
分支的 /docs
文件夹作为您的发布来源,GitHub Pages 将读取 /docs
文件夹中的所有内容以发布您的站点。
You cannot publish your project site from any other branch, even if the default branch is not master
or gh-pages
.
静态站点生成器
GitHub Pages 会发布您推送到仓库的任何静态文件。 您可以创建自己的静态文件或使用静态站点生成器为您构建站点。 您还可以在本地或其他服务器上自定义自己的构建过程。 我们建议使用 Jekyll,它是一个静态站点生成器,内置 GitHub Pages 支持和简化的构建流程。 更多信息请参阅“关于 GitHub Pages 和 Jekyll”。
默认情况下,GitHub Pages 将使用 Jekyll 来构建您的站点。 如果您想使用除 Jekyll 以外的静态站点生成器,通过在发布来源的根目录中创建一个名为 .nojekyll
的空文件来禁用 Jekyll 构建过程,然后按照静态站点生成器的说明在 本地构建站点。
GitHub Pages 不支持服务器端语言,例如 PHP、Ruby 或 Python。
使用 GitHub Pages 的指南
GitHub Pages 站点受到以下使用限制的约束:
- GitHub Pages 源仓库建议的限制为 1GB。
- 发布的 GitHub Pages 站点不得超过 1 GB。
GitHub Pages 上的 MIME 类型
MIME 类型是服务器发送到浏览器的标头,提供有关浏览器所请求文件性质和格式的信息。 GitHub Pages 支持数千种文件扩展名中 750 多种 MIME 类型。 支持的 MIME 类型列表从 mime-db project 生成。
虽然无法基于每个文件或每个仓库指定自定义 MIME 类型,但您可以添加或修改 MIME 类型以在 GitHub Pages 上使用。 更多信息请参阅 mime-db 参与指南。
延伸阅读
- GitHub Learning Lab 上的 GitHub Pages
- GitHub 开发者文档中的“GitHub Pages”