Das Format Markdown und die Editoren, um dieses zu bearbeiten, sind ein beliebtes Thema bei GNU/Linux.ch. Ich habe nicht gezählt, wie oft wir bereits darüber geschrieben haben. Nach meiner Meinung ist Typora einer der besten Markdown-Editoren. Leider handelt es sich dabei um proprietäre Software. Daher verwende ich meistens den Editor MarkText oder den einfacheren Editor ReText.
Wie Ephraim im letzten Wochenrückblick berichtet hat, ist nun der Markdown-Editor Apostrophe in der Version 3.0 erschienen. Grund genug, die Anwendung einem kurzen Test zu unterziehen. Zu den Neuerungen in dieser Version gehören:
- Portierung auf GTK4 und die neuesten Widgets von libadwaita
- Verbessertes UI und Styling
- Neue Symbolleiste zur interaktiven Formatierung von Text
- Automatische Einrückung und automatische Vervollständigung von Klammern
- Live-Statistiken für ausgewählten Text
- Verbesserter Hemingway-Modus
- Neuer gesicherter Vorschaumodus beim Öffnen potenziell gefährlicher Dateien
- Erkennung, wenn die bearbeitete Datei von einem anderen Programm geändert wird
- DocuWiki wurde zu den verfügbaren Exportformaten hinzugefügt
Ich habe Apostrophe als Flatpak installiert. Nach dem Start präsentiert sich die Anwendung im modernen GTK4-Design:
Im Gegensatz zu Typora und MarkText ist Apostrophe ein Zweimodus-Editor (wie auch ReText). Es gibt die Code-Ansicht und, auf Wunsch, die WYSIWYG-Ansicht, also die gerenderte Vorschau auf den Text. Im Bildschirmfoto seht ihr diese Ansicht auf der rechten Seite. Diese Vorschau kann man ausschalten oder anders anordnen, z. B. horizontal statt vertikal. Wer möchte, kann die Vorschau in ein separates Fenster auslagern. Dies geschieht über die Schaltflächen rechts oben.
Apostrophe kennt vier unterschiedliche Farbmodi: hell/dunkel gemäss der Einstellung in der Desktop-Umgebung, hell, dunkel, Sepia. Im Bildschirmfoto habe ich Sepia verwendet. Ausserdem gibt es den Hemingway- und den Fokus-Modus. Im Ersteren verhält sich der Editor wie eine alte Schreibmaschine; es sind keine Korrekturen möglich. Beim Fokus-Modus wird die aktuelle Schreibzeile immer vertikal mittig angezeigt.
Eine begrüssenswerte Verbesserung der Version 3.0 ist die Formatierungsleiste am unteren Bildschirmrand. Diese kommt allen Schreibenden zugute, die nicht alle Markdown-Befehle auswendig kennen. In der Zeile gibt es: fett, kursiv, durchgestrichen, Überschriften (headings), Aufzählungen (Punkte und Ziffern), Checkboxen, Zitate, Code, Links, Bilder und Tabellen. Diese Leiste kann über das Pfeil-Symbol ein-/ausgeblendet werden, wobei die grafische Darstellung und der Tooltip-Text noch Fehler aufweisen. Zudem findet ihr ganz rechts in der Leiste einige statistische Angaben zum Dokument.
Neben den Fehlern beim Pfeil-Symbol ist mir aufgefallen, dass sich die Überschriften (H1, H2, H3, ...) nicht über ein Untermenü auswählen lassen, sondern "durchgeklickt" werden. Mir gefällt diese Umsetzung gut. Etwas unverständlich finde ich das Verhalten bei der numerischen Aufzählung. Standardmässig verhält sich Apostrophe so:
Mir fällt es schwer, dieses Verhalten in Worte zu fassen. Im Code zählt Apostrophe die Nummerierung herauf (1, 2, 3). Fügt man dazwischen eine weitere Zeile ein, bricht die Nummerierung (1, 2, 3, 3), wobei diese in der Vorschau korrekt dargestellt wird. Vielleicht wäre es besser, die (1, 1, 1) Nummerierung zu verwenden:
Vermutlich ist das eine Schwäche der Markdown-Spezifikation. Die beste Umsetzung wäre vermutlich, die natürliche Zahlenfolge beizubehalten. Dann würden beim Einfügen einer neuen Zeile inmitten der Nummerierung die Aufzählung im Code angepasst: Aus 1, 2, 3 würde 1, 2, 3, 4 anstatt 1, 2, 3, 3. Dem entgegen steht jedoch, die Originalität des Codes (da soll kein Algorithmus hineinpfuschen). Das ist ein schwieriges Thema.
Nun teste ich noch die Nummerierung der Überschriften. Ich habe noch keinen Markdown-Editor gesehen, der das kann. Und auch Apostrophe kommt mit dieser Aufgabe nicht klar:
Ich behaupte, dass Markdown damit überlastet ist und nicht dafür geschaffen wurde. Wer eine automatische Kapitelnummerierung wünscht, ist bei einer klassischen Textverarbeitung besser aufgehoben.
Einen Kritikpunkt habe ich noch: Codeblöcke. Das natürliche Vorgehen sieht doch so aus: Text eintippen oder hineinkopieren, Text markieren und als Codeblock formatieren. Bei allen anderen Formatierungen funktioniert das so; nicht jedoch bei Codeblöcken. Macht man es nach dem natürlichen Vorgehen, erhält man dieses Ergebnis:
Man erhält: Nichts!
Dreht man das Vorgehen um, wird es besser: Die Code-Schaltfläche klicken, Code einfügen.
Hier irritieren mich die nicht hervorgehobenen Leerzeilen auf der linken Seite. Warum werden diese nicht hervorgehoben? Es ist ein Code-Block.
So, genug gemotzt. Das Einfügen von Verweisen (Links), Bildern und Tabellen funktioniert ohne Fehl und Tadel. Auch mathematische Ausdrücke sind für Apostrophe kein Problem. Hervorheben möchte ich das Tutorial, welches sich aus dem Dreipunkt-Menü aufrufen lässt:
Für 26 Befehle kennt die Anwendung Tastenkürzel. Welche das sind, erfährt man ebenfalls über das Dreipunkt-Menü. In den Einstellungen von Apostrophe gibt es nicht viel zu tun (typisch GNOME); dennoch kann man zwischen fünf verschiedenen Markdown-Dialekten auswählen:
Auch bei den Speicheroptionen glänzt Apostrophe. Im Bildschirmfoto seht ihr, welche Exportformate bedient werden:
Wem das nicht genügt, findet unter Fortgeschrittener Export ein Füllhorn an weiteren Möglichkeiten.
Einen letzten Test habe ich noch. Klassische Textverarbeitungen scheitern oft bei sehr grossen Texten. Wenn man es mit 2500-seitigen Büchern zu tun hat, sollte man auf TeX/LaTeX-basierte Systeme ausweichen (z. B. Lyx). Doch wie sieht das bei Markdown-Editoren aus, insbesondere wenn sie eine Vorschau rendern müssen?
Der Klassiker dafür ist John Grubers Text. Mit 4084 Wörtern (27 KiB) ist dieser Standardtext jedoch zu klein; Apostrophe rendert den instantan. Da muss etwas Grösseres her. Da ich im Internet keine grossen Markdown-Texte gefunden habe, bin ich auf die Konvertierung eines E-Books in Calibre ausgewichen. Ich habe James Joyces Ulysses von epub in txt umgewandelt, die Dateiendung in md geändert und sie in Apostrophe geöffnet. Die Textdatei ist 1.8 MiB gross und enthält 287407 Wörter. Das sollte gross genug sein. Die Anwendung öffnet diese Textdatei in 1 Sekunde und erzeugt die Vorschau in knapp 40 Sekunden (Intel i7-11390H). Könnte schneller gehen, ist aber in Ordnung.
Völlig inakzeptabel ist die falsche Synchronisation beim Scrollen. Hat man die Code- und die Vorschauansicht eingeschaltet, läuft der Code der Vorschau schon nach wenigen Seiten davon. Damit ist eine Kontrolle des Getippten in der Vorschau unmöglich. Noch schlimmer wird es, wenn auf Seite 1300 (oder so) mit dem Editieren begonnen wird. Dann stürzt Apostrophe ab. Und dann wird es eklig, weil sich eine Flatpak-Anwendung nicht so einfach killen lässt, wenn man nicht weiss wie. So geht es:
flatpak kill org.gnome.gitlab.somas.Apostrophe
An dieser Stelle war mein Jagdinstinkt geweckt. Wenn das nicht passiert wäre, hätte ich dem Markdown-Editor Apostrophe ein erstklassiges Zeugnis ausgestellt, trotz der kleinen Defizite. Aber ein Vollversagen bei grossen Texten geht gar nicht. Daher habe ich den Ulysses auf MarkText und ReText gehetzt.
MarkText rendert den Text zwar etwas schneller als Apostrophe, bricht aber beim Editieren auf eine unerträgliche Langsamkeit ein und stürzt bei der Suche ab. Auch diesen Versuch musste ich so abwürgen:
flatpak kill com.github.marktext.marktext
ReText hat keine Probleme mit der grossen Datei, versagt aber auch beim synchronen Darstellen der Vorschau. Wenigstens stürzt ReText nicht ab.
Hinweis: Die Tests mit MarkText und ReText sind nur Zugaben, die nicht gründlich ausgeführt wurden.
Fazit
Apostrophe ist in der neuen Version 3.0 einer der besten Markdown-Editoren, die ich kenne. Das Erscheinungsbild, die Bedienbarkeit und die Funktionalität sind gut, obwohl es ein paar Fehler gibt. Diese sind teilweise der ungenügenden Markdown-Spezifikation geschuldet (Stichwort: Nummerierung).
Wenn es um das Markdown-Format geht, darf man nicht zu viel erwarten; insbesondere keinen Ersatz für eine ausgewachsene Textverarbeitung oder ein Textsatz-System. LibreOffice Writer lädt den Text unverzüglich und stürzt beim Bearbeiten nicht ab. Das enttäuscht mich, weil Markdown-Editoren viel schlanker und spezialisierter sind als Textverarbeitungen.
Falls ihr grosse Texte bearbeiten möchtet (mehr als 100 Seiten) seid ihr mit den gängigen Markdown-Editoren falsch beraten. Zum einen ist das Markdown-Format nicht für grosse Textstrukturen geeignet, zum anderen haben die Editoren Probleme bei der Vorschau-Generierung. Wer grosse und strukturierte Texte schreiben möchte, ist mit LibreOffice Writer besser beraten. Falls ihr Bücher oder wissenschaftliche Publikationen erstellen möchtet, kommt ihr nicht um TeX/LaTeX-basierte System drumherum.
Ich gebe Apostrophe 3.0 ganze 8 von 10 Punkten. Der Test dieser Anwendung hat mir viel Freude bereitet; herzlichen Dank an die Entwickler:innen.
Butter bei die Fische
Vorerst behalte ich MarkText, ReText und Apostrophe auf meinen Rechnern installiert. Alle drei sind tolle Anwendungen. Die Zeit wird zeigen, welche meine Bedürfnisse am besten unterstützt.
Das ist ja alles ganz toll, aber warum frage ich mich, werden Formatierungen nicht so gehandhabt wie es seit Jahrzehnten Usus ist ? Wollt Ihr Euch alle quälen ? Warum dieses kryptische ? Warum dieses kaum lesbare "C" und Abkömmlinge inkl. Java bei den Programmiersprachen ? Ich verstehe es nicht. Markieren, auf Fett klicken und gut. Markieren, auf Überschrift 7 klicken und gut. Markieren und auf Tabelle klicken und gut. Wie es gespeichert wird, ist eine andere Sache.
Auch nach 30 Artikeln auf gnulinux.ch habe ich immer noch nicht kapiert, wofür diese Markdown Editoren gut sein sollen. Libreoffice starten und nach 5 Sekunden Ladezeit meinen Text, Tabelle usw. eingeben, ein bisschen formatieren und speichern ... fertig ... warum so kompliziert und unkomfortabel arbeiten?? Wenn ich für eine Homepage in HTML programmieren will, nehme ich einen Editor wie geany ... Kommt wahrscheinlich daher, das ich aus dem kaufmännischen Bereich komme ... Informatiker und Kaufleute sind halt zu unterschiedlich ...
Viele Grüße Stefan
Schnöde Geschäfsbriefe, Grüße an Omi, oder "irgendwas" bin hin zu 20 Seiten lassen sich ja völlig problemlos im "Office" beackern, und das tue ich ja mitunter auch selber.
Interessant wird Markdown im Zusammenhang mit anderen Werkzeugen, und natürlich je nach Verwendungszweck. Dass z.B. ein "Word Dokument" hinten rauskommt, ist ja auch ausdrücklich nicht ausgeschlossen.
Geschäftsbriefe und Webseiten baue ich mit Pandoc und Markdown. Mit "Office" o.ä. brauchst Du das nicht probieren. Als Editoren verwende ich scite und retext, und natürlich gibt es viele andere gute.
Der Formelsatz und andere Dinge sind deutlich einfacher, und ernsthafte Veröffentlichungen gehe ich heute mit Markdown an, wo es ggf. dann wahlweise mit Libreoffice oder Latex weiter gehen kann.
Nur mal ein kurzes Beispiel aus der Praxis. Ich möchte sowas wie zB Artikeltexte als Blog, als PDF und ePub veröffentlichen. PDF und sogar ePub kann man aus LibreOffice recht passabel exportieren. Das mach ich dann ein paar mal, aber dann wirds öde (weil ich dann die ePubs mit Sigil noch nachbessern muss). Und den Text muss ich ja noch in HTML umwandeln für den Blog.
Mit Quarto (https://quarto.org/) schreib ich den Text als Markdown Datei, mit einem yaml-header. Die CSS Datei die ich einmal erstellt habe macht den Stil für das epub und den Blog. Für die PDF gibts mehrere Backends, pandoc unterstützt mittlerweile sogar Typst. Ich bin aber bei Latex geblieben, das schreib ich auch nur einmal als Vorlage.
Jetzt schreibe ich einen Artikel nach dem anderen mit Markdown als Text (und bisschen yaml header) und brauche genau 1 Befehl (quarto render artikel.qmd) und hab alle 3 Ausgabeformate.
Zum Korrekturlesen nehme ich dann ReText für die 2 Fenster Ansicht. Wobei das Firefox Plugin "Markdown Viewer WebExt" (https://github.com/Cimbali/markdown-viewer) auch gut ist und manche Markdown Dateien, zB mit Fußnoten, besser anzeigt als so mancher Markdown Editor (!). Nur da fehlt dann das synchronisierte Scrollen.
Okay, es kommt also auf den ganz persönlichen Usecase und die persönlichen Präferenzen an. Ich persönlich brauche einfach kein Markdown. Mein größtes Writer-Dokument ist ein 112 seitiges Handbuch (4,7 MB Dateigröße) mit automatischem Inhaltsverzeichnis, Fußnoten, Formatvorlagen und 101 Grafiken (Screenshots). Dieses Handbuch bearbeite ich seit ca. 10 Jahren in LibreOffice ohne jegliche Probleme. Wenn ich das Handbuch aktualisiert habe, wird es in ein PDF-Dokument exportiert und auf meine Homepage gestellt. Ich arbeite einfach gerne mit LibreOffice ...
Dann nimm halt einen normalen Texteditor. Das ist nicht verboten. Mache ich auch. Ich sehe aber auch Vorteile von Markdown:
Beim Hemingway-Modus frage ich mich allerdings auch, was das soll. Aber das hat ja nix mit Markdown an sich zu tun.
Die Stärke von Markdown sehe ich bei einfachen Notizen, um die Übersichtlichkeit zu erhöhen. Einige Notiz-Editoren (wie z.B. die App Notes von Nextcloud auf dem Handy) geben die Notizen mit Markdown-Formatierung als WYSIWYG aus, was die Lesbarkeit der Notizen auf dem Handy verbessert. Und wer will schon auf dem Handy in Menüs herumfummeln, um ein Wort fett oder italisch zu markieren? Viele Grüße, Benno
Was mir bei dem Tool fehlt, wäre eine Ordneransicht als Sidebar. Dann wäre es perfekt^^
Klingt spannend. Dann bleibe ich immer noch bei
obsidian
bis die Kinderkrankheiten weg sind vonapostrophe
. Dann muss ich dann noch sehen, ob der Workflow der selbe bzw. anders ist. Trotzdem ein schöner Beitrag, der war echt fesselnd und auch amüsant zu lesen.Tolles Tool, danke dafür. Ghostwriter ist gleich von der Platte geflogen. Ich glaube, wenn man viel programmiert und auch mit GitHub zu tun hat, ist man glücklich, wenn so ein Tool die Arbeit erleichtern kann. Allein das, dass Klammern gleich doppelt gesetzt werden, ist schon Gold wert.
Mein liebster Markdown-Editor: vim ;) Allerdings lieber in asciidoc, dann klappts auch mit Aufzählungen und Numerierten Überschriften :)