Home

Awesome

gatsby-theme-coursemaker

Make Online Courses

Theme Status: Alpha

The theme is in alpha, and is subject to significant, breaking changes.

🗝 Elevator Pitch

This Gatsby theme allows you to create a fully-featured, commercial online course website for free. Key features:

🚀 Hosted Option

Don't want to host it yourself, and want access to:

Checkout CourseMaker


Installation

Dependencies

Add the theme

There are many configuration options for the coursemaker theme which we discuss below.

🚀 Configuring A Course Website

note if you prefer a real code example, the course_demo_site contains just that.

Concepts

An entire site, potentially with many courses, is a school. When you install the @coursemaker/gatsby-theme-coursemaker theme and run gatsby develop, you will see a directory called "school" created in your project root. This houses all your courses and lecture data.

📚 School Config Options

All school-level config is in siteMetaData, which you configure in your gatsby-config.js file.

Example

🎉 How to Create & Configure a Course

The Course index.mdx

Many aspects of your course are configured in the index.mdx file frontmatter at the course directory root. These include:

Example

💰 Gated Content Feature

By default GATSBY_ENABLE_AUTH is set to false and this means that all your lectures can be viewed without a user sign up. If you set the environment variable GATSBY_ENABLE_AUTH=true this will trigger the requirement for user sign-up to view gated content. You will also need to set the following Auth0 config vars for this to work:

You'll need to create a free Auth0 account and setup your project there. See the Auth0 docs for details. See this Netlify config for a working example

Gotchas working with markdown and local data

When you delete courses or sections, they will still appear unless you delete the gatsby cache via the cli command gatsby clean