Skip to main content

This version of GitHub Enterprise was discontinued on 2023-01-18. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Adding a theme to your GitHub Pages site using Jekyll

You can personalize your Jekyll site by adding and customizing a theme.

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.

People with write permissions for a repository can add a theme to a GitHub Pages site using Jekyll.

Changes to your site are published automatically when the changes are merged into your site's publishing source. If you want to preview your changes first, you can make the changes locally instead of on GitHub Enterprise Server. Then, test your site locally. For more information, see "Testing your GitHub Pages site locally with Jekyll."

Adding a theme

  1. On GitHub Enterprise Server, navigate to your site's repository.

  2. Navigate to the publishing source for your site. For more information, see "Configuring a publishing source for your GitHub Pages site."

  3. Navigate to _config.yml.

  4. In the upper right corner of the file view, click to open the file editor.

    Edit file button

  5. Add a new line to the file for the theme name.

    • To use a supported theme, type theme: THEME-NAME, replacing THEME-NAME with the name of the theme as shown in the README of the theme's repository. For a list of supported themes, see "Supported themes" on the GitHub Pages site. Supported theme in config file
    • To use any other Jekyll theme hosted on GitHub, type remote_theme: THEME-NAME, replacing THEME-NAME with the name of the theme as shown in the README of the theme's repository. Unsupported theme in config file
  6. At the bottom of the page, type a short, meaningful commit message that describes the change you made to the file. You can attribute the commit to more than one author in the commit message. For more information, see "Creating a commit with multiple co-authors." Commit message for your change

  7. Below the commit message fields, decide whether to add your commit to the current branch or to a new branch. If your current branch is the default branch, you should choose to create a new branch for your commit and then create a pull request. For more information, see "Creating a new pull request." Commit branch options

  8. Click Propose file change. Propose file change button

Customizing your theme's CSS

Your theme's source repository may offer some help in customizing your theme. For example, see "Minima's README."

  1. On GitHub Enterprise Server, navigate to your site's repository.

  2. Navigate to the publishing source for your site. For more information, see "Configuring a publishing source for your GitHub Pages site."

  3. Create a new file called /assets/css/style.scss.

  4. Add the following content to the top of the file:

    ---
    ---
    
    @import "{{ site.theme }}";
    
  5. Add any custom CSS or Sass (including imports) you'd like immediately after the @import line.

Customizing your theme's HTML layout

Your theme's source repository may offer some help in customizing your theme. For example, see "Minima's README."

  1. On GitHub, navigate to your theme's source repository. For example, the source repository for Minima is https://github.com/jekyll/minima.
  2. In the _layouts folder, navigate to your theme's default.html file.
  3. Copy the contents of the file.
  4. On GitHub Enterprise Server, navigate to your site's repository.
  5. Navigate to the publishing source for your site. For more information, see "Configuring a publishing source for your GitHub Pages site."
  6. Create a file called _layouts/default.html.
  7. Paste the default layout content you copied earlier.
  8. Customize the layout as you'd like.

Further reading