The purpose of this project is to make as easy as possible for less-technical people to create and host basic web pages for free on GitHub Pages.
Check out my YouTube video on how to get started using this template
- Press the
Use this template
button on theCode
tab. - Go to the
Settings
tab and then go to thePages
settings. - Set the
Source
tomain
and pressSave
.
You'll see a URL show up, but the site takes a few minutes before it's actually live. In the meantime, try creating a page.
- Go to the
Code
tab. - Press the
Add File
button and selectCreate new file
. - Name the page, for example,
first-page.md
. (Note the lack of spaces and the inclusion of the .md extension.) - Add a title in the front matter:
--- title: First Page ---
- Add some content using markdown syntax. For example, you could start with a heading and paragraph like this:
# First page This is my first page.
- Scroll down to the bottom of the page and press
Commit new file
.
- On the Code tab, find and press the
Environments
link. (It may be in the right column.) - On the next page (Deployments), press the
View deployment
button. (You should see the default homepage load.) - In the address bar of the browser, add the name of your page using the HTML extension and press return. For example:
first-page.html
. (The full address will be something like this:https://pglevy.github.io/plain-vanilla-gh-pages/first-page.html
)
You should see the new page you created.
Now that you know how to create pages, here are some other things you can do:
- Create more pages.
- Update
index.md
(the homepage) with your own content. - Add links between pages so it works like a website.
- Copy component code snippets from the GitHub Primer design system to add more advanced functionality to your pages.
- Customize your site language, title, and description in the
metadata.yml
file located in the_data
folder.
- By default, the
body
element includes thep-3
utility class from Primer. This adds some padding to the page on all sides. - The
main
element includes these two classes:container-md
andmarkdown-body
. The first one sets a maximum width for the content area and the second provides the default GitHub styling for Markdown content. - To override these, add these settings to the front matter of your content page:
body-style
andmain-style
.
For example:
title: Home
body-style: p-0
main-style: container-lg
If you want to replace the defaults with nothing, do this:
title: My Page
body-style: ""
main-style: ""
This projects uses a local copy of the Primer CSS to enable work locally and/or offline. Note this copy may not be the latest version because it needs to be kept up-to-date manually. Alternatively, you can use the hosted version, which always references the current version.
To switch to hosted CSS, replace this line in _layouts/default.html
:
<link rel="stylesheet" href="assets/css/primer.css">
with this:
<link rel="stylesheet" href="https://unpkg.com/@primer/css/dist/primer.css">
This project is configured to work with Codespaces. This allows you work on variations of the site in a remote dev environment in your browser so you can try things out without publishing directly to the live, main
branch.
To use this option, select Open in a codespace
from the Use this template
menu button.
For more information, see the GitHub documentation.
- Try starting over with a new repository and follow the instructions again.
- If it's still not working, create an issue in the original Plain Vanilla GitHub Pages repo, and I'll try to help.
This project was created using the GitHub Pages gem for Jekyll. It is licensed under The Unlicense, which allows everything and promises nothing. 😎
Favicon is Soft Ice Cream
from Twemoji, licensed under CC-BY 4.0.