Allround-Zettelkasten Leo Editor

Aus LinuxUser 10/2014

Allround-Zettelkasten Leo Editor

© texelart, 123RF

Merken, planen, programmieren

Programmierer und Webdesigner müssen eine Vielzahl von Informationen zentral verwalten. Der Leo Editor nimmt sich dieses Problems auf pfiffige Weise an.

Auch wenn die Macher auf ihrer Homepage als Beschreibung “IDE, PIM und Outliner” angeben, stellt Leo Editor [1] nicht zwingend eine alleinstehende Entwicklungsumgebung dar. Vielmehr arbeitet die Software auch mit anderen IDEs zusammen, so etwa mit Emacs oder Vim.

Das Programm stellt eine übersichtliche Oberfläche zur Verfügung, die in bis zu vier Bereichen alle Informationen zu einem Projekt präsentiert (Abbildung 1). Links oben residiert die Outline-Ansicht mit allen Dokumenten, die zum Projekt gehören. Rechts daneben befindet sich das Log mit allen Aktionen, die innerhalb von Leo stattfanden. Über die verschiedenen Reiter rufen Sie weitere Funktionen zum Log auf, so etwa die Suche oder eine Anzeige spezifischer Tätigkeiten. Darunter befindet sich die Anzeige für die jeweiligen Inhalte der ausgewählten Dateien. Je nach Art der Datei teilt sich der untere Bereich noch einmal auf und zeigt eine Übersicht der Datei an.

Abbildung 1: Das mit bis zu vier Bereichen versehene Fenster des Leo Editors bietet eine gute Übersicht über ein Projekt, dessen Inhalte und auch die Veränderungen im Log.

Abbildung 1: Das mit bis zu vier Bereichen versehene Fenster des Leo Editors bietet eine gute Übersicht über ein Projekt, dessen Inhalte und auch die Veränderungen im Log.

Installation

Da es sich beim Leo Editor um ein Python-Programm handelt, benötigt er nicht zwingend eine Installation. Der in der Anleitung auf der Homepage beschriebene Einrichtungsweg führt zum Teil auch ins Leere. Da sich zudem das PPA für Ubuntu nicht mehr auf dem neuesten Stand befindet, schlägt auch eine Installation auf diesem Weg fehl.

Wenigstens über das im Paket enthaltene Script leo-install.py gelingt das Einrichten. Es geht aber auch ohne: Dazu müssen Sie lediglich den Pfad zum Leo-Verzeichnis den Pfadangaben des Systems hinzufügen – Listing 1 zeigt ein Beispiel.

Listing 1

$ PATH=${PATH}:${HOME}/leo-4-11
$ export PATH

Anschließend starten Sie die Software mit dem Aufruf python launchleo.py. Voraussetzung dafür ist eine installierte Python-Umgebung samt PyQt-Paket. Letzteres bringen die meisten Distributionen von Haus aus mit. Fehlt es auf Ihrem System, installieren Sie es wie gewohnt über die Paketverwaltung.

Das komplette Verwalten der Einstellungen realisierte das Projekt im Leo-Format (Abbildung 2). Bei der Konfigurationsdatei handelt es sich also selbst um ein Leo-Projekt, was sehr gut die zugrunde liegende Arbeitsweise veranschaulicht. Immerhin lässt sich Leo durch den direkten Zugriff auf die Python-Daten beliebig erweitern oder anpassen, was sich auch in den Einstellungen manifestiert.

Arbeitsweise

Zunächst einmal sammelt der Editor Texte und speichert diese in einzelnen Textfiles innerhalb einer .leo-Datei. Damit Leo beim Speichern und beim Export weiß, wie er Texte verarbeiten soll, markiert er sie mit Direktiven. Somit unterscheidet sich die Software kaum von anderen Programmierumgebungen, die ähnlich beziehungsweise genauso verfahren. Allerdings greifen Sie bei Leo über Python unter Umständen viel direkter in das Geschehen ein, da Sie die Applikation bei Bedarf an Ihre Wünsche anpassen, während Sie an anderen Projekten arbeiten.

Möchten Sie Leo beispielsweise zusammen mit Ihrem bevorzugten Editor nutzen, etwa weil Ihnen dessen Dateiverwaltung gefällt, steht dem in der Regel nichts im Weg. In Emacs integrieren Sie Leo über ein Pymacs-Script und arbeiten dann innerhalb von Emacs mit von Leo bereitgestellten Daten und Befehlen. Bei Vim läuft es anders herum, da Leo von Haus aus eine Reihe von Vim-Befehlen direkt zur Verfügung stellt.

