Skip to main content

Creating a GitHub Pages site with Jekyll

You can use Jekyll to create a GitHub Pages site in a new or existing repository.

Who can use this feature

People with admin permissions for a repository can create a GitHub Pages site with Jekyll.

GitHub Pages 适用于具有 GitHub AE 的内部和私有仓库。 GitHub Pages 适用于具有 GitHub Free 和组织的 GitHub Free 的公共仓库,以及具有 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和私有仓库。

Prerequisites

Before you can use Jekyll to create a GitHub Pages site, you must install Jekyll and Git. For more information, see Installation in the Jekyll documentation and "Set up Git."

建议使用 Bundler 安装和运行 Jekyll。 Bundler 可管理 Ruby gem 依赖项,减少 Jekyll 构建错误和阻止环境相关的漏洞。 要安装 Bundler:

  1. 安装 Ruby。 有关详细信息,请参阅 Ruby 文档中的“安装 Ruby”。
  2. 安装 Bundler。 有关详细信息,请参阅“Bundler”。

提示: 如果你在尝试使用 Bundler 安装 Jekyll 时看到 Ruby 错误,则可能需要使用包管理器(例如 RVMHomebrew)来管理你的 Ruby 安装。 有关详细信息,请参阅 Jekyll 文档中的“故障排除”。

Creating a repository for your site

可以为站点创建存储库或选择现有存储库。

如果存储库中并非所有文件都与站点相关,且要为存储库创建 GitHub Pages 站点,则能够为站点配置发布源。 例如,可以使用专用分支和文件夹保存站点源files.

如果要在现有存储库中创建站点,请跳至“创建站点”一节。

  1. 在任何页面的右上角,使用 下拉菜单选择“新建存储库”。 包含创建新存储库选项的下拉菜单
  2. 使用“所有者”下拉菜单选择你想要拥有存储库的帐户。 “所有者”下拉菜单
  3. 输入仓库的名称和说明(可选)。 如果要创建用户或组织站点,则存储库必须命名为 <user>.github.io<organization>.github.io。 如果您的用户或组织名称包含大写字母,您必须小写字母。 有关详细信息,请参阅“关于 GitHub Pages”。 创建存储库字段
  4. 选择仓库可见性。 有关详细信息,请参阅“关于存储库”。 用于选择存储库可见性的单选按钮

Creating your site

必须先在 GitHub AE 上有站点的仓库,然后才可创建站点。 如果未在现有存储库中创建站点,请参阅“为站点创建存储库”。

警告:GitHub Pages 站点对所有企业成员可见,即使该站点的存储库是私有的也是如此。 如果站点的存储库中有敏感数据,你可能想要在发布前删除数据。 有关详细信息,请参阅关于存储库

  1. 打开终端终端Git Bash

  2. If you don't already have a local copy of your repository, navigate to the location where you want to store your site's source files, replacing PARENT-FOLDER with the folder you want to contain the folder for your repository.

    $ cd PARENT-FOLDER
  3. If you haven't already, initialize a local Git repository, replacing REPOSITORY-NAME with the name of your repository.

    $ git init REPOSITORY-NAME
    > Initialized empty Git repository in /Users/octocat/my-site/.git/
    # Creates a new folder on your computer, initialized as a Git repository
  4. Change directories to the repository.

    $ cd REPOSITORY-NAME
    # Changes the working directory
  5. 确定要使用的发布源。 有关详细信息,请参阅“为 GitHub Pages 站点配置发布源”。

  6. 导航到站点的发布来源。 有关详细信息,请参阅“为 GitHub Pages 站点配置发布源”。 For example, if you chose to publish your site from the docs folder on the default branch, create and change directories to the docs folder.

    $ mkdir docs
    # Creates a new folder called docs
    $ cd docs

    If you chose to publish your site from the gh-pages branch, create and checkout the gh-pages branch.

    $ git checkout --orphan gh-pages
    # Creates a new branch, with no history or contents, called gh-pages, and switches to the gh-pages branch
    $ git rm -rf .
    # Removes the contents from your default branch from the working directory
  7. To create a new Jekyll site, use the jekyll new command:

    $ jekyll new --skip-bundle .
    # Creates a Jekyll site in the current directory
  8. Open the Gemfile that Jekyll created.

  9. Add "#" to the beginning of the line that starts with gem "jekyll" to comment out this line.

  10. Add the github-pages gem by editing the line starting with # gem "github-pages". Change this line to:

    gem "github-pages", "~> GITHUB-PAGES-VERSION", group: :jekyll_plugins

    Replace GITHUB-PAGES-VERSION with the latest supported version of the github-pages gem. You can find this version here: "Dependency versions."

    The correct version Jekyll will be installed as a dependency of the github-pages gem.

  11. Save and close the Gemfile.

  12. From the command line, run bundle install.

  13. Optionally, make any necessary edits to the _config.yml file. This is required for relative paths when the repository is hosted in a subdirectory. For more information, see "Splitting a subfolder out into a new repository."

    domain: my-site.github.io       # if you want to force HTTPS, specify the domain without the http at the start, e.g. example.com
    url: https://my-site.github.io  # the base hostname and protocol for your site, e.g. http://example.com
    baseurl: /REPOSITORY-NAME/      # place folder name if the site is served in a subfolder
    
  14. Optionally, test your site locally. For more information, see "Testing your GitHub Pages site locally with Jekyll."

  15. Add and commit your work.

    git add .
    git commit -m 'Initial GitHub pages site with Jekyll'
  16. Add your repository on GitHub AE as a remote, replacing HOSTNAME with your enterprise's hostname, USER with the account that owns the repository, and REPOSITORY with the name of the repository.

    $ git remote add origin https://HOSTNAME/USER/REPOSITORY.git
    
  17. Push the repository to GitHub AE, replacing BRANCH with the name of the branch you're working on.

    $ git push -u origin BRANCH
  18. 配置发布源。 有关详细信息,请参阅“为 GitHub Pages 站点配置发布源”。

  19. 在 GitHub AE 上,导航到站点的仓库。

  20. 在存储库名称下,单击 “设置”。 “存储库设置”按钮

  21. In the left sidebar, click Pages. Page tab in the left-hand sidebar

  22. 要查看您已发布的站点,请在“GitHub Pages”下点击您的站点 URL。 已发布站点的 URL

    注意: 对站点的更改在推送到 GitHub AE 后,最长可能需要 10 分钟才会发布。 如果一小时后仍然在浏览器中看不到 GitHub Pages 站点更改,请参阅“关于 GitHub Pages 站点的 Jekyll 生成错误”。

注意:If站点尚未自动发布,请确保具有管理员权限和经验证的电子邮件地址的人员已将站点推送到发布源。

Next steps

To add a new page or post to your site, see "Adding content to your GitHub Pages site using Jekyll."

您可以将 Jekyll 主题添加到 GitHub Pages 站点,以自定义站点的外观。 For more information, see "Adding a theme to your GitHub Pages site using Jekyll."