Skip to content
Snippets Groups Projects
mdsyntax.de.md 10.9 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jake's avatar
    Jake committed
    ---
    title: "Markdown Syntax"
    
    Jake's avatar
    Jake committed
    prio: 4
    
    :::info
    Die Markdown Syntax baut auf der [Markdown Syntax von Pandoc](https://pandoc.org/MANUAL.html#pandocs-markdown) auf. Es sind einige Extensions aktiviert, um die Syntax möglichst ähnlich zur [Hedgedoc Markdown Syntax](https://pad.gwdg.de/features) zu machen.
    
    Die vollständige Markdown Syntax die verwendet werden kann ist also sehr umfangreich. Dieses Dokument *sollte* alle Features und Schreibweisen aufzeigen.
    :::
    
    Markdowncodebeispiele zusammen mit den entsprechenden Ergebnissen die generiert wurden sehen in diesem Dokument wie folgt aus:
    ```markdown
    Ich bin ein *Markdown* Beispiel.
    ```
    :::success
    Ich bin ein *Markdown* Beispiel.
    :::
    
    
    Jake's avatar
    Jake committed
    ## Inhaltsverzeichnis
    
    Ein Paragraph mit einzigem Inhalt `[TOC]` generiert ein Inhaltsverzeichnis.
    
    ```markdown
    
    [TOC]
    
    ```
    :::success
    
    [TOC]
    
    :::
    
    
    
    ## Paragraphen
    
    Ein Paragraph besteht aus einer oder mehr Zeilen an Text gefolgt von einer oder mehreren Leerzeilen.
    Ein Zeilenumbruch in einem Paragraphen wird, wie in Hedgedoc auch, direkt auf der Webseite als Zeilenumbruch übernommen.
    
    ```markdown
    Dies ist der erste Paragraph.
    
    Dies ist der zweite Paragraph und dieser Paragraph
    beinhaltet sogar einen Zeilenumbruch.
    ```
    :::success
    Dies ist der erste Paragraph.
    
    Dies ist der zweite Paragraph und dieser Paragraph
    beinhaltet sogar einen Zeilenumbruch.
    :::
    
    ## Überschriften
    
    
    Jake's avatar
    Jake committed
    Überschriften werden genutzt um ein Dokument zu strukturieren.
    
    
    Es gibt zwei Arten Überschriften zu schreiben: [Setext](#setext) und [ATX](#atx).
    In Überschriften kann [Inlinemarkup](#inlinemarkup) verwendet werden.
    Eine Leerzeile vor oder nach einer Überschrift ist nicht notwendig.
    
    
    Jake's avatar
    Jake committed
    ### Nutzungsinformationen
    
    - Jede Seite wird automatisch mit einer Level 1 Überschrift aus dem Titel generiert.
      Entsprechend sollten die meisten Dokumente nur Level 2-6 Überschriften verwenden!
    - Überschriften haben semantische Bedeutung welche von Browsern, Bots und Screenreadern interpretiert und verwendet wird.
      Überschriften sollten deshalb _niemals_ verwendet werden um Text einfach nur **fettgedruckt** oder in einer bestimmten Schriftgröße zu schreiben weil es ja "gut aussehen würde".
    - Es sollte vermieden werden Überschriftenlevel zu überspringen. Siehe [hier](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements#navigation) für eine Erklärung.
    
    
    Jake's avatar
    Jake committed
    
    
    
    ### Setext
    
    
    Setext-Style Überschriften bestehen jeweils aus einer Zeile mit dem Überschriftstext gefolgt von einer Zeile mit `=`-Symbolen (für eine Level 1 Überschrift) oder  `-`-Symbolen (für eine Level 2 Überschrift).
    
    ```markdown
    Eine Level 1 Überschrift
    ========================
    
    Eine Level 2 Überschrift
    ------------------------
    ```
    :::success
    Eine Level 1 Überschrift
    ========================
    
    Eine Level 2 Überschrift
    ------------------------
    :::
    
    
    ### ATX
    
    ATX-Style Überschriften bestehen jeweils aus einer Zeile mit ein bis sechs `#`-Symbolen gefolgt von mindestens einem Leerzeichen, dem jeweiligen Überschriftstext und einer optionalen Menge an weiteren `#`-Symbolen.
    Die Anzahl der `#`-Symbole am Anfang der Zeile gibt das Level an.
    
    ```markdown
    # Eine Level 1 Überschrift
    ## Eine Level 2 Überschrift
    ### Eine Level 3 Überschrift ###
    #### Eine Level 4 Überschrift
    ##### Eine Level 5 Überschrift
    ###### Eine Level 6 Überschrift
    ```
    :::success
    # Eine Level 1 Überschrift
    ## Eine Level 2 Überschrift
    ### Eine Level 3 Überschrift ###
    #### Eine Level 4 Überschrift
    ##### Eine Level 5 Überschrift
    ###### Eine Level 6 Überschrift
    :::
    
    
    Jake's avatar
    Jake committed
    ### Identifikator, Attribute und Klassen
    
    Am Ende der Zeile mit dem Überschriftentext kann man auch optionale Metadaten hinzugefügen.
    
    Dafür schreibt man leerzeichengetrennt in geschweiften Klammern die folgenden Dinge:
    - den Identifikator: `#Identifikator` (maximal einmal)
    - die Klassen: `.eine-klasse .eine-andere-klasse .noch-eine-klasse`
    	- Die Klasse `.unnumbered` makiert eine Überschrift als "soll nicht nummeriert werden". Als Alias reicht auch ein `-`.
    	- Die Klasse `.unlisted` makiert eine Überschrfit als "soll im Inhaltsverzeichnis nicht eingetragen werden".
    
    In den meisten Fällen wird maximal der Identifikator benötigt.
    Der Identifaktor kann zum verlinken des entsprechenden Abschnittes verwendet werden.
    
    ```markdown
    #### Eine Überschrift {#bspueberschrift}
    #### Eine andere Überschrift {#anderebspueberschrift .mit-klassen .foobar}
    #### Nich Nummeriert und nicht im Inhaltsverzeichnis {- .unlisted}
    ```
    :::success
    #### Eine Überschrift {#bspueberschrift}
    #### Eine andere Überschrift {#anderebspueberschrift .mit-klassen .foobar}
    #### Nich Nummeriert und nicht im Inhaltsverzeichnis {- .unlisted}
    :::
    
    :::info
    Falls kein Identifikator für eine Überschrift gesetzt wurde, wird automatisch einer aus dem Überschriftentext generiert.
    
    
    Jake's avatar
    Jake committed
    :::danger
    
    Jake's avatar
    Jake committed
    TODO https://pandoc.org/MANUAL.html#headings-and-sections
    
    Jake's avatar
    Jake committed
    :::
    
    Jake's avatar
    Jake committed
    :::
    
    Jake's avatar
    Jake committed
    
    
    ## Inlinemarkup
    
    Jake's avatar
    Jake committed
    
    
    Jake's avatar
    Jake committed
    Es gibt einige Inlinemarkups.
    Die simplesten sind im folgenden Beispiel aufgezeigt.
    
    ```markdown
    Normaler Text
    **Fettgedruckter Text**
    __Fettgedruckter Text__
    *Kursiv gesetzter Text*
    _Kursiv gesetzter Text_
    ~~Durchgestichener Text~~
    
    "Schöne doppelte Anführungszeichen"
    'Schöne einfache Anführungszeichen'
    
    Superscript: 19^th^
    Subscript: H~2~O
    Hinweis: Superscript und Subscript ~funktioniert nur~ ohne ^Leerzeichen dazwischen^. Es sei denn ~man\ escaped~ ^die\ Leerzeichen^.
    
    Geviertstriche werden mit zwei oder drei Minuszeichen gemacht:
    Schön---nein, unfassbar!
    Während 1980--1988.
    
    ***Gemischte*** ~~_Syntax_~~ __~geht~__ **_^auch^_**
    ```
    :::success
    Normaler Text
    **Fettgedruckter Text**
    __Fettgedruckter Text__
    *Kursiv gesetzter Text*
    _Kursiv gesetzter Text_
    ~~Durchgestichener Text~~
    
    "Schöne doppelte Anführungszeichen"
    'Schöne einfache Anführungszeichen'
    
    Superscript: 19^th^
    Subscript: H~2~O
    Hinweis: Superscript und Subscript ~funktioniert nur~ ohne ^Leerzeichen dazwischen^. Es sei denn ~man\ escaped~ ^die\ Leerzeichen^.
    
    Geviertstriche werden mit zwei oder drei Minuszeichen gemacht:
    Schön---nein, unfassbar!
    Während 1980--1988.
    
    ***Gemischte*** ~~_Syntax_~~ __~geht~__ **_^auch^_**
    :::
    
    
    Jake's avatar
    Jake committed
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#underline
    https://pandoc.org/MANUAL.html#small-caps
    https://pandoc.org/MANUAL.html#extension-smart
    https://pandoc.org/MANUAL.html#emphasis
    https://pandoc.org/MANUAL.html#highlighting
    https://pandoc.org/MANUAL.html#strikeout
    https://pandoc.org/MANUAL.html#superscripts-and-subscripts
    
    Jake's avatar
    Jake committed
    :::
        "Strong"     :{"handler" : InlineSimple, "etype":"strong"     },
        "Emph"       :{"handler" : InlineSimple, "etype":"emph"       },
        "Underline"  :{"handler" : InlineSimple, "etype":"underline"  },
        "Strikeout"  :{"handler" : InlineSimple, "etype":"strikeout"  },
        "Superscript":{"handler" : InlineSimple, "etype":"superscript"},
        "Subscript"  :{"handler" : InlineSimple, "etype":"subscript"  },
        "SmallCaps"  :{"handler" : InlineSimple, "etype":"smallcaps"  },
        "Quoted"     : InlineQuoted,
        "SoftBreak"  : InlineSoftBreak,
        "LineBreak"  : InlineLineBreak,
    
    
    Jake's avatar
    Jake committed
    Die restlichen Inlinemarkups sind in den folgenden Unterabschnitten genauer beschrieben.
    
    
    Jake's avatar
    Jake committed
    ### Links
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#links-1
    https://pandoc.org/MANUAL.html#extension-abbreviations
    https://pandoc.org/MANUAL.html#extension-implicit_header_references
    
    Jake's avatar
    Jake committed
    :::
        "Link"       : InlineLink,
    
    ### Bilder
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#images
    
    Jake's avatar
    Jake committed
    :::
        "Image"      : InlineImage,
    
    
    Jake's avatar
    Jake committed
    ### :point_right: Emoji :point_left:
    
    Es gibt Emojis! :smiley:
    Eine Auflistung *aller* 1855 möglichen Emojis findest du in der [Emojiliste](slug:emojis).
    
    ```markdown
    Fühl dich gedrückt :hugs: :hearts:
    ```
    :::success
    Fühl dich gedrückt :hugs: :hearts:
    
    Jake's avatar
    Jake committed
    :::
    
    
    Jake's avatar
    Jake committed
    
    <!-- https://pandoc.org/MANUAL.html#extension-emoji -->
    
    
    Jake's avatar
    Jake committed
    ### Mathe
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#math-input
    https://pandoc.org/MANUAL.html#math
    https://pandoc.org/MANUAL.html#extension-tex_math_single_backslash
    
    Jake's avatar
    Jake committed
    :::
        "Math"       : InlineMath,
    
    ### Code
    :::danger
    
    Jake's avatar
    Jake committed
    TODO https://pandoc.org/MANUAL.html#verbatim
    
    Jake's avatar
    Jake committed
    :::
    
    
    ### Fußnoten
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#footnotes
    
    Jake's avatar
    Jake committed
    :::
        "Note"       : InlineFootnote,
    
    
    Jake's avatar
    Jake committed
    ### Backslash-Escape
    
    Außer in [Codeblöcken](#codeblocke) oder [Inline Code](#code), werden alle Zeichensetzungen oder Leerzeichen, welche direkt auf ein Backslash folgen, als Literale gelesen.
    
    ```markdown
    *Dieser Text ist kursiv.*
    \*Dieser Text hat Sternchen.\*
    *\*Dieser Text hat Sternchen und ist kursiv.\**
    ```
    :::success
    *Dieser Text ist kursiv.*
    \*Dieser Text hat Sternchen.\*
    *\*Dieser Text hat Sternchen und ist kursiv.\**
    :::
    
    :::danger
    TODO
    https://pandoc.org/MANUAL.html#extension-all_symbols_escapable
    :::
    
    ### Nonbreaking Space
    :::danger
    TODO
    https://pandoc.org/MANUAL.html#extension-smart
    https://pandoc.org/MANUAL.html#extension-all_symbols_escapable
    :::
    
    ## Alerts
    :::danger
    TODO
    :::
    
    
    Jake's avatar
    Jake committed
    ## Zitate
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#block-quotations
    
    Jake's avatar
    Jake committed
    :::
        "BlockQuote"    : BlockQuote,
    
    ## Listen
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#extension-lists_without_preceding_blankline
    
    Jake's avatar
    Jake committed
    :::
    
    ### Ungeordnete Listen
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#bullet-lists
    
    Jake's avatar
    Jake committed
    :::
        "BulletList"    : BlockBulletList,
    ### Geordnete Listen
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#ordered-lists
    
    Jake's avatar
    Jake committed
    :::
        "OrderedList"   : BlockOrderedList,
    ### Aufgabenlisten
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#extension-task_lists
    :::
    
    ### Beispiellisten
    :::danger
    TODO
    https://pandoc.org/MANUAL.html#numbered-example-lists
    :::
    
    ### Listen beenden
    :::danger
    TODO
    https://pandoc.org/MANUAL.html#ending-a-list
    
    Jake's avatar
    Jake committed
    :::
    
    
    Jake's avatar
    Jake committed
    ## Definitionslisten
    
    Jake's avatar
    Jake committed
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#definition-lists
    
    Jake's avatar
    Jake committed
    :::
        "DefinitionList": BlockDefinitionList,
    
    ## Codeblöcke
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#verbatim-code-blocks
    
    Jake's avatar
    Jake committed
    :::
        "CodeBlock"     : BlockCode,
    
    
    Jake's avatar
    Jake committed
    ## Horizontale Trennlinien
    
    
    Jake's avatar
    Jake committed
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#horizontal-rules
    
    Jake's avatar
    Jake committed
    :::
        "HorizontalRule": BlockHorizontalRule,
    
    ## Tabellen
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#tables
    
    Jake's avatar
    Jake committed
    :::
        "Table"         : BlockTable,
    
    
    
    Jake's avatar
    Jake committed
    ## Kommentare
    
    Kommentare können einfach mit [HTML Kommentaren](https://www.w3schools.com/html/html_comments.asp) gemacht werden.
    
    ```markdown
    Hallo Welt
    <!-- Ich bin unsichtbar. Achtung: Es kann zusätzliche Zeilenumbrüche geben. -->
    Guten Tag
    ```
    :::success
    Hallo Welt
    <!-- Ich bin unsichtbar. Achtung: Es kann zusätzliche Zeilenumbrüche geben. -->
    Guten Tag
    :::
    
    ## Divs und Spans
    :::danger
    TODO
    https://pandoc.org/MANUAL.html#divs-and-spans
    https://pandoc.org/MANUAL.html#generic-raw-attribute
    https://pandoc.org/MANUAL.html#raw-htmltex
    :::
        "Div"           : BlockContainer,
        "Span"       : InlineContainer,
    
    ### Sachen nebeneinander darstellen
    
    :::danger
    TODO
    https://pandoc.org/MANUAL.html#columns
    :::
    
    
    
    
    Jake's avatar
    Jake committed
    ## Rohes HTML
    :::danger
    TODO
    
    Jake's avatar
    Jake committed
    https://pandoc.org/MANUAL.html#raw-html
    https://pandoc.org/MANUAL.html#raw-htmltex
    
    Jake's avatar
    Jake committed
    :::
        "RawBlock"      : BlockRaw,
        "RawInline"  : InlineRaw,
    
    Jake's avatar
    Jake committed
    
    ## Abbreviations
    Nicht unterstützt.
    
    :::danger
    TODO
    https://pandoc.org/MANUAL.html#extension-abbreviations
    :::
    
    
    
    ## Line Blocks
    :::danger
    TODO
    https://pandoc.org/MANUAL.html#line-blocks
    :::