Skip to main content

jupyterlab_export_markdown_extension

GitHub Actions npm version PyPI version Total PyPI downloads JupyterLab 4 Brought To You By KOLOMOLO

[!TIP] This extension is part of the stellars_jupyterlab_extensions metapackage. Install all Stellars extensions at once: pip install stellars_jupyterlab_extensions

Export markdown files to PDF, DOCX, and HTML directly from JupyterLab. No external dependencies required - just pip install and go.

Export Markdown As menu

Features

  • PDF Export - Full Unicode and emoji support via reportlab
  • DOCX Export - Microsoft Word documents with smart image sizing (fit-to-page for large images)
  • HTML Export - Standalone files with embedded images
  • LaTeX Math - Native OMML equations in DOCX (editable in Word), KaTeX in HTML, PNG images in PDF
  • GitHub Alerts - Colored alert boxes for [!NOTE], [!TIP], [!IMPORTANT], [!WARNING], [!CAUTION] with left border and background shading in DOCX/PDF
  • Mermaid Diagrams - Rendered server-side to PNG via Playwright Chromium at the configured SVG export width
  • Embedded Images - Local images automatically converted to base64
  • Syntax Highlighting - Code blocks with Pygments-powered coloring
  • Wide Tables - Tables wider than the page wrap within a fitted column layout instead of running past the margin, in PDF, DOCX and HTML
  • Task Lists - - [x] / - [ ] render as checkbox glyphs in HTML, DOCX and PDF
  • Lists and Callouts - two-space nested lists render as lists, every ordered list restarts at 1, and a bordered <div> draws as a box - a uniform border as a frame in its own line style, an accented one with its bar - in DOCX and PDF
  • Inline HTML - <span style="color:...">, font-weight, font-style, text-decoration, <mark>, <del>, <ins>, <kbd>, <font color>, align= and <div> render as written in DOCX and PDF
  • Symbol Glyphs - ★ ☆ ✓ ✗ ☐ ☒, arrows and box drawing name a font of their own in DOCX, so they look the same in every reader's Word
  • Export Spinner - Modal dialog shows progress during export operations
  • File Menu Integration - "Export Markdown As" submenu appears when markdown is active
  • Command Palette - All export commands available via Ctrl+Shift+C
  • Settings - Configure export font size, SVG export width, math export width, themes, and alert label visibility via Settings Editor
  • Pure Python - No pandoc, no LaTeX, no system dependencies

Requirements

  • JupyterLab >= 4.0.0
  • Python >= 3.10

For PDF export, install required system libraries and emoji font:

# Ubuntu/Debian
sudo apt-get install libcairo2 libpango-1.0-0 libpangoft2-1.0-0 fonts-noto-color-emoji

Mermaid diagrams are rendered client-side using JupyterLab's built-in Mermaid support - no additional installation required. An export driven through the REST endpoints instead of the UI has no browser to render them, so the server renders those diagrams itself with a bundled copy of Mermaid, in the same Playwright Chromium the SVG rasterizer uses - no network access involved.

A diagram that cannot be rendered never fails the export: its source is kept and the response carries an X-Export-Warnings header describing what happened, as a JSON array of {code, count, diagrams, message}. code is one of chromium-unavailable, bundle-missing, syntax-error, layout-unsupported, render-timeout, skipped, budget-exhausted, rasterize-failed or render-failed; count is how many diagrams the warning covers, diagrams a bounded prefix of their positions in the document, and message the remedy in full - a caller needs nothing beyond the header. It is absent when everything rendered, and is listed in Access-Control-Expose-Headers so a cross-origin caller can read it.

Install

pip install jupyterlab_export_markdown_extension

That's it. No really, that's actually it. We spent considerable effort making sure you don't have to install pandoc, LaTeX, or sacrifice a goat to get this working.

Usage

  1. Open a markdown file in JupyterLab
  2. Use File -> Export Markdown As submenu, or
  3. Open command palette (Ctrl+Shift+C) and search "Export Markdown"

