关于 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>.<hostname>
的用户帐户所拥有的仓库。 要发布组织站点,必须创建名为 <organization>.<hostname>
的组织所拥有的仓库。
项目站点的源文件与其项目存储在同一个仓库中。
您只能为每个 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 站点的发布来源
The publishing source for your GitHub Pages site is the branch and folder where the source files for your site are stored. All sites have a default publishing source, and project sites have additional publishing sources available.
警告:如果您的站点管理员启用了公共页面,GitHub Pages则站点将成为互联网上的公开内容,即使其仓库是私有的。 如果站点的仓库中有敏感数据,您可能想要在发布前删除它。 更多信息请参阅 “在设备上配置 GitHub Pages”和“关于仓库可见性”。
用户和组织站点的默认发布来源是 master
分支。 如果用户和组织站点的仓库是 master
分支,您的站点将从该分支自动发布。 您无法为用户或组织站点选择不同的发布来源。
项目站点的默认发布来源是 gh-pages
分支。 如果项目站点的仓库有 gh-pages
分支,您的站点将从该分支自动发布。
项目站点也可以从 master
分支或 master
分支上的 /docs
文件夹发布。 要从这些来源之一发布站点,您必须配置不同的发布来源。 更多信息请参阅“配置 GitHub Pages 站点的发布来源”。
如果选择 master
分支的 /docs
文件夹作为您的发布来源,GitHub Pages 将读取 /docs
文件夹中的所有内容以发布您的站点。
您不能从任何其他分支发布项目站点,即使默认分支不是 master
或 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 Pages"