A minimal Python package to convert Markdown files to clean, responsive HTML with Tailwind CSS, MathJax, and beautiful typography.
Ideal for note-taking, documentation, and publishing markdown content as styled web pages.
- 🧪 Convert
.md
files into HTML - 🎨 Built-in support for Tailwind CSS
- 🧮 Renders LaTeX/Math using MathJax
- ✨ Applies prose styling for readability
- 🗂 Outputs to your desired directory
sudo apt update
sudo apt install -y \
libavif13 \
libgstreamer-plugins-base1.0-0 \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-libav \
libgstreamer-gl1.0-0 \
libgstreamer-plugins-bad1.0-0 \
libgstreamer-plugins-base1.0-dev
sudo dnf install -y \
gstreamer1-plugins-base \
gstreamer1-plugins-good \
gstreamer1-plugins-bad-free \
gstreamer1-libav \
libavif
pip install md2all
Check the test_data for the example mardown file and the output HTML and Pdf files.
- 📜 Support for custom CSS
- Support for PDF generation
- Support for custom themes
- Support for custom fonts
Sure! Here's a concise and developer-friendly documentation for using the convert_markdown
function as part of your Python library (assuming it's installed from PyPI):
Convert a Markdown (.md
) file into a styled HTML file with TailwindCSS and MathJax support.
convert_markdown(md_path: str, output_dir="output", output_format="pdf")
convert_markdown(md_path: str, output_dir="output", output_format="html")
- Converts
.md
files to clean, styled HTML - Supports LaTeX math using
$$...$$
(rendered via MathJax) - Automatically applies Tailwind CSS and custom styling
- Resolves relative paths and saves output to the desired directory
Name | Type | Description |
---|---|---|
md_path |
str | Path to the input Markdown file. Can be relative or absolute. |
output_dir |
str | (Optional) Directory to save the converted file. Defaults to input file's directory. |
output_format |
str | (Optional) Set to "html" to output HTML. Default is "pdf" , but PDF is not implemented yet. |
- Full path to the converted file.
from md2all import convert_markdown
# Convert a Markdown file to HTML
output_file = convert_markdown("notes/my_notes.md", output_dir="output", output_format="html")
print("File saved to:", output_file)
- create a
.html
file to your specifiedoutput_dir
, if not provided, it will be saved in the same directory as the input file. - Includes all CSS and MathJax setup in the HTML head section. all css and js library are inside /home/.lib/
- Deepak Raj
- I created this library to simplify the process of converting Markdown files into styled HTML/PDF documents for the system which doesn't have access to CDN/Internet. So, I made it a standalone library that can be used in any environment without the need for external resources.