Skip to main content

Локальное тестирование сайта GitHub Pages с помощью Jekyll

Вы можете создать сайт GitHub Pages локально для предварительного просмотра и тестирования изменений сайта.

Кто может использовать эту функцию?

GitHub Pages is available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s plans.

GitHub Pages now uses GitHub Actions to execute the Jekyll build. When using a branch as the source of your build, GitHub Actions must be enabled in your repository if you want to use the built-in Jekyll workflow. Alternatively, if GitHub Actions is unavailable or disabled, adding a .nojekyll file to the root of your source branch will bypass the Jekyll build process and deploy the content directly. For more information on enabling GitHub Actions, see Managing GitHub Actions settings for a repository.

Platform navigation

Тестировать сайт GitHub Pages локально может любой пользователь с разрешениями на чтение для репозитория.

Необходимые компоненты

Прежде чем тестировать сайт с помощью Jekyll, необходимо выполнить следующие действия:

Мы рекомендуем использовать Средство увязки программ в пакеты для установки и запуска Jekyll. Средство увязки программ в пакеты управляет зависимостями Ruby, уменьшает ошибки сборки Jekyll и предотвращает ошибки, связанные со средой. Чтобы установить Средство увязки программ в пакеты, выполните следующие действия.

  1. Установите Ruby. Дополнительные сведения см. в разделе "Установка Ruby" в документации по Ruby .
  2. Установка Средства увязки программ в пакеты. Дополнительные сведения см. в разделе Bundler.

Tip

Если при попытке установить Jekyll с помощью Bundler возникает ошибка Ruby, может потребоваться использовать диспетчер пакетов, например RVM или Homebrew, для управления установкой Ruby. Дополнительные сведения см . в документации по Jekyll по устранению неполадок .

Локальное создание сайта

  1. Откройте ТерминалТерминалGIT Bash.

  2. Перейдите к источнику публикации для сайта. Дополнительные сведения см. в разделе Настройка источника публикации для сайта GitHub Pages.

  3. Запустите bundle install.

  4. Запустите сайт Jekyll локально.

    $ bundle exec jekyll serve
    > Configuration file: /Users/octocat/my-site/_config.yml
    >            Source: /Users/octocat/my-site
    >       Destination: /Users/octocat/my-site/_site
    > Incremental build: disabled. Enable with --incremental
    >      Generating...
    >                    done in 0.309 seconds.
    > Auto-regeneration: enabled for '/Users/octocat/my-site'
    > Configuration file: /Users/octocat/my-site/_config.yml
    >    Server address: http://127.0.0.1:4000/
    >  Server running... press ctrl-c to stop.
    

    Note

    • Если вы установили Ruby 3.0 или более поздней версии (если вы установили версию по умолчанию через Homebrew), на этом шаге может возникнуть ошибка. Это связано с тем, что эти версии Ruby больше не установлены webrick .

      Чтобы устранить ошибку, попробуйте выполнить bundle add webrick, а затем повторно запустить bundle exec jekyll serve.

    • _config.yml Если поле файла baseurl содержит ссылку репозитория GitHub, вы можете использовать следующую команду при локальном создании, чтобы игнорировать это значение и обслуживать сайт наlocalhost:4000/:

      bundle exec jekyll serve --baseurl=""
      
  5. Чтобы выполнить предварительный просмотр сайта в веб-браузере, перейдите по адресу http://localhost:4000.

Обновление пакета GitHub Pages

Jekyll — это активный проект с открытым кодом, который регулярно обновляется. Если версия пакета github-pages на компьютере устарела относительно версии пакета github-pages на сервере GitHub Pages, создаваемый локально сайт может выглядеть не так, как при публикации в GitHub Enterprise Cloud. Чтобы избежать этого, регулярно обновляйте пакет github-pages на компьютере.

  1. Откройте ТерминалТерминалGIT Bash.
  2. Обновите пакет github-pages.
    • Если установлено средство увязки, выполните команду bundle update github-pages.
    • Если средство увязки не установлено, выполните команду gem update github-pages.

Дополнительные материалы