Skip to content
/ handx Public
forked from maxg/handx

Markdown handouts + exercises

License

Notifications You must be signed in to change notification settings

rcmiller/handx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 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.

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.

About

Markdown handouts + exercises

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 70.2%
  • CSS 12.6%
  • PHP 6.9%
  • TypeScript 4.4%
  • Shell 2.4%
  • HCL 1.8%
  • HTML 1.7%