Jemdoc MathJax Materialize

This website was created using a modified version of jemdoc+mathJax

In particular, the styling has been modified to use MaterializeCSS instead of tables and raw CSS. This allows us to easily extend and use more features from Materialize.

Overall, I feel its just a neater version of Jemdoc (although kudos to Jacob Mattingley for good design taste) and uses newer standards of webdesign.

The main difference is that I have remove the big table wrapping the sidebar and the content, and instead defined the layout as two side-by-side columns. The columns are responsive, and thus look reasonable on small screens. Todo: collapse side bar to hamburger menu on small screens.

Jemdoc + MathJax + Materialize Github Repo

Feel free to fork or clone this repository to make it your own!

Whats New?

  • Removed table structure, introduced Materialize columns (allows for responsive website with clean theme)

  • Easier MakeFile and deploy to Github Pages

Neither of these changes should break anything in your jemdoc + mathjax websites. It simply allows for easier extension.


Jemdoc + MathJax requires Python 2 or 3. I have only tested Python 3.8

To check links, you will need pylinkvalidator in your local environment.

MaterializeCSS is used, but is grabbed using the CDN so no efforts from your end are required.

Folder Structure

A very simple folder structure is used.

  | - src/
      | - contains all the *.jemdoc files, MENU file and mysite.conf
      | - assets/
            | - contains all the assets (pictures, pdfs, codefiles etc) that you want copied over to the distrubution. The internal folder structure is preserved.
  | - jemdoc
  | - jemdoc.css
  | - Makefile
  | -

Making and Deploying

You can use the commands that jemdoc documentation suggests, but I find it much easier to use my Make commands.

If youre using a virtual environment, make it active before running any of these commands.

Run these from the root folder

make             # build the website
make build       # build the website
make clean       # clean the distribution folder
make serve       # serve the website to localhost:8080 using python
make check       # check all links (need to serve first, and needs pylinkvalidator)
./      # deploy the website to Github Pages (check settings first!)

Check the MakeFile to change the settings.

Building: it takes all the jemdoc files in src and builds them to html and copies all files from srcassets to htmlassets without modification.

Deploying: it cleans, builds, and then sends the html/ folder to the gh-pages branch.


The original documentation is still the key behind everything!

Jemdoc: here

Jemdoc + MathJax: here

Jemdoc + MathJax + Materialize SOURCE CODE: here


There is no guarantee that stuff doesnt break in the future /isnt broken already. I'll be keeping this updated for my website, but I provide no guarantees beyond that. If you spot something that needs fixing let me know!