English Chinese

FreeMind Hacking

FreeMind is my favorite notebook, I can not live without it. Everyday writting and searching using FreeMind.

  • All my document is version controlled. Previously I using CVS, Subversion, and latter switch to DVCS such as Mercurial(Hg), Git, …

    WorldHello SVN Service (obsolete)

What is FreeMind?

References:

Why Hacked FreeMind?

Because it scratch my personal itch.

  • Output of Chinese characters are encoded as XML entities, such as &#xxx;. Which can not be easily recognized.

    Compare different revisions is hard if all native characters are encoded like that.

  • FreeMind saves contents and status infomation as attributes in .mm files, but some attributes have nothing to do with the real contents. These attributes make FreeMind documents hard to manage using a version controll system.

    For example:

    • Status of node folded or unfolded is saved in FOLDED attribute. If one does not change the contents of the node, but only change the folding status of nodes, the output file (.mm file) still has changes. This cause unnecessarily commit to version control system.
    • Some attributes such as node create time, modified time are already managed by version control system, so there are no needs to save these attributes to mindmaps.

FreeMind is open source, makes the customization becoming possible.

Screen shot ¶

Source code

Freemind's version control system migrated from CVS to Git at 2011, so I also change the way for maintenance of FreeMind-MMX patches.

  • In 2010, FreeMind-MMX migrated to Git, and the patches are managed using Topgit.

    At that time, I do not release the repository. It is because the repository is too big to push onto Github.

  • While in 2011, FreeMind upstream repository migrated from CVS to Git, and I can share the patches again using a different and smart way.

    Inspired by Android Repo, FreeMind-MMX topgit controlled repository split into 3 repositories:

    • FreeMind Official Repository: git://freemind.git.sourceforge.net/gitroot/freemind/freemind

      Notes: there is not '.git' suffix in the URL, If add a '.git' suffix, clone failed.

Download

Downlaod FreeMind-MMX from SourceForge:

http://sourceforge.net/project/platformdownload.php?group_id=253752

If you want the newest version, compile yourself as the following.

Compile from Source

You need Android Repo, but a hacked version!

It is because FreeMind Official Repository URL does not ending with '.git' suffix, but repo will add the suffix automatically. So a hacked repo is needed.

  • Install hacked repo first:
        $ mkdir workspace
        $ cd workspace
        $ sudo curl -L -k http://github.com/ossxp-com/repo/raw/master/repo \
            > /usr/local/bin/repo
        $ sudo chmod a+x /usr/local/bin/repo 
    
  • Repo init from FreeMind Manifest repository.
        $ repo init -u git://github.com/ossxp-com/freemind-manifest.git
    
  • Repo Sync.

    The FreeMind Official repository is big, so this step is a bit slower.

        $ repo sync
    
  • After repo sync, there is a script named 'build.sh'. Run it.
        $ sh build.sh
    
  • Built packages are under post directory.
        $ ls post/
    

FreeMind-MMX Bug report.

Report under this platform.

How to use Redmine

See: Redmine User Guide (In Chinese)

mmx_settings_en.png (25 kB) 蒋 鑫, 04/12/2011 02:13 pm