文章版本: GitHub.com
关于 GitHub Pages
您可以使用 GitHub Pages 直接从 GitHub 仓库托管关于自己、您的组织或您的项目的站点。
GitHub Pages 适用于具有 GitHub Free 和组织的 GitHub Free 的公共仓库,以及具有 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和私有仓库。 更多信息请参阅“GitHub 的产品”。
本文内容
- 关于 GitHub Pages
- GitHub Pages 站点的类型
- GitHub Pages 站点的发布来源
- 静态站点生成器
- 使用 GitHub Pages 的指南
- GitHub Pages 上的 MIME 类型
- 延伸阅读
Were you able to find what you were looking for?
Thank you! Your feedback has been submitted.
关于 GitHub Pages
GitHub Pages 是一项静态站点托管服务,它直接从 GitHub 上的仓库获取 HTML、CSS 和 JavaScript 文件,(可选)通过构建过程运行文件,然后发布网站。 您可以在 GitHub Pages 示例集合中查看 GitHub Pages 站点的示例。
您可以在 GitHub 的 github.io 域或自己的自定义域上托管站点。 更多信息请参阅“对 GitHub Pages 使用自定义域”。
要开始使用,请参阅“创建 GitHub Pages 站点”。
GitHub Pages 站点的类型
有三种类型的 GitHub Pages 站点:项目、用户和组织。 项目站点连接到 GitHub 上托管的特定项目,例如 JavaScript 库或配方集合。 用户和组织站点连接到特定的 GitHub 帐户。
To publish a user site, you must create a repository owned by your user account that's named <user>.github.io. To publish an organization site, you must create a repository owned by an organization that's named <organization>.github.io. 除非您使用自定义域,否则用户和组织站点位于 http(s)://<username>.github.io 或 http(s)://<organization>.github.io。
项目站点的源文件与其项目存储在同一个仓库中。 除非您使用自定义域,否则项目站点位于 http(s)://<user>.github.io/<repository> 或 http(s)://<organization>.github.io/<repository>。
有关自定义域如何影响站点 URL 的更多详细,请参阅“关于自定义域和 GitHub Pages”。
您只能为每个 GitHub 账户创建一个用户或组织站点。 项目站点(无论是组织还是用户帐户拥有)没有限制。
注:使用旧版 <user>.github.com 命名方案的仓库仍将发布,但访问者将从 http(s)://<username>.github.com 重定向到 http(s)://<username>.github.io。 如果 <user>.github.com 和 <user>.github.io 仓库均存在,将仅发布 <user>.github.io 仓库。
GitHub Pages 站点的发布来源
GitHub Pages 站点的发布来源是存储站点源文件的分支或文件夹。 所有站点都有默认的发布来源,项目站点还有其他可用的发布来源。
警告:GitHub Pages则站点将成为互联网上的公开内容,即使其仓库是私有的或内部的。 如果站点的仓库中有敏感数据,您可能想要在发布前删除它。 更多信息请参阅“关于仓库可见性”。
用户和组织站点的默认发布来源是 master 分支。 如果用户和组织站点的仓库是 master 分支,您的站点将从该分支自动发布。 您无法为用户或组织站点选择不同的发布来源。
项目站点的默认发布来源是 gh-pages 分支。 如果项目站点的仓库有 gh-pages 分支,您的站点将从该分支自动发布。
项目站点也可以从 master 分支或 master 分支上的 /docs 文件夹发布。 要从这些来源之一发布站点,您必须配置不同的发布来源。 更多信息请参阅“配置 GitHub Pages 站点的发布来源”。
如果选择 master 分支的 /docs 文件夹作为您的发布来源,GitHub Pages 将读取 /docs 文件夹中的所有内容以发布您的站点(包括 CNAME 文件)。例如,当您通过 GitHub Pages 设置编辑自定义域时,该自定义域将写入 /docs/CNAME。 有关 CNAME 文件的更多信息,请参阅“管理 GitHub Pages 站点的自定义域”。
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 的指南
- 2016 年 6 月 15 日后创建并使用
github.io域的 GitHub Pages 站点通过 HTTPS 提供服务。 如果您在 2016 年 6 月 15 日之前创建站点,您可以为站点的流量启用 HTTPS 支持。 更多信息请参阅“使用 HTTPS 保护 GitHub Pages”。 - GitHub Pages 站点不应该用于敏感事务,例如发送密码或信用卡号码。
- 您对 GitHub Pages 的使用受 GitHub 服务条款的约束,包括禁止转售。
使用限制
GitHub Pages 站点受到以下使用限制的约束:
-
GitHub Pages 源仓库建议的限制为 1GB。更多信息请参阅“我的磁盘配额是多少?”
-
发布的 GitHub Pages 站点不得超过 1 GB。
-
GitHub Pages 站点的软带宽限制为每月 100GB。
-
GitHub Pages 站点的软限制为每小时 10 次构建。
如果您的站点超出这些使用配额,我们可能无法为您的站点提供服务;或者您可能收到来自 GitHub 支持 或 GitHub 高级支持 的礼貌电子邮件,建议降低站点对服务器影响的策略,包括将第三方内容分发网络 (CDN) 置于您的站点前,利用其他 GitHub 功能(如发行版)或转用可能更符合您需求的其他托管服务。
禁止使用
GitHub Pages 并非旨在用于或允许用作免费的 Web 托管服务来运行您的在线业务、电子商务站点或主要针对促进商业交易或提供商业软件即服务 (SaaS) 的任何其他网站。
此外,GitHub Pages 站点必须避免:
- 非法或者我们的服务条款或社区指导方针禁止的内容或活动
- 暴力或有威胁的内容或活动
- 过多的自动批量活动(例如,垃圾邮件)
- 危害 GitHub 用户或 GitHub 服务的活动
- 快速致富计划
- 性淫秽内容
- 歪曲您的身份或站点目的的内容
如果您对用途或预期用途是否归入这些类别有疑问,请联系 GitHub 支持 或 GitHub 高级支持。
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”
Were you able to find what you were looking for?
Thank you! Your feedback has been submitted.