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
  • 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

License

BSD 3-Clause License

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file jupyterlab_export_markdown_extension-1.6.22.tar.gz.

File metadata

File hashes

Hashes for jupyterlab_export_markdown_extension-1.6.22.tar.gz
Algorithm Hash digest
SHA256 7c0ff8a4adef329e7cfe17f75e7fb2944d65dee19b23ae4517982c9c4d5bb33e
MD5 b20fa119621231dd631f6af877c1ae0f
BLAKE2b-256 7a6e19a07553eb2828609dcacf4bf401b1d2f6efa6c60b705476cf053f235b51

See more details on using hashes here.

File details

Details for the file jupyterlab_export_markdown_extension-1.6.22-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyterlab_export_markdown_extension-1.6.22-py3-none-any.whl
Algorithm Hash digest
SHA256 3af3c7a62b9d1351a176a7ce7385f640348c3c18d404c024fc2217ca31209b7a
MD5 bd06de61d5b09c2715179a002a23a899
BLAKE2b-256 11c741b14434c3c7ed5d9ec1f887b2131ac6b247321dc4eea4af66f004258779

See more details on using hashes here.

Release history Release notifications | RSS feed

1.6.23

2 files

This release

1.6.22 This release

2 files

1.6.21

2 files

1.6.20

2 files

1.6.19

2 files

1.6.18

2 files

1.6.17

2 files

1.6.16

2 files

1.6.15

2 files

1.6.14

2 files

1.6.13

2 files

1.6.12

2 files

1.6.11

2 files

1.6.10

2 files

1.6.9

2 files

1.6.8

2 files

1.6.7

2 files

1.6.6

2 files

1.6.5

2 files

1.6.4

2 files

1.6.3

2 files

1.6.2

2 files

1.6.1

2 files

1.5.17

2 files

1.5.16

2 files

1.5.14

2 files

1.5.13

2 files

1.5.10

2 files

1.5.9

2 files

1.5.8

2 files

1.5.7

2 files

1.5.6

2 files

1.5.5

2 files

1.5.4

2 files

1.4.8

2 files

1.4.7

2 files

1.4.5

2 files

1.4.2

2 files

1.3.6

2 files

1.3.5

2 files

1.3.4

2 files

1.3.2

2 files

1.2.23

2 files

1.2.15

2 files

1.2.13

2 files

1.2.11

2 files

1.2.9

2 files

1.2.7

2 files

1.2.4

2 files

1.1.23

2 files

1.1.12

2 files

1.1.8

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.0.12

2 files

1.0.6

2 files

1.0.3

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page