simplest-jekyll

simplest-jekyll

A minimal Jekyll-based site on GH Pages, reduced to one page of content with a theme

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

Sample screenshot

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

  1. Click Use This Template to create a new repo in your own account. You can leave the name as simplest-jekyll.
  2. Enable GitHub Pages in your repo's settings. Choose to serve from master branch and the / path option.
  3. Check your repo's environment tab to see when the deploy is done.
  4. 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.