FreeMind mit Groovy

http://blog.choas.net/2006/09/18/freemind_mit_groovy

Copyright (C) 2003-2006 LarsGregori (Lizenz: Creative Commons)

18.09.2006 - FreeMind, Groovy, MindMapping

Letzte Woche habe ich zufälligerweise gesehen, dass es von FreeMind  (Semantik) die 0.9.0beta gibt. Die New Features  (Semantik) Seite erwähnt, dass sich Groovy  (Semantik) als Skriptsprache benutzen lässt. Da aber lediglich ein "to do" dabei stand (mitlerweile wurde der Punkt mit Leben gefüllt), habe ich mir den Quellcode - ausreichend als Dokumentation: exakt und nicht veraltet ;) - angeschaut.

In der Datei /src/freemind/plugins/script/ScriptEngine.java steht attrKey.startsWith("script"), d.h. das Skript wird erst ausgeführt, wenn das Attribut mit "script" beginnt. Sollte der Attributwert mit einem =-Zeichen anfangen, dann wird der Inhalt des Knoten ersetzt, ansonsten läuft das Skript im Hintergrund ab.

Tolle Sache, Attibutkey und -wert lassen sich durch ALT+F9 anlegen und nach einem ="hello" kam die Überlegung, dass ich bei meiner täglichen Todo-Liste doch automatisch das Datum setzen kann:

=nt = node.toString(); pos=nt.indexOf(" / "); return ((pos>=0)?nt.substring(0,pos):nt) + " / " + (new java.text.SimpleDateFormat("yyyy-M-d")).format(new Date())

Mit node.toString() erhält man den Text des Knotens. Sollte bereits ein Stück Text mit " / " vorhand sein, dann wird der Text danach ersetzt, ansonsten angehängt. Aus "TODO" wird dann "TODO / 2006-9-18" und morgen dann "TODO / 2006-9-19".

Bei meinem Brainstormingaktivitäten ( freemind_mit_groovy.mm  (Semantik) ) habe ich unter Sonstiges noch folgende Punkte:

  • Bei bomots sollte bereits das Buch Mindmapping mit FreeMind  (Semantik) erschienen sein.
  • Ich habe ein Groovy Skript gefunden, das den umgekehrten Weg geht, und zwar wird aus einer ant-build-Datei eine FreeMind  (Semantik) Datei erstellt: Turn your build.xml into a pretty picture using Groovy  (Semantik)
  • ... und dann stellt sich die Frage, ob die Welt FreeMind mit Scheme  (Semantik) als Skriptsprache bräuchte, denn mit SISC  (Semantik) sollte sich das realisieren lassen.
  •