Academic Pages ships with built-in support for three visualization tools: MathJax for typeset mathematics, Mermaid for diagrams and flowcharts, and Plotly for interactive data charts. All three are loaded via jsDelivr CDN and activate automatically on pages that contain the relevant syntax — no additional configuration is needed.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/academicpages/academicpages.github.io/llms.txt
Use this file to discover all available pages before exploring further.
MathJax (version 3)
Academic Pages includes MathJax version 3 served via jsDelivr. You write LaTeX directly in your Markdown files and MathJax renders it in the browser.Display math
Use$$...$$ or \[...\] delimiters to typeset a block-level (displayed) equation:
\displaylines command keeps each equation on its own line within a single block, which is useful for multi-line equation systems like Maxwell’s equations shown above.
Inline math
Use\(...\) delimiters for inline mathematics — for example, writing \(a^2 + b^2 = c^2\) within a sentence. You can also use $$...$$ inline, but \(...\) is the preferred form inside prose.
Escaping gotchas with Kramdown
Because Academic Pages renders Markdown with Kramdown before MathJax processes the output, some LaTeX characters can be consumed by the Markdown parser first. Incitation fields inside publication front matter, the Markdown parser can interfere with $$...$$ delimiters. In those contexts, use \(...\) for inline math instead:
Mermaid diagrams (version 11)
Academic Pages includes Mermaid version 11 via jsDelivr. Diagrams are written as fenced code blocks with the language identifiermermaid.
Basic graph
Themed diagram
You can specify a Mermaid theme using a YAML front matter block at the top of the diagram. For example, to use theforest theme on a top-down graph:
Diagram types
Beyond flow graphs, Mermaid supports sequence diagrams, Gantt charts, class diagrams, and more. The Mermaid tutorials and GitHub documentation cover the full syntax.Plotly charts
Academic Pages supports Plotly charts through a hook in the Markdown code block renderer. You write chart data as JSON inside a fenced code block with the language identifierplotly. The template parses the JSON, then passes it to Plotly’s JavaScript library along with a theme that matches the current site theme (light or dark).
Plotly is loaded lazily via CDN — the library is only fetched when a page actually contains a plotly code block.
What you can configure
Thedata attribute accepts any Plotly trace attributes. The layout attribute controls titles, axis ranges, and grid configuration. Because the theme (colors, background, font) is injected automatically based on the site’s light/dark mode, avoid hard-coding colors in layout if you want the chart to look correct in both modes.
Scatter chart
A minimal two-series scatter chart:Scatter chart with labels and layout
A more detailed example using marker sizes, hover text, and explicit axis ranges:Subplot example
Uselayout.grid to arrange multiple traces in a side-by-side layout:
Contour plot
Contour plots use a 2Dz array:
Plotly charts automatically inherit the site’s light or dark theme. The template uses the
plotly_white template for light mode and plotly_dark for dark mode, matching the color palette defined in assets/js/theme.js. This means you do not need to specify background or font colors in your chart JSON.