Markdown handouts + exercises
An example handout!
Clone this repository and open example/handout/index.html
.
Example slides!
Clone this repository and open example/slides/index.html
.
JavaScript and CSS for rendering and running handouts.
For local development, the handout HTML file includes handout-render.js
to render the page in the browser.
handout-render
then loads handout-run.js
to handle exercises and interactive elements.
Exercise answers are checked locally.
For deployment, the handout HTML page is loaded in Headless Chrome, pre-rendered, and the resulting HTML file only includes handout-run
.
Exercise answers are also stripped from the file and checked server-side.
Server for pre-rendering and delivering handouts.
Server for exercise checking and reporting.
Deprecated implementatons
Shell scripts for pre-rendering handouts.
deliver-handouts
pre-renders a directory of handouts as described above.
It delivers HTML files to one directory, for display on the web, and JSON files with exercise answers to another directory, for use by the server-side exercise checker.
repo-post-receive-hook
is designed for use with Git Meta-Hooks and deliver-handouts-athena
on Athena.
Scripts for pre-rendering handouts with AWS Lambda.
Server-side exercise checking for use with scripts.mit.edu and Omnivore.
status.php
is shown in the right margin of exercise groups and allows the reader to log in via cert/login.php
.
submit.php
handles exercise submission.
It checks exercises using the JSON files delivered to data
when handouts are pre-rendered.
It also reports results to an Omnivore grade server.