GitHub Pages documentation
https://docs.github.com/en/pages
https://learn.microsoft.com/en-us/training/modules/create-host-web-sites-github-pages/1-introduction
GitHub Pages are free static web sites hosted directly from your GitHub
repository. Anyone can use standard technologies like YAML and Markdown, to
build and maintain a site in minutes. With GitHub Pages, you can spin up the site in
minutes and allow anyone with a basic understanding of Markdown to contribute to
it. You also get all the benefits of GitHub for source control, including branches and
pull requests.
GitHub Pages are static sites hosted directly from your GitHub repository, but
they're more than just a collection of static files. By making use of site-generation
technologies like Jekyll and Liquid, developers define dynamic templates that are
processed into complete static web sites. Every time you commit a change to the
source branch associated with the site, the site is regenerated using the latest
updates and automatically published to the target URL.
Enabling GitHub Pages
The first step in using GitHub Pages is to enable it from your
repository's Settings tab. You can opt to use the main branch, or specify
the docs folder within it. If you ever want to disable GitHub Pages, you can do so
here.
Choosing a theme with Jekyll
Jekyll is the static site generator GitHub uses to build your web site from the contents of your repository.
In addition to providing great content convenience, it also conforms to a standard design convention.
This style standardization allows for swappable themes, which you can select from the GitHub Pages
configuration.
1
GitHub provides various themes. There's also an array of commercial and open-
source themes available from the Jekyll community.
Using YAML front matter
Once your site is up and running, you can customize details about your site
via _config.yml. This file includes virtually all site-wide configuration options,
including site metadata, navigation menus, theme colors, compiler options, and
more.
Creating and editing content
Creating and editing pages on your site follows the standard GitHub experience. The files you use for
your GitHub Pages web site enjoy all of the same benefits as other files in your GitHub repository. You
can edit them with any tools, create and merge branches, and link with issues or pull requests.
Working with blog posts
Despite not having a database to work with, Jekyll still supports the concept of blogging using a specific
convention: _posts/2020-06-25-blog-post-name.md. As you can likely infer, all blog posts are stored in
the _posts folder and use the date and name convention as shown. During compilation, Jekyll processes
the files in this folder to produce a list of HTML blog posts.
The following example illustrates the structure of a simple blog post. It includes metadata for subtitle,
tags, and comments. The theme that you choose, might not support this metadata.
https://github.com/skills/github-pages