Anzeige
Anzeige
Ratgeber
Artikel merken

Was ist eigentlich Markdown?

„Markdown“ ist eines dieser Schlagwörter, die einem in letzter Zeit immer häufiger begegnen, die man auch schon mal flüchtig irgendwo nachgeschlagen hat, unter denen man sich aber trotzdem nichts vorstellen kann. Wir erklären, warum Markdown vor allem für Blogger und IT-Einsteiger eine große Hilfe ist.

Von Moritz Stückler
4 Min. Lesezeit
Anzeige
Anzeige

Man kennt das – als ambitionierter Internet-User stößt man fast täglich auf Begriffe, die man schon tausendmal gelesen, bei denen man aber noch nie wirklich verstanden hat, was genau sich dahinter verbirgt. Oder man hat nur eine ungefähre Ahnung, worum es geht und möchte durch das eigene Halbwissen nicht unangenehm auffallen. Wir bringen Licht ins Dunkel und erklären die Begriffe und Plattformen auf leicht verständliche Weise. In der Vergangenheit haben wir uns schon reddit, Tumblr, GitHub und Medium.com gewidmet. Heute erklären wir euch, was es mit Markdown auf sich hat.

Computersprachen: Schlechter Ruf eilt ihnen voraus

Anzeige
Anzeige

Computersprachen gelten weithin als kompliziert und schwierig zu erlernen. Auch wenn dem tatsächlich nicht so ist, gibt es doch eine hohe Einstiegshürde, um sich zum ersten Mal mit einer Programmier- oder Auszeichnungssprache zu beschäftigen. Andererseits aber werden solche Kenntnisse immer häufiger gefordert – beruflich wie privat. Wer heutzutage einen eigenen Blog oder eine Webseite betreiben möchte, muss sich entweder mit nervigen WYSIWYG-Editoren (What You See Is What You Get) herumschlagen oder zumindest ein Grundmaß an HTML beherrschen – oder eben Markdown verwenden.

Inzwischen gibt es sogar ein Markdown-Logo, das vielerorts anerkannt und eingesetzt wird, auch wenn es nicht von den Markdown-Erfindern stammt.

Inzwischen gibt es sogar ein Markdown-Logo, das vielerorts anerkannt und eingesetzt wird, auch wenn es nicht von den Markdown-Erfindern stammt. (Bild: Daniel Curtis)

Markdown: Eigentlich eine Anti-Computersprache

Markdown hat Ähnlichkeiten mit einer Computersprache, ist aber wesentlich einfacher konzipiert und soll so für jeden verständlich sein. Markdown ermöglicht es, Texte im Web zu formatieren, ohne das betreffende Dokument dazu mit eckigen Klammern, Befehlen und sonstigen Kommandos zu überfluten, wie man sie für ein gestyltes HTML-Dokument normalerweise benötigt. Ein Markdown-Dokument soll übersichtlich bleiben, und auch im Rohformat angenehm zu lesen sein. Deswegen verwendet Markdown einfache Zeichen zur Formatierung von Text, zum Beispiel Sternchen und Unterstriche anstelle von eckigen Klammern und langen Befehlen. In gewisser Weise kann man Markdown also auch als eine Anti-Computersprache bezeichnen, weil es dazu da ist, um Computersprachen in gewissen Nutzerkreisen überflüssig zu machen.

Anzeige
Anzeige

Markdown-Beispiel: Nur 8 statt 49 Zeichen für die Formatierung nötig

Am besten zeigen sich die Vorteile von Markdown in einem Praxisbeispiel. Zwei Absätze mit Text und einer Überschrift sollen gestylt werden – der erste kursiv, und der Zweite gefettet. In klassischem HTML müsste man eigentlich folgenden Code verfassen:

Anzeige
Anzeige


<h2>Markdown-Test</h2>
<p><strong>Dieser Text soll fett geschrieben werden.</strong></p>
<p><em>Und dieser Absatz soll kursiv angezeigt werden.</em></p>

Das sieht nicht sonderlich schön aus, und lässt einen Leser ohne HTML-Verständnis sofort wieder zurückschrecken. In Markdown würde das obere Beispiel wie folgt aussehen:

Anzeige
Anzeige


