Files
10FI3-Markdown/Markdown.md
T
2017-01-13 14:59:48 +01:00

293 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
###Markdown
####Gliederung
1. Markdown, eine universelle Sprache
1.1 Was ist Markdown?
1.2 Vor- und Nachteile
2. Syntax
2.1 Einfache Formatierung
2.2 Komplexe Formartierung
2.3 Bitmap-Support
2.4 Unterschiede zu gängigen Textverarbeitungen
3. Einsatzgebiete
3.1 Dokumentation von Code
3.2 Simple Textverarbeitung
3.3 Spezielle Einsatzgebiete
4. Trivia
5. Quellen
---
### 1. Markdown, eine universelle Sprache
##### 1.1 Was ist Markdown?
Markdown ist eine so genannte Markup-Language, eine Textsprache zur Notation von Textdokumenten in einem universell lesbarem Standard.
Markdown wurde mit dem Ziel entwickelt, selbst im blanken Code-Zustand eine lesbare Syntax zu repräsentieren.
---
### 2. Syntax
##### 2.1 Einfache Formatierung
In diesem Abschnitt wird als erstes ein Code-Block gezeigt und danach wie es aussieht, wenn man ihn in einem Markdown-Parser ausführt.
Ein Code-Block wird hinzugefügt, indem man vor die entsprechende Zeile 4 Leerzeichen setzt.
Zeilenumbrüche macht man sehr ähnlich mit 2 Leerzeilen am Ende einer Zeile.
Fangen wir mit ein paar Grundlagen an:
Code:
*Kursiv*, **Fett** und ***Fett kursiv*** bzw.
_Kursiv_, __Fett__ und ___Fett kursiv___
~~Scratch this.~~
Darstellung:
*Kursiv*, **Fett** und ***Fett kursiv*** bzw. _Kursiv_, __Fett__ und ___Fett kursiv___
~~Scratch this.~~
Hier werden Aufzählungen, Pragraphen und Stichpunkte gezeigt:
Code:
* Ein Punkt in einer ungeordneten Liste
+ Ein weiterer Punkt in einer ungeordneten Liste
* Ein Unterpunkt, um vier Leerzeichen eingerückt
- Statt * funktionieren auch + oder -
1. Ein Punkt in einer geordneten Liste
2. Ein weiterer Punkt; bei der Eingabe muss nicht auf irgendeine Reihenfolge geachtet werden, sondern nur darauf, dass es beliebige Ziffern sind
1. Noch ein Punkt, der zeigt, dass auch die mehrfache Angabe derselben Ziffer möglich ist
Darstellung:
* Ein Punkt in einer ungeordneten Liste
+ Ein weiterer Punkt in einer ungeordneten Liste
* Ein Unterpunkt, um vier Leerzeichen eingerückt
- Statt * funktionieren auch + oder -
1. Ein Punkt in einer geordneten Liste
2. Ein weiterer Punkt; bei der Eingabe muss nicht auf irgendeine Reihenfolge geachtet werden, sondern nur darauf, dass es beliebige Ziffern sind
1. Noch ein Punkt, der zeigt, dass auch die mehrfache Angabe derselben Ziffer möglich ist
Machen wir mit Überschriften in den verschiedenen Ebenen weiter:
Code:
# Überschrift in Ebene 1
## Überschrift in Ebene 2
### Überschrift in Ebene 3
#### Überschrift in Ebene 4
##### Überschrift in Ebene 5 ist die kleinste Ebene
Für die ersten 2 Ebenen gibt es alternative Schreibweisen:
Überschrift in Ebene 1
======================
Überschrift in Ebene 2
----------------------
Darstellung:
# Überschrift in Ebene 1
## Überschrift in Ebene 2
### Überschrift in Ebene 3
#### Überschrift in Ebene 4
##### Überschrift in Ebene 5 ist die kleinste Ebene
Für die ersten 2 Ebenen gibt es alternative Schreibweisen:
Überschrift in Ebene 1
======================
Überschrift in Ebene 2
----------------------
Weiter geht es mit Links und Images:
Code:
[Ein Beispiel](http://www.google.de/ "Titel, der beim Überfahren mit der Maus angezeigt wird")
allgemeine Syntax:
![Alternativtext](Bild-URL "Bildtitel hier")
konkretes Beispiel:
![nur ein Beispiel](https://i.ytimg.com/vi/Zwtqvi0SttE/maxresdefault.jpg "Wütend?")
Here's our logo (hover to see the title text):
Inline-style:
![alt text](http://centreinfection.s3.amazonaws.com/wp/sites/2/2015/03/13121802/generic-logo.jpg "Logo Title Text 1")
Reference-style:
![alt text][logo]
[logo]: http://centreinfection.s3.amazonaws.com/wp/sites/2/2015/03/13121802/generic-logo.jpg "Logo Title Text 2"
Darstellung:
[Ein Beispiel](http://www.google.de/ "Titel, der beim Überfahren mit der Maus angezeigt wird")
allgemeine Syntax:
![Alternativtext](Bild-URL "Bildtitel hier")
konkretes Beispiel:
![nur ein Beispiel](https://i.ytimg.com/vi/Zwtqvi0SttE/maxresdefault.jpg "FFFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU")
Here's our logo (hover to see the title text):
Inline-style:
![alt text](http://centreinfection.s3.amazonaws.com/wp/sites/2/2015/03/13121802/generic-logo.jpg "Generisches Logo, yo")
Reference-style:
![alt text][logo]
[logo]: http://centreinfection.s3.amazonaws.com/wp/sites/2/2015/03/13121802/generic-logo.jpg "Nochmal der gleiche Rotz, yo"
Mithilfe von folgender Syntax `:EMOJICODE:` kann man Emojis in Markdown hinzufügen.
Code:
:shit:
Darstellung:
:shit:
Für mehr Syntaxen [hier](http://www.webpagefx.com/tools/emoji-cheat-sheet/ "Emojis") klicken.
##### 2.2 Komplexe Formartierung
Eine Möglichkeit der Verwendung von einfachen Codeblöcken haben wir ja schon kennengelernt. Markdown bietet aber auch die Möglichkeit, Syntax-Highlighting für (fast) alle gängigen Programmiersprachen in Codeblöcken zu verwenden.
Hierzu müssen wir den Codeblock zunächst mit der noch nicht behandelten Methode mit je drei führenden und folgenden Backticks schreiben:
```
'Dies ist ein Kommentar
dim example as string = "Dies ist Beispielcode"
example = "Dies ebenfalls"
if example = "Dies auch" then
dim i as integer = 1
return i
else
dim i as integer = 1337
return i
end if
```
Dies gibt uns folgenden Codeblock:
```
'Dies ist ein Kommentar
dim example as string = "Dies ist Beispielcode"
example = "Dies ebenfalls"
if example = "Dies auch" then
dim i as integer = 1
return i
else
dim i as integer = 1337
return i
end if
```
Um nun Syntax-highlighting hinzuzufügen müssen wir hinter die ersten drei Backticks noch das Kürzel der entsprechenden Sprache (in diesem Fall `vbnet` für **VisualBasic.NET**) schreiben:
```vbnet
'Dies ist ein Kommentar
dim example as string = "Dies ist Beispielcode"
example = "Dies ebenfalls"
if example = "Dies auch" then
dim i as integer = 1
return i
else
dim i as integer = 1337
return i
end if
```
Was in diesen Codeblock resultiert:
```vbnet
'Dies ist ein Kommentar
dim example as string = "Dies ist Beispielcode"
example = "Dies ebenfalls"
if example = "Dies auch" then
dim i as integer = 1
return i
else
dim i as integer = 1337
return i
end if
```
Eine Liste mit Kürzeln unterstützter Programmiersprachen findet man beispielsweise [hier](http://tinker.kotaweaver.com/blog/?p=152 "Dies ist eine Liste. Ist eh egal was ich hier reinschreibe weil man das auf der .pdf eh nicht mehr sieht, also fuck that shit")
Weiterhin ist es auch möglich, Code innerhalb einer Zeile anzeigen zu lassen, sogennanten **Inline-Code**.
Hierzu umfasst man den gewünschten Text einfach mit einfachen Backticks:
Dies ist ein `Beispiel` welches die Verwendung verdeutlicht.
Resultiert in:
Dies ist ein `Beispiel` welches die Verwendung verdeutlicht.
##### 2.3 Bitmap-Support
##### 2.4 Unterschiede zu gängigen Textverarbeitungen
**Markdown** vs *Word*
Wenn man ein Word Dokument ohne hineinzuschreiben, ist es trotz allem ca 25 kB groß, da es Dokumenteigenschaften, Änderungen am Dokument (Schnellspeicherung), Datenspuren bei der Nutzung erweiterter Funktionen, Überarbeitungen, Kommentare, E-Mail-Header (Betreff, Adressaten), E-Mail-Verteiler für die Überarbeitung des Dokuments ("Laufzettel", routing slip), verschiedene Dateiversionen, Text- und Bildinhalte, die der Benutzer selbst "versteckt“, nicht sichtbare Teile von eingefügten Objekten (Tabellen, Diagramme, Bilder), ausgeblendeter Text, versteckter Text (durch geeignete Text-/Hintergrundfarbe oder farbigen Balken), Netzwerk und Computer Details, den Speicherort des Dokuments (inkl. Netzwerkpfad falls vorhanden), auf welchem Drucker das Dokument zuletzt ausgedruckt wurd usw.
Bei Markdown hingegen ist alles aus Text bzw einigen simplen Formatierungsbefehlen, außerdem ist die Syntax sehr einfach und schnell zu lernen. Man kann den geschriebenen Text leicht in andere Sprachen umwandeln.
Derzeit findet in den USA ein regelrechter Markdown-Boom statt. Immer mehr kleinere Textverarbeitungen nutzen Markdown. Der Erfolg ist vor allem der neuen Mobilität geschuldet: Statt großer Datenmengen werden kleine Textschnipsel in Sekundenschnelle für alle Systeme synchronisiert so bleiben Dokumente immer und überall aktuell, sei es auf dem Smartphone oder im Büro.
Für Layouts, Serienbriefe oder Magazine ist diese Form der Textbearbeitung jedoch keinesfalls geeignet; dazu sind die Formatierungsmöglichkeiten viel zu schmalbrüstig. Mit Stylesheets lassen sich die Formatierungen jedoch noch erweitern.
**Fazit**: Sollte das Textverarbeitungprogramm Ihrer Wahl Markdown beherrschen, lohnt sich ein Blick darauf.
===
**Markdown** vs *LaTeX*
Da nicht jeder gleich weiß was LaTeX ist, [hier](https://www.dante.de/tex/WasIstLaTeX.html) eine kleine Einführung.
LaTeX hat einige Vorteile gegenüber Markdown. Hier sind einige:
* man kann Druckdaten in Postscript oder PDF in einer sehr guten Layout- und Satzqualität erzeugen
* feste Layoutvorgaben von der Universität, dem Lehrstuhl, der Konferenz oder dem Journal (in bestimmten Bereichen auch Vorlagen)
* Einbinden von Literaturverweisen ist dank Bibtex/biblatex sehr flexibel
* man kann alles an Struktur und Layout umsetzen
wie schon häufiger erwähnt ist Markdown eine gut und schnell lernbare Sprache mit vielen Vorzügen. Sie besteht eigentlich nicht aus mehr außer Text.
Man kann relativ leicht Markdown Dokumente in LaTeX verwandeln, andersherum ist es um einiges schwieriger.
**Fazit**: Man solte in Markdown anfangen, kann aber sehr leicht auf LaTeX umteigen.
===
---
### 3. Einsatzgebiete
##### 3.1 Dokumentation von Code
##### 3.2 Simple Textverarbeitung
##### 3.3 Spezielle Einsatzgebiete
---
### 4. Trivia
---
### 5. Quellen
1. [Markdown Wikipedia](https://de.wikipedia.org/wiki/Markdown "Quelle")
2. [Markdown Cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet "Quelle")
3. [Markdown vs Word](http://www.chip.de/artikel/Alternativen-zu-Microsoft-Word-6_62389509.html)
4. [Markdown vs LaTeX](https://www.schlosser.info/markdown-latex/)
5.