Home
This page is still under construction
About🔗
This is a library for free math education, it includes material from a bunch of courses given in all the major israeli universities.
This project is created by MkDocs and uses the Material for MkDocs theme, all the documentation from there can be applied for this project.
Contributing🔗
If you want to contribute to this project and help math be as accessible as possible you can do so by creating a pull request on any of the pages in the project (and even create your own!), or you can open a new issue on the github page of this project.
To contribute directly you need to clone the project using,
git clone https://github.com/yeahBOYYYYY/math-library/
From that alone you now can now create new .md files under the folder docs/ to be displayed in the site, but note that you won't be able to locally view your changes.
Setting Up the Project Locally🔗
For starters you need to have Python 3.x installed on your machine since all the libraries involved in the project are downloaded with pip.
After setting up python, you need to install MkDocs and the Material theme using,
pip install mkdocs
pip install mkdocs-material
Then you'll need to install the plugins used to deploy this site,
pip install mkdocs-git-authors-plugin
pip install mkdocs-git-revision-date-localized-plugin
pip install mkdocs-glightbox
Now you can run the project locally by running the following command from the folder with the mkdocs.yml file,
mkdocs serve
This will open a new local server on your machine (default is port 8000), and will show in the console the URL for the local site, like so,
INFO - [16:32:38] Serving on http://127.0.0.1:8000/math-library/
And from now on all the changes you make locally will show up live at this URL.
Syntax🔗
The structure of this site allows for either .md file types or .html to be viewed, but be aware that all html code will be displayed as is in the final site while markdown will be parsed by Python-Markdown.
Images🔗
All images in this site use the GlightBox Caption extension.
The convention is as follows,
{ width="200px" loading=lazy }
/// caption
Caption to Display on the Page
///
Or if you have to use a different image for dark-mode and light-mode, you can use,
{ width="200px" loading=lazy }
{ width="200px" loading=lazy }
/// caption
Caption to Display on the Page
///
and note that the phrases #only-light and #only-dark should be in the markdown but not in the actual filename.
Admonitions🔗
While Python-Markdown supports the full GitHub Markdown flavour, it also provides extra functionality, the main one being "admonitions",
!!! quote "This is an admonition"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
??? tip "This is a nested opening admonition"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
And visually,
This is an admonition
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
This is a nested opening admonition
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
For extended documentation on this feature visit the Material for MkDocs documentation.
Custom Admonitions🔗
This project defines extra admonitions for math use, in LaTex you can use environments like "Proof" or "Example", but this doesn't have a markdown counterpart, hence we use admonitions to display those environments.
Axiom🔗
This uses the "axiom" keyword,
Axiom: This is an axiom block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Definition🔗
This uses the "def" keyword,
Definition: This is a definition block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Theorem🔗
This uses the "thm" keyword,
Theorem: This is a theorem block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
To give extensive information about a "Theorem", "Lemma" or "Claim" we use the following syntax for the title,
_Theorem_ [ < list of last names and year of authors > ]: < name of the theorem >
For example,
Theorem [Jones-Brown 2025, Smith 2026]: Three Broomstick Theorem
And hyperlinks to give the authors contribution are encouraged!
Claim🔗
This uses the "claim" keyword,
Claim: This is a claim block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Lemma🔗
This uses the "lemma" keyword,
Lemma: This is a lemma block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Corollary🔗
This uses the "corollary" keyword,
Corollary: This is a corollary block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Proof🔗
This uses the "proof" keyword,
Proof: This is a definition block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Note that proofs should (by convention) be enclosed in another admonitions, like "Theorem", "Lemma" or "Claim", as follows,
Claim: This is an enclosing claim block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Proof
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Example🔗
This uses the "mexample" keyword,
Example: This is a example block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Note🔗
This uses the "mnote" keyword,
Note: This is a note block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Unlike other admonitions, a note block can be placed anywhere in a page, and the decision to keep it closed or opened are in the discration of the writer.
Exercise🔗
This uses the "exercise" keyword,
Exercise: This is a exercise block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Solution🔗
This uses the "solution" keyword,
Solution: This is a solution block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Note that solutions should (by convention) be enclosed in another admonitions, like "Exercise", as follows,
Exercise: This is an enclosing exercise block
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
Solution
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
License🔗
The license of this project is Attribution-NonCommercial 4.0 International, it allows anyone to use this freely unless they're trying to monotize the information in this site (for more information click on the link given).