## Markdown-Test
**Dieser Text soll fett geschrieben werden.**

*Und dieser Absatz soll kursiv angezeigt werden.*

Im HTML-Format werden ganze 49 Zeichen zur Formatierung benötigt. In Markdown wird für die gesamte Formatierung nur ein Bruchteil der Zeichen benötigt, nämlich acht Stück, und außerdem ist der Text deutlich angenehmer zu lesen.

Anzeige
Anzeige

Das Beispiel zeigt bereits einige der wichtigsten Markdown-Auszeichnungen:

  • Überschriften: Überschriften werden einfach mit Rauten ausgezeichnet. Die Anzahl der Rauten entspricht der Ordnung der Überschriften. Eine Headline dritter Ordnung würde also so aussehen: ### Headline 3
  • Fettschreibung und Kursivierung: Um einen Text fett oder kursiv zu setzen, genügt es in Markdown, den entsprechenden Abschnitt in Sternchen zu setzen. Ein Sternchen bedeutet „kursiv“, zwei Sternchen bedeuten „fett“. *Kursiv* bzw. **Fett**
  • Markdown unterstützt deutlich mehr Formatierungen, etwa das Setzen von Links oder Einbinden von Bildern. Alle Details dazu findet man in der sehr übersichtlichen Markdown-Dokumentation von Daring Fireball.

Markdown: gemacht für Nicht-Programmierer

Das Beispiel zeigt, wie sinnvoll der Einsatz von Markdown ist, gerade in Bereichen, wo auch Menschen ohne Code-Hintergrund in Kontakt mit den betroffenen Texten kommen. Aus diesem Grund gibt es inzwischen viele Content-Management Systeme, die auch mit Markdown-Inhalten bestückt werden können. Ein solcher Editor kombiniert die Vorteile eines Reintext-Editors (ressourcenschonend und keine Probleme bei der Darstellung einer Vorschau) mit der guten Lesbarkeit und Übersichtlichkeit eines WYSIWYG-Editors. CMS, die von Haus aus mit Markdown umgehen können sind zum Beispiel: Anchor, Kirby und Dropplets.

Neuere CMS können häufig bereits von Haus aus mit Markdown umgehen. So zum Beispiel das Anchor CMS.

Neuere CMS können häufig bereits von Haus aus mit Markdown umgehen. So zum Beispiel das Anchor-CMS.

Auch immer mehr bekannte Webdienste springen auf den Markdown-Zug mit auf. So können Nutzer inzwischen bei StackOverflow, GitHub, reddit und mehr Beiträge und Beschreibungen in Markdown verfassen. Sogar Google+ verwendet zum Verfassen von Beiträgen eine Markdown-ähnliche Syntax. Auch außerhalb von CMS gibt es inzwischen nützliche Online-Editoren, die Markdown verstehen. Und sogar der CMS-Veteran WordPress lässt sich mittels Plugin Markdown-kompatibel machen.

Weiterführende Links

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
25 Kommentare
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

tim

Bitte noch einmal nachlesen, was genau eine Programmiersprache ist und was genau HTML ist. Das gleiche gilt für Bedeutung der beiden Elemente strong und em!
Einfach erklären ist ein super Ziel, technisch korrekt sollte es bei einer Webseite mit einem gewissen technischen Anspruch aber schon sein…

Antworten
Dirk

Markdown ist wie HTML keine Programmiersprache, sondern eine Interpretersprache. Falls noch immer nicht verständlich, dann versuch mal mit HTML oder Markdown ein Betriebssystem zu erstellen.

Antworten
tim

@Dirk: HTML wird in gewisser Weise interpretiert, üblicherweise sind Interpretersprachen aber eher Programmiersprachen wie z.B. JavaScript, die JIT kompiliert (interpretiert) werden. HTML ist eine Auszeichnungssprache und Markdown so eine Art Präprozessor dafür. Im Zweifelsfall aber auch eine Auszeichnungssprache.

Antworten
Moritz Stückler

Hallo tim und Dirk,

ihr habt natürlich Recht. Da ist mir ein Fehler in der Bezeichnung unterlaufen. Ich habe den Text überarbeitet, und hoffe das es jetzt klarer wird!

Grüße,
Moritz

