Markdown Tutorial MarkdownMaster Team

Advanced Markdown: Footnotes, Mermaid Diagrams, Math Formulas, and More

Basic Markdown gets you 80% of the way there. But the remaining 20% — footnotes, diagrams, math formulas, and interactive elements — is what separates a good document from a great one.

This guide covers the advanced Markdown features that most tutorials skip. Not all of them work everywhere (we will show you exactly where each one is supported), but mastering these will make your documentation, blog posts, and technical writing stand out.

To test any of these features in real time, use the MarkdownMaster online editor with live preview.

Footnotes

Footnotes let you add citations, clarifications, or asides without cluttering the main text. They are supported by most Markdown renderers, including GitHub, Pandoc, and many static site generators.

Syntax:

Here's a statement that needs a footnote.[^1]

More text here.

[^1]: This is the footnote content. It appears at the bottom of the document.

How it renders: The [^1] in the text becomes a superscript link. Clicking it jumps to the footnote definition at the bottom of the document. Clicking the footnote's ↑ link jumps back to the reference point.

You can have multiple footnotes in a single document:

Markdown is great for formatting[^formatting]. It also supports tables[^tables].

[^formatting]: Bold, italic, strikethrough, and inline code.
[^tables]: GitHub-flavored Markdown includes table syntax.

Tips:

Mermaid Diagrams

Mermaid is a JavaScript-based diagramming tool that renders text definitions into diagrams. Write the diagram in plain text inside a code block with the mermaid language identifier, and compatible renderers turn it into a chart.

GitHub, GitLab, Notion, Obsidian, and many documentation tools support Mermaid natively. Note: The MarkdownMaster editor does not render Mermaid in the preview pane yet, but the exported HTML can include a Mermaid renderer.

Flowcharts

Flowcharts show processes, workflows, or decision trees. They are one of the most common diagram types in technical documentation.

```mermaid
graph TD
    A[Start] --> B{Is it Markdown?};
    B -->|Yes| C[Use MarkdownMaster];
    B -->|No| D[Convert to Markdown];
    C --> E[Export HTML/PDF/MD];
    D --> E;
    E --> F[✅ Done];
```

Key syntax elements:

Sequence Diagrams

Sequence diagrams show interactions between components over time. They are essential for documenting API flows, authentication workflows, and multi-service architectures.

```mermaid
sequenceDiagram
    participant User
    participant Editor
    participant Preview

    User->>Editor: Type Markdown
    Editor->>Preview: Parse & Render
    Preview-->>User: Show live preview
    User->>Editor: Click Export
    Editor->>User: Download HTML/MD file
```

Key syntax elements:

Gantt Charts

Gantt charts visualize project timelines and task dependencies. Useful for README roadmaps, project planning documents, and status updates.

```mermaid
gantt
    title Project Timeline
    dateFormat  YYYY-MM-DD
    section Planning
    Requirements    :done, 2026-01-01, 14d
    Design          :active, 2026-01-15, 21d
    section Development
    Frontend        :2026-02-05, 30d
    Backend         :2026-02-05, 30d
    section Release
    Testing         :2026-03-07, 14d
    Launch          :2026-03-21, 3d
```

Key syntax elements:

LaTeX Math Equations

Mathematical notation in Markdown uses LaTeX syntax, rendered by libraries like MathJax or KaTeX. GitHub, Jupyter Notebooks, Obsidian, and many academic platforms support this.

Inline math uses single dollar signs:

The quadratic formula: $$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$$

Display math uses double dollar signs or \\[ ... \\]:

Inline math: $E = mc^2$

Block math:

$$
\sum_{i=1}^{n} i = \frac{n(n+1)}{2}
$$

Matrices:

