GitHub Pages

GitHug Pages #

GitHug Pages is a static file hosting offering from GitHub to host content directly out of a GitHug Repository.

Pages is free for public repos with GitHub Free.

By default, GitHub Pages are hosted at <user>.github.io/<repository>.

Configuration #

GitHub Pages must be enabled in your Repository Settings page. Visit Settings > Options > GitHug Pages.

Select a source branch to build github pages. It can either build from the branch root / or the /docs directory. Only these two roots are usable. If you need to build your docs from another path consider using a GitHub Action to push that directory onto another branch to build from the root of that branch.

Convention disctates the branch to build GitHub Pages from be gh-pages, but any branch can be specified.

Custom Domain #

GitHub Pages can be hosted from a Custom Domain (i.e. brisberg.dev).

Purchase a custom domain name from a registrar such as Google Domains.

Point that Domain to <user>.github.io and add a CNAME file to the root of your pages branch which contains your domain.

See blog post for details.

User Pages #

There is an optional side benefit for creating a User GitHub Pages site with a custom domain name.

If you create a special repository called <user>.github.io, this will be a User GitHub Pages site. It will be hosted at <user>.github.io directly, instead of <user>.github.io/<user>.github.io.

Specifying a CNAME in this repository will autimatically apply to all other GitHub Pages hosting of all other GitHub repositories you own.

For example:

  • Specify a CNAME of www.mydomain.com for <user>.github.io.
  • Then another project hosted on GitHub pages will be accessible at www.mydomain.com/<repository> instead of <user>.github.io/<repository>.