Antworten
tim

Schon besser… Befehle, Kommandos und eckige Klammern gibts in HTML zwar immer noch nicht, aber was solls…
Anstelle von Programmierern könntest du z.B. Entwickler oder Frontend-Designer/Webdesigner nehmen.

Antworten
Dirk

HTML ist Auszeichnungssprache? Naja, ich nenne sie hauptsächlich Layout-Sprache, wobei PostScript etwas komplexer als HTML ist. Aber es ist auch statisch, falls nicht Animationen durch ECMA-Script/JavaScript wie in PDFs möglich sind.

Wie nennst du Server-Sprachen wie PHP, Perl, Python und so weiter? Damit kann man keine Betriebssysteme praktisch programmieren, oder irre ich mich? Theoretisch müsste es bei jeder Sprache möglich sein, falls der Compiler komplex genug ist und die Sprache keine wichtigen Funktionen vermisst, oder was denkst du?

Antworten
tim

HTML ist Auszeichnungssprache, ja. Das Ding heißt nicht umsonst MARKUP LANGUAGE. Layouts kriegt man in HTML eigentlich nicht direkt. Dafür benutzt man heutzutage CSS. HTML gibt einzelnen Text-Stücken eine Bedeutung und CSS sagt dann, wie die einzelnen Text-Stücke aussehen sollen.
Zu PostScript kann ich ehrlich gesagt nichts sagen, da ich mich damit noch nie beschäftigt habe.

PHP/Perl/Python würde ich als Skript-Sprachen bzw. (serverseitige) Programmiersprachen bezeichnen. Theoretisch könnte man wohl auch in PHP/Perl/Python (= mit der entsprechenden Syntax) ein Betriebssystem basteln. Sofern es, wie du ja sagst, einen entsprechenden Compiler gäbe. Praktisch wird wohl niemand auf so eine Idee kommen.
Ich sehe allerdings nicht so ganz den Zusammenhang zwischen Markdown/HTML (Auszeichnungssprachen) und Betriebssystemprogrammierung mit Script-Sprachen.

Antworten
BastianBBux

Um Laien nicht zu verwirren vermeide ich bei der Erklärung des Unterschieds zwischen Programmiersprachen und Auszeichnungssprachen TUNLICHST das Wort Auszeichnungssprache. Stattdessen verwende ich die Worte Format und Struktur/Gliederung.
Laien verstehen dann schneller die statische Komponente von Markups.
Bei den Programmiersprachen wird es komplizierter, vor allem durch die mittlerweile doch starke Entwicklung von PHP hin zu einer klassischen Hochsprache mit all ihren Vor- und Nachteilen. Hier einen Strich zu ziehen und zu sagen, alles mit Interpreter ist automatisch Skriptsprache finde ich etwas gewagt, bzw. ebenfalls nicht der Realität gerecht werdend … (und das sag ich als g’lernter C++er :-) ).

@Dirk Was übrigens die Möglichkeit ein Betriebssystem zu programmieren betrifft damit zu tun haben soll, ist mir ein völliges Rätsel. Aber natürlich könnte man mit jeder beliebigen **Programmier**-sprache ein Betriebssystem programmieren, sogar mit Brainfuck, Ook!, oder möglicherweise sogar mit der Shakespeare Programming Language. Den Unterschied machen nur Arbeitsaufwand und Laufzeitperformanz. ;)
Oder wie ich immer sag: Man soll nicht alles tun, nur weil man es tun könnte. ;)

Antworten
BastianBBux

Ich muss mich korrigieren/relativieren, was PHP als Hochsprache betrifft: bei der Verwendung des Begriffs „klassische Hochsprache“ in Zusammenhang mit PHP dachte ich diesfalls eigentlich an die Möglichkeiten in Bezug auf OOP und Typisierung und weniger an den Abstraktionslevel. ;)

Antworten
BastianBBux

Und noch bzgl. Markdown, es gibt eine Erweiterung für TYPO3:
http://typo3.org/extensions/repository/view/markdown_content

schliesslich heisst ihr ja immer noch **t3**n ;)

Antworten
Stephan

Danke an BastianBBux! Gerade wollte ich fragen, ob es schon ein TYPO3 Plugin zu Markdown gibt ;-). Was lernen wir: Immer bis zum Ende lesen!

