Simplest Jekyll
A minimal Jekyll-based site on GH Pages, reduced to one page of content with a theme
=2.6-blue?logo=ruby&logoColor=white title="Ruby" loading="lazy" />
Preview
About
This is a template and live demo project. It shows how little you need to setup to get a Jekyll site on GH Pages.
- index.md
- For the homepage - the only page in this case.
- If you leave out this page, then
README.md
will be used as your homepage.
- _config.yml
- Set the theme - that handles the layout and styling.
- Enable Jekyll Sitemap plugin - enabling it in Gemfile is not enough. Note that other plugins will be enabled for you like optional frontmatter.
- Other standard values like
baseurl
, title
and description
have been left out of the config. When building on GH Pages, these will be inferred for you by the GH Pages gem.
- Gemfile
- This is not actually used by GH Pages, but it allows you to install the Jekyll theme locally using Bundler.
- Use a single gem
github-pages
if you want to match all the gems on GH Pages (which can be heavy to install).
- Delete this file if you don't need to run your site locally.
If you want a more full-fledged example of a multi-page site with posts, gems, layouts, etc. then checkout my jekyll-blog-demo repo. That can be used as a template and demo site too.
How to use this project
Setup
- Click Use This Template to create a new repo in your own account. You can leave the name as
simplest-jekyll
.
- Enable GitHub Pages in your repo's settings. Choose to serve from
master
branch and the /
path option.
- Check your repo's environment tab to see when the deploy is done.
- Click View deployment to see the live site. e.g. https://michaelcurrin.github.io/simplest-jekyll/
Note that /simplest-jekyll/index.html
is available immediately but it takes a few minutes until Github Pages makes /simplest-jekyll/
available.
Customize
- Update the
README.md
with your own details. This is not actually used in the deployed site but is visible locally and on Github.
- Themes
- Edit the theme in _config.yml if you want another theme.
- You can also use the Github Pages section of the repo Settings to preview visually.
- Note only themes supported by Github Pages are covered (about 10) but if you use the remote_theme field in your config you can reference more themes.
- For installing and running locally, you'll need to make sure your Gemfile covers the theme used in the config.
- As with most Jekyll sites, the index.md is used as the homepage.
- It has front matter at the top so any Liquid will be applied.
- Edit your
index.md
file with your own content as HTML or markdown.
- You can rename it to
index.html
if you only want plain HTML.
- You can remove the front matter at the top to remove Liquid formatting and any theming.
- If you want to, add more pages at the root and break out any common HTMl such as header or head or navbar into
_includes
folder or _layouts
folder (neither are covered in the scope of this project but are common for Jekyll projects).
- See the docs and tutorials on the Jekyll site for more info.
- Optionally run Jekyll locally:
- Install Ruby and Bundler.
- Install project gems - Jekyll and the theme gem.
- Run Jekyll dev server.
- For fuller instructions see docs of Jekyll Blog Demo. You'll need to add a
Makefile
as well to match those commands.
- - default blog generated with Jekyll CLI. Using a theme, content, style set up, gems, and a Makefile.
- - using Jekyll 4, a theme, GitHub Actions, and GitHub Pages.
- - minimal Jekyll site with a theme but no Gemfile.
License
Released under MIT by @MichaelCurrin.