Supported markup formats

The Jupyter Notebook format supports Markdown in text cells. There is not a strict specification for the flavor of markdown that is supported, but this page should help guide the user / developer in understanding what behavior to expect with Jupyter interfaces and markup languages.

What flavor of Markdown does the notebook format support?

Most Jupyter Notebook interfaces use the marked.js JavaScript library for rendering markdown. This supports markdown in the following markdown flavors:

See the Marked.js specification page for more information.

Note

Currently, as the Marked.js specification changes, so to will the behavior of Markdown in many notebook interfaces.

MathJax configuration

There are a few extra modifications that Jupyter interfaces tend to use for rendering markdown. Specifically, they automatically render mathematical equations using MathJax.

This is currently the MathJax configuration that is used:

{
    tex2jax: {
        inlineMath: [ ['$','$'], ["\\(","\\)"] ],
        displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
        processEscapes: true,
        processEnvironments: true
    },
    MathML: {
        extensions: ['content-mathml.js']
    },
    displayAlign: 'center',
    "HTML-CSS": {
        availableFonts: [],
        imageFont: null,
        preferredFont: null,
        webFont: "STIX-Web",
        styles: {'.MathJax_Display': {"margin": 0}},
        linebreaks: { automatic: true }
    },
}

See the MathJax script for the classic Notebook UI for one example.