Antworten
tim

@BastianBBux: Bei PHP als Skriptsprache tu ich mich auch etwas schwer. Perl und Python (auch wenn ich beide noch nicht ernsthaft genutzt habe) dürften aber in die Kategorie fallen. PHP wird irgendwo schon interpretiert, andererseits ist es aber auch mehr als nur eine interpretierte Sprache. Eine Programmiersprache ist es auf jeden Fall.

@Dirk: Könnte es sein, dass du Programmiersprachen mit Programmiersprachen zum Entwickeln eines OS gleich setzt? Falls dem so ist: Java wäre eine weitere ziemlich bekannte Programmiersprache, mit der man ebenfalls keine Betriebssysteme entwickelt (liegt in der Natur von Java).

Antworten
Dirk

@tim:
Ja, oft setze ich diesen Vergleich um den Unterschied zwischen z.B. Ansi C und HTML zu unterscheiden. PHP ist recht komplex, weshalb es dort nicht so leicht ist PHP nicht als Programmiersprache zu bezeichnen. Das bezeichne ich oft als Serversprachen. Java ist wiederum etwas ganz Spezielles. Java kann man wie C++ oder Ansi C Hardware-nah an das Gerät kompilieren. Dadurch gewinnt es drastisch an Performance und ist nicht mehr viel langsamer als Ansi C oder C++. Jedoch verliert es dann wie Ansi C und C++ die Fähigkeit auf unterschiedlichen Maschinen laufen zu können, was durch die Java VM (virtual machine) möglich gemacht wird.
Und genau da ist der springende Punkt: Es läuft virtuell in einer Maschine. Theoretisch ist Java für ein Betriebssystem möglich. Und es gibt tatsächlich ein paar embedded devices, die auf Java Byte Code optimiert sind und nur unter einem (einfachen) Java Betriebssystem laufen. Wenn der Hardware-nahe Kompilierer von Java gut genug ist, sind Java-Betriebssysteme auch unter X86, X64, PowerPC u.s.w. möglich. Java wird ja dann wie C oder C++ dann assembliert.

Der Zusammenhang zu Markdown: Es geht hier nun über Begriffsklärung, was man wie nennen sollte, weil im Artikel stand, dass es angeblich eine Programmiersprache sei. Ich nenne HTML eher Weboutfitting oder ähnliches, aber ich weigere mich es als Programmiersprache zu nennen, weil zur Entwicklung eine Betriebssystemes dort sehr sehr viel fehlen würde (auch wenn es sehr weit entfernt möglich wäre, aber dazu würde sehr viel fehlen – PHP, Python, Perl u.s.w. dagegen vermutlich nicht so viel, auch wenn sie in Echtzeit kompiliert werden müssen, falls sie nicht als Cache vorliegen – aber wie in Java ist Hardware-nahes kompilieren vielleicht auch möglich).

Antworten
tim

Üblicherweise spricht man von einer Programmiersprache, wenn damit ein Algorihmus gelöst werden kann. Ergo: Wenn das Ding mindestens einmal Bedingungen und Sprungbefehle/Schleifen hat. Was wiederum bedeutet, das PHP, C, C++, C#, Java, JavaScript, Perl, Python, whatever… alles Programmiersprachen sind.
HTML, Markdown und CSS dagegen NICHT. Man hat zwar auch so eine Art Bedingung, aber man kann diese nicht logisch miteinander verbinden/gruppieren. Und Schleifen (die ja letztendlich auch nur Bedingungen in Kombination mit Sprungbefehlen sind) gibt es ebenfalls nicht.
Die Frage ist nur, wie man die gesamten Programmiersprachen etwas feiner gliedern kann. JavaScript würde wohl kaum jemand auf die gleiche Stufe mit C++ stellen. Die Einsatzzwecke sind einfach vollkommen verschieden.

