A Jekyll template for a simple workshop website, with a Bootstrap-based theme, designed for hosting on GitHub Pages.
Works best for about 5 pages of instructions, plus an index page, all written in Markdown. The navigation to the main pages is exposed at top and bottom of each page for easy stepping through the sections.
Note: for a more minimal version, try the original workshop-template
Rather than making slides for a workshop, why not make a website? It's easier to write, access, share, and reuse. GitHub and GitHub Pages makes this pretty easy.
It is a better Open Educational Resource since anyone can make a copy and adapt!
The workshop-template-b
repository is a template project--to get started quickly, make a copy and fill in your own content and customizations.
The site demonstrates the output on GitHub Pages, and the content pages serve as examples.
Overview:
- Copy the code to your own repository by clicking the green "Use this template" button (alternatively import the repository on GitHub or manually copy the files into a new repo).
- Work on the GitHub web interface to edit files or clone to your local machine.
- Edit the
_config.yml
with your info (check the comments for details). - Edit the content pages in markdown (found in the "content" folder).
- Add images to the "images" folder.
- Push to GitHub or commit on the web interface.
- In your repository's settings, activate GitHub Pages, using main branch.
Content pages are written in markdown and can be enhanced using Liquid includes that are packaged with the template. Start by editing the examples or creating new files in the "content" folder. At the top of each page is "YML front matter" used to configure the page. Use these options:
- to include a page in the header and footer navigation, add
nav:
push the text you want to appear to the file's yml front matter. Alternatively, addnav: true
to use the page'stitle:
value. All pages with anav
value will appear in the top-bar, sorted by order of filenames. For simplicity use leading numbers in the lesson page filenames to create correct order. title:
value will appear ash1
at the top of the page.topics:
will appear as a small feature below the title (optional).description:
will appear as an indented text block below the title (optional). This gives you a chance to summarize the section contents.youtubeid:
will add an YouTube video embed (optional). Find the id in the YouTube link. For example, inhttps://youtu.be/moJgWrD6dwg
orhttps://www.youtube.com/watch?v=moJgWrD6dwg
the youtubeid ismoJgWrD6dwg
.- Alternatively, if you don't want
title
or other options to appear on the page, you can over ride the layout by addinglayout: default
- put any images you want to use in the "images" folder.
- in a markdown file where you want the image to appear, use the
figure.html
include on its own line, following the pattern:{% include figure.html img="my-cat.jpg" alt="cat" caption="My cat" width="50%" %}
- figures will be centered, and can optionally be given a caption and percentage width.
Additional includes are available in the "_includes" folder, check the comments for how to use them.
- the
custom.scss
in theassets/css
folder exposes variables that can customize the basic style of website. - Give a tiny splash of color on the header and footer borders by tweaking the
$top-border
$link-color
colors links
- To use Google Analytics, add your analytics id to
_config.yml
ingoogle-analytics-id:
(ifgoogle-analytics-id
is blank, the GA code will not added) - To use an alternative analytics, paste the code snippet provided by the platform into
_includes/template/analytics.html
- analytics code will only be added when using "production" environment. This happens automatically on GitHub Pages. To build manually you need to add "JEKYLL_ENV", like:
JEKYLL_ENV=production jekyll build
- Demo (this repository)
- Go Go GitHub Pages (v.2)
- Make OER! (presentation)
- Hey API! (workshop)
- Web Crash Course (workshop)
- Write MD (workshop)
My workshop sites using an minimal version of this template (no bootstrap):
Repository does not include a Gemfile because it is a very simple project. Originally built using Ruby 2.5+ and Jekyll 3.7+; most recently used Jekyll 4.1.1. Designed for use with GitHub Pages automatic build versions.