Export Formats

Format Library Notes
PDF reportlab Unicode support, compact styling, math as PNG images
DOCX python-docx + htmldocx Native OMML math, smart image sizing, banded tables, alert boxes
HTML markdown + KaTeX Standalone with embedded images, client-side math rendering

Settings

Configure the extension via Settings -> Settings Editor -> Markdown Export Extension:

  • Export Font Size - Base body text size for all three formats: small (10pt), medium (12pt, default), large (13pt). Every other size - headings, tables, code, captions - is a fixed proportion of it, so the whole document scales together
  • SVG Export Pixel Width - Target pixel width for SVG images and Mermaid diagrams rasterized server-side in DOCX/PDF (default: 1920, range: 400-4096). Height follows the source aspect ratio
  • Math Export Pixel Width (PDF only) - Target pixel width for math expression images in PDF export (default: 800, range: 200-3000). DOCX uses native OMML equations and HTML uses KaTeX, neither affected by this setting
  • Show Alert Labels - Display alert type labels (NOTE, TIP, etc.) in exported documents (default: off)

Uninstall

pip uninstall jupyterlab_export_markdown_extension

Contributing

If you would like to contribute to this extension, please refer to the Contributing Guide.

License

BSD 3-Clause License

Metadata

Release files for jupyterlab-export-markdown-extension 1.6.28

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyterlab-export-markdown-extension 1.6.28
File Size Uploaded
jupyterlab_export_markdown_extension-1.6.28.tar.gz 2.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyterlab-export-markdown-extension 1.6.28
File Interpreter ABI Platform
jupyterlab_export_markdown_extension-1.6.28-py3-none-any.whl Python 3 none any Details

Total release size: 3.8 MB

Release files / jupyterlab_export_markdown_extension-1.6.28.tar.gz

Download URL jupyterlab_export_markdown_extension-1.6.28.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
b2eaa4d34c9c364476665c98c7fbd2b05e67820a1c5d75fb322f778a8d4a863c
BLAKE2b-256 checksum
How to use checksums
7d135c926beabdc3b26b8a6886d32965da2f0391ba42342973770ff40f5a627f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / jupyterlab_export_markdown_extension-1.6.28-py3-none-any.whl

Download URL jupyterlab_export_markdown_extension-1.6.28-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
57f055cfb004fd30c5f109ae87ee62c7a426e84a187298b341bef3e1f671d173
BLAKE2b-256 checksum
How to use checksums
0e84e0514f9b27c67199da4ff2ec6671b782dfdcae3214e4f8a8c92ea770f165
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

1.6.31

2 release files

1.6.30

2 release files

1.6.29

2 release files

This release

1.6.28 This release

2 release files

1.6.27

2 release files

1.6.26

2 release files

1.6.25

2 release files

1.6.24

2 release files

1.6.23

2 release files

1.6.22

2 release files

1.6.21

2 release files

1.6.20

2 release files

1.6.19

2 release files

1.6.18

2 release files

1.6.17

2 release files

1.6.16

2 release files

1.6.15

2 release files

1.6.13

2 release files

1.6.12

2 release files

1.6.11

2 release files

1.6.10

2 release files

1.6.9

2 release files

1.6.8

2 release files

1.6.7

2 release files

1.6.6

2 release files

1.6.5

2 release files

1.6.4

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.5.17

2 release files

1.5.16

2 release files

1.5.14

2 release files

1.5.13

2 release files

1.5.9

2 release files

1.5.8

2 release files

1.5.7

2 release files

1.5.6

2 release files

1.5.5

2 release files

1.5.4

2 release files

1.4.8

2 release files

1.4.7

2 release files

1.4.5

2 release files

1.4.2

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.2

2 release files

1.2.11

2 release files

1.2.9

2 release files

1.2.7

2 release files

1.2.4

2 release files

1.1.12

2 release files

1.1.8

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.0.12

2 release files

1.0.6

2 release files

1.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page