Jupyterlab extension to export markdown file as pdf, docx and html (with embedded images)
Project description
jupyterlab_export_markdown_extension
[!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.
Features
- PDF Export - Full Unicode and emoji support via weasyprint
- DOCX Export - Microsoft Word documents with smart image sizing (fit-to-page for large images)
- HTML Export - Standalone files with embedded images
- GitHub Alerts - Colored alert boxes for
[!NOTE],[!TIP],[!IMPORTANT],[!WARNING],[!CAUTION]with left border and background shading in DOCX/PDF - Mermaid Diagrams - Client-side rendering with calibrated DPI scaling (configurable, default 150 DPI)
- Embedded Images - Local images automatically converted to base64
- Syntax Highlighting - Code blocks with Pygments-powered coloring
- 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 diagram DPI and alert label visibility via Settings Editor
- Pure Python - No pandoc, no LaTeX, no system dependencies
Requirements
- JupyterLab >= 4.0.0
- Python >= 3.9
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.
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
- Open a markdown file in JupyterLab
- Use File -> Export Markdown As submenu, or
- Open command palette (Ctrl+Shift+C) and search "Export Markdown"
Export Formats
| Format | Library | Notes |
|---|---|---|
| weasyprint | Unicode, emojis, compact styling | |
| DOCX | python-docx + htmldocx | Smart image sizing, banded tables, alert boxes, 0.5" margins |
| HTML | markdown | Standalone with embedded images |
Settings
Configure the extension via Settings -> Settings Editor -> Export Markdown Extension:
- Diagram DPI - Resolution for Mermaid diagrams (default: 150, range: 72-600)
- 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
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jupyterlab_export_markdown_extension-1.3.5.tar.gz.
File metadata
- Download URL: jupyterlab_export_markdown_extension-1.3.5.tar.gz
- Upload date:
- Size: 521.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3df4595ff8cd07e249c54ebe8bc48b6066f0f6dbebb5b84c09c7bf7d25a74245
|
|
| MD5 |
62e51e3330896a4a08616e35c996feff
|
|
| BLAKE2b-256 |
8b4a27303ba8eca23d65941d0152ebfc72ee6bd0c016733176a2ab99fff7a3ef
|
File details
Details for the file jupyterlab_export_markdown_extension-1.3.5-py3-none-any.whl.
File metadata
- Download URL: jupyterlab_export_markdown_extension-1.3.5-py3-none-any.whl
- Upload date:
- Size: 44.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96ed9f8da4bb84668ae6fa019465765db854fc0ba7246f673868be18dc6ab51f
|
|
| MD5 |
56e5998517135a02552e211d99c8b6d3
|
|
| BLAKE2b-256 |
3f4c02ce2c1a8e49ba44e97b7abc754b365717eb22e5951be14e0c282c5836c2
|