Learn-Static Lesson Template is a minimal Jekyll project to create a simple lesson, workshop, or documentation website, with a Bootstrap-based theme, designed for hosting on GitHub Pages. It features a sidebar navigation providing clear structure for step by step content. The sidebar nav supports pages nested into sections to help organize your lesson content.
All content is written using basic Markdown, making it simple to write, edit, and reuse lesson materials. The template provides Liquid includes to simplify adding Bootstrap components to your pages. Writing content in this simple, reuseable format makes for a better Open Educational Resource since anyone can make a copy and adapt.
Visit the demo site to view example output on GitHub Pages and basic documentation. To use Lesson Template to create your own website --> make a copy and replace the template content with your own!
The lesson-template repository is a template project --> to get started quickly, make a copy and replace the demo with your own content and customizations. The content pages serve as documentation and examples to copy from.
Overview:
.
on any GitHub repository to open the web editor).Content follows these conventions:
title
set in the front matter--thus additional headers on the page should start at "h2", i.e. ##
in markdown.code
class using backticks, filenames should be given in "quotes".The sidebar navigation menu is controlled by front matter added to each page. There are two ways a page can appear in the nav: individual or in a section drop down.
The nav follows these rules:
nav_order
to the front matter of a content page. e.g. nav_order: 1
. Do not include section_id
or section
in the front matter.nav_order
and section_id
to the front matter. The value of section_id
will be displayed as the label for the section drop down. e.g. section_id: Workshop Prep
. The page's title will be listed as the first item in the section dropdown.section
and nav_order
to the front matter of a markdown file. The value of section
must match a section_id
set up on another markdown file. The page's title will appear under the corresponding section dropdown. The pages in the section will sort according to nav_order
within the section--however, the page that sets up the section (with section_id
) will always be listed first.Note:
nav_order
.nav_order
or section
in the front matter, the page will not appear anywhere in the navigation. Occasionally you might want to create pages that aren't linked in the nav, just be sure to link to them from somewhere else!section_id
/ section
should be unique. If you create multiple sections with the same name, the nav won't work as expected!Individual listing:
---
nav_order: 1
title: Introduction
---
Section lead:
---
section_id: Getting Started
nav_order: 3
title: Install Git and GitHub Desktop
---
Section content:
---
section: Getting Started
nav_order: 2
title: Configure Git
---
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 to work 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:
Learn-Static documentation and general web content is licensed Creative Commons Attribution-ShareAlike 4.0 International. Learn-Static code is licensed MIT. This license does not include external dependencies included in the "assets/lib" directory, which are covered by their individual licenses.