Skip to content

maxg/handx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

handx

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.