Markdown lernen #1

Fr, 22. Januar 2021, Joël Schurter

Sie ist weit verbreitet und doch kennt man sie meist nur von den allgegenwärtigen README.md Dateien: die Auszeichnungssprache Markdown. In dieser Artikelserie werde ich versuchen, euch diese wertvolle und praktische "Sprache" näherzubringen, in der Hoffnung, dass sie dadurch sowohl mehr an Bekanntheit als auch an Beliebtheit zunimmt.

Ziel von Markdown ist es in erster Linie, viele Funktionen zu bieten, jedoch nach wie vor einfach von Menschen gelesen werden zu können. Das klappt meiner Meinung nach ganz gut, trotzdem bin ich selbst bei Markdown froh, wenn ich den gerenderten Text lesen kann und nicht zwischen Sternchen und Doppelkreuzen den Text lesen muss.

In dieser Folge möchte ich die grundlegenden Dinge erklären, in den nächsten Folgen will ich dann in die Tiefe gehen und die einzelnen Möglichkeiten aufzeigen.

Editor

Markdown kann grundsätzlich mit jedem beliebigen Editor bearbeitet werden. Ich mag es sehr, wenn ich Syntax Highlighting habe, weswegen ich auch bei Markdown meist auf den Editor VS Code zurückgreife, da mir dessen Syntax Highlighting gefällt. Es kommt aber wie gesagt nicht darauf an, welchen Editor man benutzt.

Dateien

Die Markdown-Dateien haben die Endung .md und werden oft z.B. auf Git-Seiten oder in Programmen eingesetzt, um dem Nutzer Informationen zum Programm etc. zu bieten. Es kann aber auch sinnvoll sein, Markdown in ganz alltäglichen Situationen wie beim Schreiben von Artikeln und anderen Texten zu nutzen.

Selbst beim Programmieren einer Webseite kann Markdown gute Dienste leisten (dazu in späteren Artikeln mehr).

Syntax

Die einfache Syntax ist eines der Hauptargumente für Markdown: Diese ist sowohl einfach zu lernen als auch (ziemlich) einfach zu lesen.

Grundsätzlich besteht die Syntax von Markdown aus Sternchen (*), Unterstrichen (_), Doppelkreuzen(#) und weiteren Zeichen. Mehr dazu dann in weiteren Folgen.

Möglichkeiten von Markdown

Im Grunde genommen kann Markdown vieles, was bei HTML auch möglich ist, doch es liegt auf der Hand, dass Markdown fürs Schreiben von Texten und nicht zum Programmieren von Webseiten gedacht ist, weswegen Markdown auch nicht den Anspruch hat, alle bei HTML möglichen Funktionen anzubieten. Das wären z.B. fetter Text, kursiver Text und alle weiteren Textformatierungen. Natürlich werden aber auch Codeblöcke, Tabellen, Bilder etc. unterstützt.

Markdown ist eine aus meiner Sicht viel zu wenig beachtete Auszeichnungssprache. Dazu eine kleine Geschichte:

Lange (eigentlich schon seit ich Linux nutze) kannte ich Markdown nur von den README.md Dateien, mit denen ich in 90 % von allen Fällen eh nichts anfangen konnte. Daher war Markdown für mich nichts Wertvolles. Als ich später hörte, dass unser Redakteur Remo seine Artikel in Markdown schreibt und auch Lioh mir diese Auszeichnungssprache empfohlen hatte, dachte ich mir, "Nicht schon wieder eine "Sprache" lernen"…

Trotzdem habe ich mich hinein gekniet und gemerkt: einfacher gehts kaum.

Ich nutze Markdown zwar nach wie vor nicht so oft und meine Kenntnisse reichen (noch) nicht zu sehr in die Tiefe, weswegen ich diese Artikelserie auch gleich als Ansporn für mich sehe, mich mehr damit zu befassen.

In den nächsten Artikeln werde ich genauer auf die Syntax eingehen, Einsatzgebiete für Markdown aufzeigen, eine HTML-Seite mittels Markdown schreiben uvm. Natürlich werde ich Empfehlungen zu Markdown-Editoren machen.

Sahel
Geschrieben von Sahel am 23. Januar 2021

Es gibt einige Markdown-Editoren, die sich gut zum Erstellen von Webseiten eignen. Meine Favorit ist Typemill https://typemill.net

Joël Admin
Geschrieben von Joël am 23. Januar 2021

Danke für deinen Hinweis! Werde ich mir mal ansehen.

tux.
Geschrieben von tux. am 22. Januar 2021

Stimmt schon, die Kenntnisse reichen nicht in die Tiefe. ;-) Erst mal zum Offensichtlichen: „Git-Seiten“ existieren nicht und „Webseiten programmieren“ kann man auch nicht, sonst könnte man auch „Markdown programmieren“.

Ansonsten vielleicht zum allgemeinen Thema: Ich persönlich halte org(-mode) für Markdown in jeder Hinsicht überlegen. (Pandoc beherrscht allerdings beide Formate, daher ist das Konvertieren ein gelöstes Problem.) Ein wesentliches Problem, das ich mit Markdown habe, ist, dass die Standard-Markdown-Syntax sehr eingeschränkt ist, es kennt zum Beispiel keine Tabellen. (Durchaus praktisch für manche READMEs...) Konsequenterweise haben ungezählte Weiterentwicklungen stattgefunden, so dass es inzwischen mehrere miteinander inkompatible Formate namens „Markdown“ gibt, wobei GitHub mit seinem „GitHub Flavored Markdown“ den CommonMark-Standard sogar noch erweitert.

Gut, in einem Linuxblog ist die Freude am Wildwuchs vermutlich nicht so überraschend. ;-)

Joël Admin
Geschrieben von Joël am 23. Januar 2021

Danke für deine Hinweise! Da gebe ich dir Recht, "Webseiten programmieren" ist eigentlich der falsche Ausdruck, genauso wie "Git-Seiten". Zum Standard-Markdown-Syntax: ich meine, da gibt es Tabellen. Ich werde aber im nächsten Artikel der Serie, wo ich auf die Syntax eingehe (wenn ich da nicht zwei Artikel daraus machen muss) mich näher damit beschäftigen und so gut es geht jede Funktion erklären.$ Und ja, das mit den verschiedenen untereinander inkompatiblen "Weiterentwicklungen" ist ein Problem, aber das ist fast überall so.

tux.
Geschrieben von tux. am 24. Januar 2021

Tabellen sind eine dieser Erweiterungen des Standards... ;-)