\[
\begin{bmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{bmatrix}
\]

Piecewise functions:

\[
f(x) = \begin{cases}
x^2 & \text{if } x \geq 0 \\
-x^2 & \text{if } x < 0
\end{cases}
\]

Common LaTeX math commands:

Symbol Command Symbol Command
α\\alphaβ\\beta
\\sum\\int
\\sqrtπ\\pi
\\infty\\neq
\\rightarrow\\approx
\\partial\\nabla

Note: LaTeX math requires a rendering library. The MarkdownMaster editor does not render math in preview, but you can paste the output into a GitHub README or Jupyter notebook for rendering.

Callouts & Alerts

Callouts (also called admonitions or alerts) draw attention to important information. Different platforms support different syntaxes:

GitHub Alerts (2024+):

> [!NOTE]
> Useful information that users should know.

> [!TIP]
> Helpful advice for doing things better.

> [!IMPORTANT]
> Crucial information that users must follow.

> [!WARNING]
> Content that could lead to problems if ignored.

> [!CAUTION]
> Potentially dangerous or destructive actions.

Obsidian callouts:

> [!note] Title
> Content here.

> [!warning] Security Warning
> Do not expose API keys in client-side code.

Obsidian also supports: [!info], [!todo], [!tip], [!success], [!question], [!failure], [!danger], [!bug], [!example], [!quote].

Pandoc / MkDocs admonitions:

::: note
This is a note.
:::

::: warning
This is a warning.
:::

Callouts are a great way to break up long walls of text and make important information visually distinct. Use them sparingly — if everything is a callout, nothing is.

Custom Containers (Markdown Extended)

Some Markdown processors (VuePress, Docusaurus, MkDocs) support custom containers — styled divs with labels. They extend the callout concept to arbitrary content:

::: tip
**Pro tip:** You can nest Markdown inside containers, including code blocks and lists.
:::

These are not standard Markdown — they require a specific processor. But if you control your toolchain (e.g., building a documentation site with VuePress), custom containers are an extremely useful pattern for structured content.

Definition Lists

Definition lists are supported by Pandoc, Kramdown (used by GitHub Pages with Jekyll), and some other processors. Standard Markdown does not include them, but they are useful for glossaries and metadata.

Term One
: Definition of term one

Term Two
: Definition of term two
: Second definition for the same term

If your Markdown processor does not support definition lists natively, you can simulate them with tables or bold text followed by indented paragraphs:

**Term**
  Definition here.

This is not as clean, but it works everywhere.

Highlight & Mark Text

Standard Markdown has no <mark> element for highlighting text. Some extensions add this:

Pandoc / Multimarkdown:

This text is ==highlighted== in yellow.

GitHub does not support ==highlight== syntax in README files. You can use HTML <mark> instead:

This text is <mark>highlighted</mark> in HTML.

GitHub renders basic HTML tags, so <mark> works. Some themes may not show the highlight color distinctly, so test it before relying on it.

Emoji Shortcodes

GitHub and many other platforms support emoji shortcodes. Type a colon followed by the emoji name:

Shortcode Result Shortcode Result
:rocket:🚀:zap:
:tada:🎉:bug:🐛
:white_check_mark::warning:⚠️
:sparkles::fire:🔥
:book:📖:wrench:🔧
:checkered_flag:🏁:x:

Emoji :shortcodes: only work on platforms that support them. On plain Markdown renderers, they will show as literal text. As a fallback, copy the actual emoji character (use emojipedia.org).

Where Each Feature Works

Not all Markdown renderers are created equal. Here is a compatibility matrix:

Feature GitHub GitLab Obsidian Notion Pandoc
Footnotes
Mermaid diagrams⚠️ Plugin
LaTeX math⚠️ Limited⚠️ Block only
GitHub Alerts⚠️ Partial⚠️ Similar
Definition lists
Emoji shortcodes⚠️ Partial
Highlight ==text==
Custom containers⚠️ CSS

The golden rule: if you are writing for a specific platform (e.g., a GitHub README), use only the features that platform supports. If you are writing portable Markdown that might be rendered anywhere, stick to the basic syntax — everything in this article beyond footnotes and basic tables is an extension.

FAQ

Do footnotes work in all Markdown editors?

No. Footnotes are an extension, not part of the original Markdown spec. They work in GitHub, Pandoc, and most static site generators, but not in basic Markdown previewers. The MarkdownMaster editor processes standard Markdown; footnotes require a compatible renderer.

Can I use Mermaid in any Markdown file?

Mermaid requires a compatible renderer. GitHub renders Mermaid natively in .md files since 2022. For other platforms, you may need to install a plugin or use a Mermaid-based editor to generate static images.

Does Google Search support LaTeX math in Markdown?

Google indexes LaTeX math if it is rendered as an image or if the page uses MathJax/KaTeX with proper server-side rendering. Plain raw LaTeX in Markdown may not be indexed as mathematical content.

What is the most universally supported advanced Markdown feature?

Tables (GitHub-flavored Markdown) are the most widely supported advanced feature. They work on virtually every platform that renders Markdown, including GitHub, GitLab, Bitbucket, Notion, Obsidian, and most static site generators.

Should I use HTML or Markdown extensions for complex layouts?

It depends on your platform. GitHub supports a limited subset of HTML (<p>, <img>, <details>, <br>) in README files. For most use cases, Markdown extensions are more portable than raw HTML. If you need complex layouts that neither HTML nor Markdown handles well, consider generating documentation with a dedicated tool like Docusaurus or MkDocs.