Mirror your MindMeister maps to nvALT

[Tweet : nvALT]

I love iThoughtsX, MindNode Pro and Mindjet MindManager for a lot of the local brainstorming I do on my Mac, but I’ve found myself doing a lot of work with MindMeister in a Fluid browser (and on iOS) lately.

MindMeister is great for creating mind maps for sharing, collaboration and even presentation (with slideshow functionality), and has import and export functionality for all the other apps I use.

The one thing I wanted was to be able to search my MindMeister maps and brainstorms as part of my nomal notes setup, meaning nvALT and Spotlight. So I modified a project I worked on with Donald Curtis called mindmeister2md to do just that.


The original script allowed for selecting and exporting a single map as Markdown. My modified version exports every map in your account to separate Markdown files, intended to be stored in my nvALT folder as plain text files. It also saves copies of my maps in PDF and Mindjet MindManager formats in a separate export folder. These can be searched with Spotlight and maintain their original formatting.

This is not a 2-way sync, it just gives you local, searchable copies of your work. Each of the Markdown notes contains a direct link back to the map, and stores additional details in MultiMarkdown metadata format. It has some rudimentary TaskPaper support for maps that contain due dates and priorities, but that part isn’t fully fleshed out yet.

The script will check the last updated date of the maps and if no changes have been made since the last export, it will ignore them. This allows the script to be run as a recurring task using launchd. I run it every 10 minutes in the background, making a quick ping to the API and checking to see if any maps have been updated. If not, it quietly exits. If there are new changes, it updates the related files accordingly.


To use it, save the script from GitHub as mindmeister_store.rb and run it once to initialize the config file at ~/.mindmeister2rb. You’ll need an API key from MindMeister, which you can apply for here. Edit the configuration file with your API key and secret. While you’re in there, edit the markdown_storage_folder and export_storage_folder keys to point to your notes folder and where you want any exported files (pdf, mindmanager, etc.) to be stored.

The export options need to include an export type and the extension you want assigned to the files. For example:

	export_storage_folder: ~/Dropbox/MindMeisterMaps/
	  mindmanager: mmap
	  pdf: pdf

Available options also include “freemind” and “rtf.” I haven’t set up image exports yet, mostly because they’re not searchable with Spotlight and there’s no point for me if I have the PDF and MindManager versions.

Next, you’ll need to run it at intervals. I suggest using launchd via a configuration tool such as Launch Control (my current preference) or Lingon. Set it up to run at any reasonable interval based on how often you update your mind maps on MindMeister.

Here’s the script link again: https://gist.github.com/ttscoff/cd2a6c17964cccfb6665. If you don’t already have a MindMeister account, sign up for a free trial at MindMeister.com.