关于 GitHub Pages
GitHub Pages 是一项静态站点托管服务,它直接从 GitHub Enterprise Server 上的仓库获取 HTML、CSS 和 JavaScript 文件,(可选)通过构建过程运行文件,然后发布网站。 您可以在 GitHub Pages 示例集合中查看 GitHub Pages 站点的示例。
要开始使用,请参阅“创建 GitHub Pages 站点”。
GitHub Pages 站点的类型
有三种类型的 GitHub Pages 站点:项目、用户和组织。 项目站点连接到 GitHub Enterprise Server 上托管的特定项目,例如 JavaScript 库或配方集合。 用户和组织站点连接到特定的 GitHub Enterprise Server 帐户。
To publish a user site, you must create a repository owned by your user account that's named <username>.<hostname>
. To publish an organization site, you must create a repository owned by an organization that's named <organization>.<hostname>
.
项目站点的源文件与其项目存储在同一个仓库中。
You can only create one user or organization site for each account on GitHub Enterprise Server. 项目站点(无论是组织还是用户帐户拥有)没有限制。
The URL where your site is available depends on whether subdomain isolation is enabled for your GitHub Enterprise Server instance.
站点类型 | 子域隔离已启用 | 子域隔离已禁用 |
---|---|---|
User |
http(s)://pages.<hostname>/<username>
| http(s)://<hostname>/pages/<username>
| Organization | http(s)://pages.<hostname>/<organization>
| http(s)://<hostname>/pages/<organization>
| Project site owned by user account | http(s)://pages.<hostname>/<username>/<repository>/
| http(s)://<hostname>/pages/<username>/<repository>/
Project site owned by organization account | http(s)://pages.<hostname>/<orgname>/<repository>/
| http(s)://<hostname>/pages/<orgname>/<repository>/
更多信息请参阅“启用子域隔离”或联系您的站点管理员。
GitHub Pages 站点的发布来源
GitHub Pages 站点的发布来源是存储站点源文件的分支和文件夹。
Warning: If your site administrator has enabled Public Pages, GitHub Pages sites are publicly available on the internet, even if the repository for the site is private. 如果站点的仓库中有敏感数据,您可能想要在发布前删除它。 For more information, see "Configuring GitHub Pages for your enterprise" and "About repository visibility."
用户和组织站点的默认发布来源是 master
分支。 如果用户和组织站点的仓库是 master
分支,您的站点将从该分支自动发布。 您无法为用户或组织站点选择不同的发布来源。
项目站点的默认发布来源是 gh-pages
分支。 如果项目站点的仓库有 gh-pages
分支,您的站点将从该分支自动发布。
项目站点也可以从 master
分支或 master
分支上的 /docs
文件夹发布。 要从这些来源之一发布站点,您必须配置不同的发布来源。 更多信息请参阅“配置 GitHub Pages 站点的发布来源”。
If you choose the /docs
folder of the master
branch as your publishing source, GitHub Pages will read everything to publish your site from the /docs
folder.
您不能从任何其他分支发布项目站点,即使默认分支不是 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 source repositories have a recommended limit of 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"