Java kann man „Hardware-nah an das Gerät kompilieren“?? Was ist denn hardware-fern an das Gerät kompilieren? Mit Java kann man NICHT direkt auf Hardwareebene arbeiten. Das genau ist ja das besondere Feature an Java. Java wird in einer JRE (Java Runtime Environment) ausgeführt, die wiederum in etwas deutlich hardwarenaherem (z.B. C) geschrieben ist. Dass man das ohne die JRE ausführen kann, wäre mir neu. Was man machen kann, ist über Java andere Java-fremde APIs ansteuern. Einige Math-Funktionen, die man in Java aufrufen kann, sind z.B. in C geschrieben – weil es deutlich schneller ist.
Dass man in Java ein OS entwickeln kann, wäre mir daher neu. Man braucht immer eine JVM, die das eigentliche OS ausmachen. Ein Java-Programm ist dann nur reine Software, die auf dem Mini-OS läuft.
„Wenn der Hardware-nahe Kompilierer von Java gut genug ist, sind Java-Betriebssysteme auch unter X86, X64, PowerPC u.s.w. möglich.“ Das ist Quatsch. Die JRE enthält KEINEN Compiler. Java-Code wird als Plain Text geschrieben, dann in Java-Bytecode kompiliert und dann in der JVM ausgeführt. Dem Compiler ist es da erst einmal piepegal, welche Prozessor-Architektur er bekommt (solange er eine JVM hat).
Weboutfitting?! Okaaay… ich bezweifel, dass viele Webentwickler verstehen, was damit gemeint sein soll… Nenn es doch einfach Auszeichnungssprache… gegenüber einem Laien meinetwegen Computersprache, aber bitte kein komplett neues, wirres Wort. Ich statte das Web ja nicht mit HTML aus…
Und komm von der Idee weg, dass eine Programmiersprache auch gleichzeitig für die Programmierung eines OS geeignet sein muss. In dem HTML, was wir kennen, wäre so etwas definitiv NICHT möglich. Um mit einem Prozessor wenigstens grundlegend sprechen zu können, braucht man ein „paar“ Zeilen Assembler und darauf dann wiederum sehr low-levelige Sprachen (üblicherweise C) mit deutlich mehr Zeilen, die einzelne Systemprogramme bereitstellen und viele unschöne APIs später kann man dann anfangen, über höhere Programmiersprachen nachzudenken.
Glaubst du, dass ein Prozessor von Haus aus weiß, wie er PHP, Python oder Perl zu kompilieren hat??
Ich glaube, du vertauschst da eine ganze Menge! Im Zweifelsfall kann ein Besuch bei Wikipedia hilfreich sein…

Antworten
Ju

Man kann sich natürlich ewig über die falsche Verwendung des Wortes „Programmiersprache“ echauffieren.
Viel problematischer finde ich die allgemeine Herangehensweise dieser „Erklärung für Laien“:
Nur weil man **so etwas** schreibt, heißt es noch lange nicht, dass dieses „so etwas“ dann fett dargestellt wird!
Markdown ist nicht für das Erscheinungsbild zuständig. Es ist lediglich ein strukturierendes Format, mit dem man einzelnen *Worten*, *Sätzen* und *Absätzen* verschiedene **Gewichtigkeiten** geben kann.
Wie diese verschiedenen Gewichtigkeiten dann dargestellt werden ist Aufgabe von CSS.
Das „strong“ im HTML strong-Tag steht für charakterstark, nicht für fett.

Antworten
Dirk

@tim:
http://www.rtjcom.com/main.php?p=home
Es gibt embedded devices. Irreführend war, dass es ein OS nur für Java-Programme ist und dort eine VM läuft. Das HEISST aber NICHT, dass virtuelle Maschinen nie als echte Maschinen realisierbar wäre.
Da du von Informatik allgemein erstaunlich wenig Ahnung hast, lies bitte dies: http://www.cis.nctu.edu.tw/~wuuyang/papers/bytecode2X86.BRIEF.pdf
=> Wer darauf verweist, dass man sein Wissen von Wikipedia beziehen sollte, verheißt dies überhaupt nichts Gutes für den Werber für Wikipedia, wenn der Werber noch nicht einmal vor den möglicherweise irreführenden oder erfundenen Inhalten warnt wie Stalins Badezimmer http://www.berliner-zeitung.de/archiv/wikipedia-wie-ich-stalins-badezimmer-erschuf,10810590,10778230.html (was nach langer Zeit endlich in Wikipedia korrigiert werden konnte).

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige