Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Convert MindMeister maps to Markdown
Branch: master
Failed to load latest commit information.
LICENSE Added GPL-3 License
mindmeister2md.rb More fixes for using multi-line notes. Indenting was a bit off.


A Ruby script for converting MindMeister maps to Markdown.


The script has two main functions,

  • list all your maps
  • output a map as markdown

When run with no arguments, the script prints a menu of maps available for you to select:

   Available MindMeister Maps
    1: Software                      ( 2011-10-31 04:13:58 ) [ 117882387 ]
    2: Internet Layer Protocols      ( 2011-10-27 18:10:26 ) [ 120233062 ]
    3: Network Layer                 ( 2011-10-27 16:41:09 ) [ 119115816 ]
    4: HTML                          ( 2011-10-24 17:59:28 ) [ 117882606 ]
    5: Newbie                        ( 2011-10-24 03:53:40 ) [ 119564927 ]
    6: Ethernet                      ( 2011-10-24 03:53:00 ) [ 116616227 ]
    7: My First iPad Map             ( 2011-10-21 14:19:07 ) [ 119100256 ]
    8: My First iPhone Map           ( 2011-10-21 14:17:30 ) [ 119262965 ]
    9: Threads                       ( 2011-10-20 15:14:29 ) [ 116945908 ]
   10: Computer Hardware             ( 2011-10-12 19:24:19 ) [ 117875898 ]
   11: ACM Programming Tips          ( 2011-10-11 04:03:21 ) [ 117550509 ]
   12: Interprocess Communication    ( 2011-10-04 02:54:56 ) [ 116511362 ]

Optionally you can pass either the name of a map (case insensitive) or the map id (given in square brackets in the menu) as argument(s). Both of these would return the "My First iPad Map",

   ./mindmeister2md.rb my first ipad map
   ./mindmeister2md.rb 119100256

By default the script outputs the markdown to the screen. There is an optional command-line argument (-o) which will write the markdown to a file.

For the UNIX geeks: Only the generate markdown is sent to standard output (STDOUT). So the markdown can easily be piped to other commands,

    ./mindmeister2md.rb my first ipad map | wc -l


Each user needs to have a MindMeister api key and secret in order to use this script. There is a configuration file in the home directory named .mindmeister2md created automatically by the script the first time it is run.

By default the configuration file looks similar to this:

   indent: 4
   list_level: 2

You get both api_key and secret from the MindMeister api request page. The other two options you can set are:

list_level : The level in the map where lists should begin. At a list_level of 2, the first two levels of the map tree structure are represented as markdown headings, rather than as lists. A list_level of 0 will mean that the map will be exported as a single giant list.

indent : specifies the number of spaces that represent a single indent in the list.

Command Line Options

Most of the configuration file can also be changed at run-time using optional command line arguments. There is also an option to simply print the maps without actually printing any of them out as well as output to a file.

Usage: mindmeister2md.rb [options]

-l, --list : List available maps and exit.

-i, --indent <indent> : Set number of spaces for each indent level. Like temporarily setting indent in the configuration file.

-s, --listlevel <list_level> : Set the level at which lists should start. Like temporarily setting list_level in the configuration file.

-o, --output FILE : Write output to FILE.

-h, --help : Print command-line argument help.

Something went wrong with that request. Please try again.