GitHunt

Mindmap Formatter

Export mindmaps: Freemind and FreePlane

Scope

Out of scope

  • HTML nodes

Features

  • Specify a formatter from the command-line
  • Formatters are specified as Python programs

Priority / Deprecated

FreePlane is better supported than Freemind.

The existing behavior for Freemind will be kept for a while (as of 2026-01), but prefer using FreePlane

How to use it

Setup

This project uses uv for Python package and virtual environment management.

To set up the project:

# Install uv (if not already installed)
# See https://docs.astral.sh/uv/getting-started/installation/

# uv will automatically create a virtual environment and install dependencies
uv sync

Running tests

make test              # Run all tests (typecheck + e2e)
make typecheck         # Run mypy type checker in strict mode
make test-e2e          # Run end-to-end tests

Sample usage

See examples in approval_tests:

python3 main.py --input ./data/test1.mm --formatter leaf_as_text.py

Extending the formatters

This project has been designed so that the formatting is separated from the XML representation.

To use another Exporter, implement another child of MindmapExporter, then call it in the main arguments.
See example invocation in the approval_tests folder.

There is a sample exporter in the print_as_titles.py file.

Languages

Python98.4%Makefile1.5%Shell0.1%

Contributors

Created November 9, 2021
Updated January 26, 2026
alvarogarcia7/mindmap-exporter-formatter | GitHunt