Welcome to Mathigon! This repository contains the source code and assets for all our interactive textbooks.
Mathigon is an award winning new mathematics education platform for students aged 12 to 18. Part textbook and part virtual personal tutor, it uses cutting-edge technology and an innovative new curriculum to make learning mathematics more fun and more interactive.
After forking and cloning this repository, install all dependencies using
Now you can start a local development server by running
npm start. Wait for
the assets to be compiled and then open localhost:5000.
The server will automatically watch for file changes.
Every course consists of a few different components:
content.mdcontains the source code and metadata for a course. It is written in a custom extension of Markdown.
styles.lesscontains all course-specific styles, in LESS format.
hints.yaml(optional) contains any messages that can be sent by Mathigon's virtual personal tutor.
concepts.yaml(optional) contains parts of Mathigon's internal knowledge tree for this topic.
The shared directory contains biographies, glossary and assets used by multiple courses.
Every course is divided into multiple steps, each with a unique ID. These IDs
are used as function names in
functions.js when exporting the setup code
for every section.
The server directory contains a simplified version of Mathigon's web server. It is used for local testing, but should not usually be modified.
We welcome any contributions to Mathigon – from bug fixes and correcting typos to creating entirely new courses. If you find any errors or problems, please file an issue. For larger changes, please contact us before starting your work.
Before submitting a pull request, you will need to sign the Mathigon Individual Contributor License Agreement.
You can find out more on Mathigon.io.
All original text and code is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives license (CC BY-NC-ND) version 4.0. Third-party images and media resources may have more restrictive licenses.