gatsby-course-starter

A Gatsby starter to get you started creating educational materials using Markdown.

Get Started

  1. npm install --global gatsby-cli - make sure you're on Gatsby v2+
  2. gatsby new course-website https://github.com/btholt/gatsby-course-starter
  3. cd course-website
  4. npm run dev
  5. Open http://localhost:8000 in your browser

Lessons

The crux of this site is are the lessons. Provided are two examples. Each lesson needs a frontmattter path, order, and title. Generally you should make the path and the file name match for ease of finding it.

  • path - needs a leading slash. This will be slug of the lesson
  • title - will be the title displayed on the Table of Contents and on the page itself
  • order - the order of which the item should appear in the table of contents. The first item should be of order 0. The second should be 1, etc. Must be numbered sequentially, i.e. don't skip numbers.

Config

Inside of gatsby-config.js be sure to fill out the siteMetadata fields, including title, subtitle, description, and keywords.

Azure Pipelines

Azure has a free-for-open-source continuous integration platform called Azure Pipelines. This project is already set up for it with the azure-pipelines.yml. Just add the project to Pipelines and it'll immediately correctly build the project. From there you'll have a build artifact that you can use to deploy to Azure Static Sites or GitHub Pages.

GitHub Pages

If you do want to deploy to GitHub pages, make sure you add the name of the repo to the pathPrefix property in gatsby-config.js so that it will correctly make all the links.

Example Sites

GitHub