Andere Programme mit Python-Hintergrund interagieren über das Leobridge-Modul beziehungsweise über die Iphyton-Bridge mit Leo Editor.

Direktiven

Zum Umgang mit externen Daten kennt Leo unter anderem die Direktiven @file und @all. Erstellen Sie im Outline-Editor einen neuen Knoten mit einem vorangestellten @file (Abbildung 3), so legt der Editor eine externe Datei an oder ruft sie, falls bereits vorhanden, auf. Ein solches File kann unterschiedlichste Informationen enthalten, so etwa normalen Text, aber auch Codeschnipsel oder Unterprogramme, selbst in unterschiedlichen Programmiersprachen.

Damit im Zusammenhang steht der @all-Befehl. Trifft Leo auf diesen, exportiert die Software alle Dateien in ein neues File, wobei sie die durch die Leo-Outline vorgegebene Ordnung beibehält.

Weitere Direktiven betreffen zum Beispiel die Syntax-Markierung. Hier gibt es diverse Möglichkeiten, das Highlighting zu konfigurieren, wobei Leo die unterschiedlichen in einem Projekt verwendeten Programmiersprachen problemlos berücksichtigt.

Mit weiteren Direktiven lässt sich das Verhalten des Editors steuern. So versieht er beim Import von externen Daten die Dateien zum Teil mit Kommentaren. Wünschen Sie dieses Verhalten nicht, legen Sie mittels @shadow einen sogenannten Shadow-Baum an, der dafür sorgt, dass die externen Dateien unberührt bleiben.

Einstieg in Leo

Zwar erscheint einiges zu Beginn etwas ungewohnt, dafür stellen die Entwickler aber ein umfangreiches Tutorial [2] bereit, das auf die Eigenheiten von Leo eingeht. Zur Ergänzung stehen einige Videos zur Verfügung, die in die Umgebung einführen und auch Programmierer an die Hand nehmen, um eigene Projekte damit zu realisieren.

Als Beispiel verwendet der Projekt-Maintainer dabei Leo-Dateien beziehungsweise Outlines, mit denen er Leo selbst programmiert beziehungsweise weiterentwickelt hat. Dabei geht er insbesondere auf die Spezialitäten des Programms ein, wie die Direktiven und die Arbeitsweise der Programmierumgebung.

Leo nur als IDE?

Leo Editor arbeitet in erster Linie als Outliner, sprich als Programm, mit dem Sie Informationen in strukturierter Form speichern und bearbeiten. Programme beziehungsweise deren Quellcode stellen hier prinzipiell nur eine von vielen möglichen Ausprägungen strukturierter Informationen dar, wenn die Software auch ihren Schwerpunkt darauf legt.

Seine Art, Daten zu speichern, macht Leo jedoch zu einem flexiblen Werkzeug, mit dem Sie auch andere Textdaten speichern und verarbeiten. So entsteht aus der IDE mit ein paar Handgriffen und einem geschickten Aufbau der jeweiligen Outline ganz schnell ein Personal Information Manager. Landläufig versteht man darunter zwar häufig ein Adressbuch oder eine Kontaktsammlung, aber Leo macht daraus schlicht und einfach eine Sammlung von Informationen zu einem Thema. Letztendlich unterscheidet sich eine Kontaktdatei nur inhaltlich von einem Programmprojekt, nicht aber strukturell: Leo sammelt in Programm-Outlines ebenfalls unterschiedlichste Daten, wie externe Bibliotheken, Code-Fragmente sowie Kommentare und gegebenenfalls auch eine dazugehörige Dokumentation oder Anleitung.

Da der Editor seine Informationen bei Bedarf sowohl im PDF- als auch im HTML-Format exportiert, eignet er sich letztendlich auch als Webentwickler-Tool oder Dokumentationswerkzeug. Das wird dadurch möglich und sinnvoll, dass Leo durch seine Direktiven verschiedene Dateien in ein Dokument exportieren kann, das er dann nach Vorgabe des Nutzers formatiert. Eine solche Ausgabedatei setzt sich beispielsweise aus Headern, Inhalten und Footern einer Webseite zusammen, die aus verschiedenen, referenzierten Dateien stammen.

Fazit

Leo Editor gewinnt zwar keinen Schönheitspreis, präsentiert sich aber als höchst brauchbares Stück Software, das wenige Grenzen kennt. Sein Python-Gerüst schränkt ihn weder bezüglich des verwendeten Betriebssystems ein, noch hinsichtlich des Einsatzes als IDE, Outliner oder generell Informationssammler. 

Infos

[1] Leo Editor: http://leoeditor.com

[2] Dokumentation: http://leoeditor.com/leo_toc.html

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 10/2014 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben