我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
文章版本: 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 上的仓库获取 HTML、CSS 和 JavaScript 文件,(可选)通过构建过程运行文件,然后发布网站。 您可以在 GitHub Pages 示例集合中查看 GitHub Pages 站点的示例。

您可以在 GitHub 的 github.io 域或自己的自定义域上托管站点。 更多信息请参阅“对 GitHub Pages 使用自定义域”。

要开始使用,请参阅“创建 GitHub Pages 站点”。

GitHub Pages 站点的类型

有三种类型的 GitHub Pages 站点:项目、用户和组织。 项目站点连接到 GitHub 上托管的特定项目,例如 JavaScript 库或配方集合。 用户和组织站点连接到特定的 GitHub 帐户。

要发布用户站点,必须创建名为 <user>.github.io 的用户帐户所拥有的仓库。 要发布组织站点,必须创建名为 <organization>.github.io 的组织所拥有的仓库。 除非您使用自定义域,否则用户和组织站点位于 http(s)://<username>.github.iohttp(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 站点的发布来源

The publishing source for your GitHub Pages site is the branch and folder where the source files for your site are stored.

警告:GitHub Pages则站点将成为互联网上的公开内容,即使其仓库是私有的或内部的。 如果站点的仓库中有敏感数据,您可能想要在发布前删除它。 更多信息请参阅“关于仓库可见性”。

The default publishing source for user and organization sites is the root of the default branch for the repository. The default publishing source for project sites is the root of the gh-pages branch. If the default publishing source exists in your repository, GitHub Pages will automatically publish a site from that source.

If you want to keep the source files for your site in a different location, you can change the publishing source for your site. You can publish your site from any branch in the repository, either from the root of the repository on that branch, /, or from the /docs folder on that branch. 更多信息请参阅“配置 GitHub Pages 站点的发布来源”。

If you choose the /docs folder of any branch as your publishing source, GitHub Pages will read everything to publish your site, including the CNAME file, from the /docs folder. For example, when you edit your custom domain through the GitHub Pages settings, the custom domain will write to /docs/CNAME. 有关 CNAME 文件的更多信息,请参阅“管理 GitHub 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 参与指南

延伸阅读

问问别人

找不到要找的内容?

联系我们