GitHub Pages Basics
Any GitHub repository can have a site by activating gh-pages in the settings and selecting a source branch.
Additionally, each user and organization can have one root site by creating a repository called username.github.io
(replace username with your actual username!).
The site will automatically appear in the github.io domain following this pattern:
https://username.github.io/repositoryname/
Let’s look at the basic ways to use it!
Static HTML
Any static web document can be served up from your repository.
If you add a index.html
and activate gh-pages, you are ready to go!
Demo:
- Create a new repository:
- Click the + sign in the upper right and select New repository.
- Give the repository a nice name
- Check the Initialize this repository with a README option
- Click the green Create repository button.
- Create a new
index.html
file:- Click the Create new file button on the repository page.
- Name the file
index.html
. -
Write some HTML in the web editor! For example:
<html> <body> <h1>Hello World!</h1> <p>gh-pages rock!</p> </body> </html>
- Scroll to the bottom, add a message, and click Commit new file. (You just used Git!)
- Activate gh-pages:
- Click on the repository’s Settings tab.
- Scroll down to the GitHub Pages options.
- Click Source, select Master branch, and click Save.
- Wait for a minute for gh-pages to build. The live link will appear in the options.
All Markdown files in the repo will also be rendered to HTML using the default GitHub theme. If there is an
index.md
orindex.html
it will be served as the index page, otherwiseREADME.md
will be.
Automatic Theme Chooser
The Theme Chooser is a fully automated option to create a stock page for a repository using a Jekyll theme. It converts Markdown files into site pages using the selected theme layout (Markdown basics are on the Reference page). This is a handy way to convert a README into a slightly more attractive project home page–in seconds!
Demo:
- Create a new repository:
- Click the + sign in the upper right and select New repository.
- Give the repository a nice name, check the Initialize this repository with a README option, and click the Create button.
- Edit the
README.md
file:- From the repository’s main page, click on the
README.md
name to open the file’s page. - Click on the Edit (pencil icon) button at the top right of the file content.
-
Edit the content in the web editor (markdown tips). For example:
# Hello World! This is a great new site. p.s. gh-pages rock!
- Scroll to the bottom, add a message, and click Commit changes. (You just did a
git commit -m "..."
!)
- From the repository’s main page, click on the
- Activate gh-pages:
- Click on the repository’s Settings tab.
- Scroll down to the GitHub Pages options.
- Click Choose theme.
- Click on the theme thumbnails to get a preview, then click the Select button.
- Wait for a minute for gh-pages to build. The live link will appear in the options.
- A new file
_config.yml
will appear in your repo, this is a Jekyll file and is used to set the theme (you can ignore it when using Theme Chooser).
- Add an image:
- From the repository’s main page, click Upload files button.
- Drag & drop a small image file, add a commit message, and click Commit changes.
- Edit the
README.md
file, adding the image to the Markdown like:![alt text](filename.jpg)
. Also add a link to an About page, like:[About](about.md)
. Commit changes!
- Add an About page:
- From the repository’s main page, click the Create new file button.
- Name the file
about.md
. -
At the top of the file add YAML Front Matter (a sign to Jekyll to process the file). Add some content and a link back to the README. For example:
--- title: About --- # About this project In a word: **Awesome!** See the [Home page](/go-go-ghpages/README.md)
- Commit the changes, wait for a minute for the site to rebuild.
If you want to clean up after these tests, repositories can be deleted from the Settings tab. Scroll way down to the bottom Danger Zone and click Delete this repository.
Another incredibly quick way to share content and documentation is to use the built in wiki feature of a GitHub repository. Just click the Wiki tab and start editing.