workshop-template-b
is 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.
Please note: the template was updated in Nov 2021 to Bootstrap 5!
For a more minimal version, try the original workshop-template; For a sidebar toc version, see lesson-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 replace the demo with your own content and customizations. The demo site demonstrates the output on GitHub Pages. The content pages serve as documentation and examples to copy from.
Overview:
.
on any GitHub repository to open the web editor)._config.yml
with your info.Edit the "_config.yml" to get your workshop website set up with the basics such as title
and author
.
Check comments (denoted by #
in YAML) in the file for all the options!
Once you have edited the "_config.yml", you are ready to start editing your content pages. All your content is written in Markdown in the "content" folder.
Content pages are written in markdown and can be enhanced using Liquid includes that are packaged with the template (see "_includes/" folder). Start by editing the examples or creating new files in the "content" folder.
At the top of each page is "YAML front matter" used to configure the page. Use these options:
nav:
add the text you want to appear in the the header and footer navigation. nav: true
to use the page's title
value for the nav text. nav
if you do not want the page to appear in the nav elements.nav
value will appear in the header and footer navigation, sorted by order of filenames. For simplicity use leading numbers in the lesson page filenames to create correct order.title:
value will appear as h1
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, in https://youtu.be/moJgWrD6dwg
or https://www.youtube.com/watch?v=moJgWrD6dwg
the youtubeid is moJgWrD6dwg
.title
or other options to appear on the page, you can over ride the section layout by adding layout: page
workshop-template-b
contains a series of Liquid "includes" to simplify adding basic Bootstrap 5 components to your Markdown content.
The includes can be found in the "_includes" folder.
Check the comments at the top of each include file for details about options and how to use them.
{% include figure.html img="my-cat.jpg" alt="cat" caption="My cat" width="50%" %}
Additional includes are available in the "_includes" folder, check the comments for how to use them.
The file "assets/css/styles.scss" exposes variables that can customize the basic style of website:
$top-border
adds a tiny splash of color on the header and footer borders. Try tweaking the color using an HTML # value.$text-color
sets the body text color$link-color
sets link color$base-font-size
sets the body text size$container-max
sets a maximum width for the text body--keeping it narrow can make it easier to read, but gives less screen space!To use the Bootstrap defaults for any of these values, comment out the variable in "styles.scss", using //
in front of the option's line (e.g. // $text-color: #111 !default;
).
To add your own custom CSS, use the file "_sass/_custom.scss". Any CSS/SASS you add to this file will override the template and Bootstrap classes.
To use analytics (such as Google Analytics, Matomo, etc), paste the code snippet provided by the platform into the file "_includes/template/analytics.html".
The 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
.
My workshop sites using an minimal version of this template (no bootstrap):
This repository does not include a Gemfile because it is a very simple project. It was originally built using Ruby 2.5+ and Jekyll 3.7+; most recently used Ruby 3 and Jekyll 4.3.2. It is designed for use with GitHub Pages automatic build versions.
The template makes use of a variety of open source libraries. These files are included in the 'assets/lib/" folder to ensure the project remains fully self contained. These assets include:
workshop-template-b project template is licensed MIT by Evan Will. The template's content and documentation is licensed Creative Commons Attribution-ShareAlike 4.0 International by Evan Will. The license does not include external dependencies included in the "assets/lib" directory, which are covered by their individual licenses.