🏠 > Changelog

☀️ 🌙

Changelog

All notable changes to mk2html will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Nothing yet

Changed

  • Nothing yet

Fixed

  • Nothing yet

[1.4.0] - 2026-01-23

Added

  • Batch conversion mode: Use * as input to convert all .md files in a directory
  • Recursive processing: -r/--recursive flag to include subdirectories in batch mode
  • MD-to-HTML link conversion: Automatically converts local .md links to .html links
  • Home link navigation: --home-link flag adds 🏠 > before the title linking to index.html
  • Smart home link skipping: Automatically skips home link for index.md/index.html files
  • --no-convert-md-links option to disable automatic link conversion
  • New helper functions: convert_single_file(), find_markdown_files(), main_batch()
  • 14 new test cases (total now 63 tests for mk2html)

Changed

  • Refactored CLI to support both single-file and batch conversion modes
  • Output option -o now accepts either a file path (single mode) or directory path (batch mode)
  • Improved output messages with batch conversion summary

[1.3.0] - 2026-01-23

Added

  • Line breaks option: --no-breaks flag to disable automatic newline to <br> conversion
  • Line numbers option: --no-line-numbers flag to disable line numbers in code blocks
  • Automatic Chromium installation: mk2pdf now auto-installs Chromium on first use
  • Comprehensive documentation: Added docs/ folder with detailed guides

Changed

  • Renamed project: Changed from md2html/md2pdf to mk2html/mk2pdf to avoid PyPI conflicts
  • Line breaks are now enabled by default (newlines become <br> tags)
  • Updated shebang to use /usr/bin/python3 for better compatibility

Fixed

  • Fixed mdx_md_in_html module error when running via symlink
  • Fixed Python path issues with different Python installations

[1.2.0] - 2026-01-23

Added

  • PDF export: New mk2pdf CLI tool for converting Markdown to PDF
  • Offline mode: --offline flag to embed JavaScript libraries
  • Library caching: Mermaid.js and Highlight.js cached in ~/.cache/mk2html/
  • Cache management: --clear-cache command to remove cached libraries
  • Comprehensive test suite: 77 tests covering both tools

Changed

  • Improved Mermaid diagram rendering with custom themes for light/dark mode
  • Better syntax highlighting with Highlight.js integration

[1.1.0] - 2026-01-22

Added

  • Mermaid diagram support: Render flowcharts, sequence diagrams, etc.
  • Dark/Light mode toggle: Persistent theme preference
  • Custom Mermaid themes: Beautiful colors for both themes
  • Progress bar: Reading progress indicator
  • Back to top button: Quick navigation

Changed

  • Improved CSS styling with CSS variables
  • Better responsive design for mobile devices

[1.0.0] - 2026-01-22

Added

  • Initial release
  • Markdown to HTML conversion: Core functionality
  • Table of Contents: Auto-generated from headings
  • Syntax highlighting: Code blocks with language detection
  • Responsive sidebar: Collapsible on mobile
  • Modern styling: Clean, professional look
  • CLI interface: Easy command-line usage

Version History Summary

Version Date Highlights
1.4.0 2026-01-23 Batch mode, recursive, home link, MD→HTML links
1.3.0 2026-01-23 Line breaks, line numbers, project rename
1.2.0 2026-01-23 PDF export, offline mode, tests
1.1.0 2026-01-22 Mermaid diagrams, dark mode
1.0.0 2026-01-22 Initial release

Migration Guide

From md2html to mk2html (v1.2.x → v1.3.0)

The project was renamed to avoid conflicts with existing PyPI packages.

Command changes:

# Old
md2html document.md
md2pdf document.md

# New
mk2html document.md
mk2pdf document.md

Import changes:

# Old
from md2html import convert_markdown_to_html
from md2pdf import convert_markdown_to_pdf

# New
from mk2html import convert_markdown_to_html
from mk2pdf import convert_markdown_to_pdf

Installation changes:

# Old
pip install md2html

# New
pip install mk2html
pip install mk2html[pdf]  # With PDF support

Cache location:

# Old
~/.cache/md2html/

# New
~/.cache/mk2html/