bg_image
header

Repository

Ein Repository (deutsch: „Ablage“, „Speicher“ oder „Depot“) ist ein zentraler Ort, an dem Daten, Dateien oder Code organisiert, gespeichert und verwaltet werden. Der Begriff wird je nach Kontext etwas unterschiedlich verwendet – hier sind die häufigsten Bedeutungen:


💻 In der Softwareentwicklung (z. B. bei GitHub oder GitLab):

Ein Repository ist ein Verzeichnis, das den Quellcode eines Projekts, Konfigurationsdateien, Dokumentationen und die Versionsgeschichte enthält. Es dient dazu, die Entwicklung von Software zu verfolgen, Änderungen zu speichern und im Team zusammenzuarbeiten.

  • 🔁 Versionierung: Mit Tools wie Git kann man Änderungen rückgängig machen, alte Versionen vergleichen und neue Features in eigenen Branches entwickeln.

  • 🤝 Zusammenarbeit: Entwickler können gemeinsam am Code arbeiten, Pull Requests stellen, Issues anlegen und Code-Reviews durchführen.

  • 🌍 Remote-Repository: Online-Plattformen wie GitHub, GitLab oder Bitbucket hosten Repositories, damit Teams weltweit gemeinsam entwickeln können.

Beispiel:

git clone https://github.com/nutzername/mein-projekt.git

📦 In Paketverwaltungssystemen (z. B. Linux, Python):

Ein Repository ist eine Sammlung von Softwarepaketen, die von einer Paketverwaltung (z. B. apt, yum, pip) verwendet wird, um Programme zu installieren oder zu aktualisieren.

Beispiel:

sudo apt update
sudo apt install firefox

📚 Allgemeiner Begriff:

Auch außerhalb der IT kann ein „Repository“ eine Art Datenbank oder Archiv sein – z. B. für wissenschaftliche Publikationen oder digitale Sammlungen.


GitHub Actions

GitHub Actions ist ein Feature von GitHub, mit dem du automatisierte Workflows für deine Softwareprojekte erstellen kannst – direkt im GitHub-Repository.


🛠️ Was kann man mit GitHub Actions machen?

Du kannst CI/CD-Pipelines (Continuous Integration / Continuous Deployment) aufbauen, z. B.:

  • Code automatisch testen (z. B. mit PHPUnit, Jest, Pytest)

  • 🛠️ Code bei jedem Push oder Pull Request builden

  • 🚀 Software automatisch deployen (z. B. auf einen Webserver, in die Cloud, zu DockerHub)

  • 📦 Releases erstellen (z. B. ZIP-Dateien, Versionstags)

  • 🔄 Cronjobs oder geplante Tasks laufen lassen


🧱 Wie funktioniert es?

GitHub Actions basiert auf sogenannten Workflows, die du in einer Datei definierst:

  • Die Datei heißt z. B. .github/workflows/ci.yml

  • Sie ist im YAML-Format

  • Du definierst Events (z. B. push, pull_request) und Jobs (z. B. build, test)

  • Jobs bestehen aus Steps, die Befehle oder Aktionen ausführen

Beispiel: Einfacher CI-Workflow für Node.js

name: CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '20'
      - run: npm install
      - run: npm test

🧩 Was sind "Actions"?

Eine Action ist ein einzelner Schritt, den man in einem Workflow ausführt. Es gibt:

  • Vorgefertigte Actions (z. B. actions/checkout, setup-node, upload-artifact)

  • Eigene Actions (z. B. Shell-Skripte oder Docker-Container)

Du kannst Actions im GitHub Marketplace finden und nutzen.


💡 Warum ist das nützlich?

  • Spart manuelle Arbeit

  • Verbessert Codequalität (durch automatisierte Tests)

  • Macht Deployments reproduzierbar

  • Alles direkt in GitHub – kein externer CI-Dienst nötig (wie Jenkins oder Travis CI)


Hugo

Hugo ist ein schnelles und modernes Static Site Generator (SSG), mit dem sich Websites erstellen lassen, die keine serverseitige Verarbeitung benötigen. Es wurde in der Programmiersprache Go (Golang) entwickelt und ist besonders für Entwickler und technisch versierte Nutzer geeignet, die auf der Suche nach Geschwindigkeit, Flexibilität und einfacher Wartung sind.

Wie funktioniert Hugo?

Hugo generiert statische HTML-Dateien aus Vorlagen (Templates) und Inhalten, die in Markdown geschrieben werden. Sobald die Seiten erstellt sind, können sie direkt auf einem Webserver oder Content Delivery Network (CDN) bereitgestellt werden, ohne dass eine Datenbank oder serverseitige Skripte erforderlich sind.


Hauptmerkmale von Hugo

1. Geschwindigkeit

Hugo ist bekannt als einer der schnellsten Static Site Generators. Es kann Tausende von Seiten in wenigen Sekunden generieren, was besonders bei größeren Projekten von Vorteil ist.

2. Dateibasiertes System

Inhalte werden als Markdown-Dateien gespeichert, was die Handhabung und Versionskontrolle (z. B. mit Git) erleichtert. Diese Dateien sind leicht zugänglich und portabel.

3. Templates und Themes

Hugo bietet eine leistungsstarke Template-Engine, die es ermöglicht, Layouts für jede Art von Inhalt zu definieren. Außerdem gibt es zahlreiche vorgefertigte Themes, die sich anpassen lassen, wodurch auch Einsteiger schnell starten können.

4. Flexibilität

  • Mehrsprachigkeit: Hugo unterstützt die Erstellung mehrsprachiger Websites direkt "out of the box".
  • Taxonomien: Kategorien, Tags und andere Inhalte können flexibel organisiert und dargestellt werden.
  • Custom Output Formats: Es können neben HTML auch andere Formate (z. B. JSON, AMP) generiert werden.

5. Open Source und kostenlos

Hugo ist Open Source und unter der Apache-2.0-Lizenz kostenlos verfügbar. Es wird von einer aktiven Community weiterentwickelt.

6. Deployment

Die generierten Dateien können auf praktisch jeder Plattform gehostet werden, darunter:

  • GitHub Pages
  • Netlify
  • AWS S3
  • Cloudflare Pages Dadurch eignet es sich ideal für einfache, kostengünstige Bereitstellungen.

Einsatzgebiete von Hugo

  • Persönliche Blogs
  • Portfolios
  • Dokumentations-Websites
  • Unternehmensseiten
  • Landing Pages

Vorteile von Hugo

  • Keine Abhängigkeiten: Da es sich um statische Seiten handelt, entfällt die Notwendigkeit einer Datenbank oder serverseitigen Technologien.
  • Schnelle Ladezeiten: Statische Seiten laden deutlich schneller als dynamische Websites.
  • Sicherheit: Ohne serverseitige Skripte gibt es weniger Angriffsflächen.
  • SEO-freundlich: Hugo generiert sauberen, optimierten HTML-Code.

Fazit

Hugo ist ideal für Entwickler und Unternehmen, die schnelle, sichere und leicht wartbare Websites erstellen möchten. Es kombiniert modernste Technologie mit maximaler Flexibilität und minimalem Wartungsaufwand. Besonders für Projekte mit Fokus auf Geschwindigkeit und einfachem Hosting ist Hugo eine hervorragende Wahl.

 


SonarQube

SonarQube ist ein Open-Source-Tool zur kontinuierlichen Analyse und Qualitätssicherung von Quellcode. Es hilft Entwicklern und Teams, die Codequalität zu bewerten, Schwachstellen zu identifizieren und Best Practices in der Softwareentwicklung zu fördern.

Hauptfunktionen:

  1. Codequalität prüfen:

    • SonarQube analysiert Quellcode und bewertet Aspekte wie Lesbarkeit, Wartbarkeit und Architekturqualität.
    • Es erkennt potenzielle Probleme wie Code-Duplikate, nicht genutzte Variablen oder komplexe Methoden.
  2. Sicherheitslücken aufdecken:

  3. Technische Schulden bewerten:

    • Technische Schulden sind die Aufwände, die nötig wären, um den Code auf einen optimalen Zustand zu bringen.
    • SonarQube visualisiert diese Schulden, um Priorisierungen zu erleichtern.
  4. Unterstützung für viele Programmiersprachen:

    • Es unterstützt mehr als 20 Sprachen, darunter Java, Python, JavaScript, C#, C++, PHP und viele mehr.
  5. Integration in CI/CD-Pipelines:

    • SonarQube lässt sich leicht in Tools wie Jenkins, GitLab CI/CD oder Azure DevOps integrieren.
    • Dadurch kann Code bei jedem Commit oder vor einem Release geprüft werden.
  6. Berichte und Dashboards:

    • Es bietet übersichtliche Dashboards mit Metriken, Trends und Detailanalysen.
    • Entwickler können leicht erkennen, wo Verbesserungen nötig sind.

Einsatzbereiche:

  • Unternehmen: Zur Sicherstellung der Codequalität und Einhaltung von Sicherheitsstandards in großen Softwareprojekten.
  • Teams: Für eine kontinuierliche Verbesserung des Codes und zur Förderung guter Entwicklungspraktiken.
  • Einzelentwickler: Als Lernwerkzeug, um besseren Code zu schreiben.

SonarQube ist in einer kostenlosen Community-Edition und in kommerziellen Versionen mit erweiterten Funktionen verfügbar (z. B. für größere Teams oder spezielle Sicherheitsanalysen).

 


Renovate

Renovate ist ein Open-Source-Tool, das den Prozess der Abhängigkeitsverwaltung automatisiert. Es überwacht kontinuierlich die Abhängigkeiten eines Softwareprojekts (wie npm, Maven, Docker) und erstellt Pull Requests, um veraltete Pakete zu aktualisieren. So bleibt das Projekt auf dem neuesten Stand und sicher.

Hauptfunktionen umfassen:

  1. Automatische Abhängigkeits-Updates: Renovate erkennt veraltete oder unsichere Abhängigkeiten und erstellt Pull Requests mit den Updates.
  2. Anpassbare Konfiguration: Man kann konfigurieren, wann und wie Updates durchgeführt werden sollen, z.B. nach Zeitplänen oder mit automatischem Zusammenführen.
  3. Unterstützung für Monorepos: Ideal für große Projekte oder Teams mit mehreren Paketen.
  4. Sicherheitswarnungen: Renovate integriert Datenbanken zu Sicherheitslücken und informiert über Probleme bei Abhängigkeiten.

Es hilft, technische Schulden zu reduzieren und Sicherheitslücken durch Drittabhängigkeiten zu minimieren, was es besonders bei GitHub, GitLab und Bitbucket beliebt macht.

 


GitHub Copilot

GitHub Copilot ist ein KI-gestützter Code-Assistent, der von GitHub in Zusammenarbeit mit OpenAI entwickelt wurde. Es verwendet maschinelles Lernen, um Entwicklern bei der Programmierung zu helfen, indem es Code-Vorschläge in Echtzeit direkt in die Entwicklungsumgebung (IDE) einfügt. Copilot wurde entwickelt, um die Produktivität zu steigern, indem es automatisch Code-Blöcke, Funktionen und sogar vollständige Algorithmen basierend auf dem Kontext und den Eingaben des Entwicklers vorschlägt.

Funktionen von GitHub Copilot:

  1. Code-Vervollständigung: Copilot schlägt nicht nur einzelne Codezeilen vor, sondern kann auch ganze Blöcke, Methoden oder Funktionen basierend auf der aktuellen Codebasis und den Kommentaren vervollständigen.
  2. Unterstützung mehrerer Programmiersprachen: Copilot funktioniert mit einer Vielzahl von Sprachen wie JavaScript, Python, TypeScript, Ruby, Go, C#, und vielen weiteren.
  3. Integration in IDEs: Es lässt sich nahtlos in beliebte IDEs wie Visual Studio Code und JetBrains IDEs integrieren.
  4. Kontextbezogene Vorschläge: Es analysiert den umgebenden Code und kann auf diese Weise Vorschläge machen, die den Entwicklungsfluss unterstützen, anstatt zufällige Snippets anzubieten.

Wie funktioniert GitHub Copilot?

GitHub Copilot basiert auf einem maschinellen Lernmodell namens Codex, das von OpenAI entwickelt wurde. Codex ist auf Milliarden von Zeilen öffentlichem Code trainiert und in der Lage, verschiedene Programmierkonzepte zu verstehen und anzuwenden. Die Vorschläge von Copilot basieren auf den Kommentaren, den Funktionsnamen und dem aktuellen Kontext in der Datei, die der Entwickler bearbeitet.

Vorteile:

  • Erhöhte Produktivität: Entwickler sparen Zeit bei repetitiven Aufgaben und Standardcode.
  • Lernhilfe: Copilot kann Vorschläge zu Code machen, den der Entwickler möglicherweise nicht kennt, und hilft so beim Lernen neuer Sprachfeatures oder Bibliotheken.
  • Schnelles Prototyping: Durch die automatische Code-Vervollständigung wird es einfacher, Ideen schnell in Code umzusetzen.

Nachteile und Herausforderungen:

  • Qualität der Vorschläge: Da Copilot auf vorhandenen Daten trainiert wurde, können die Vorschläge variieren und nicht immer optimal sein.
  • Sicherheitsrisiken: Es besteht die Gefahr, dass Copilot Code vorschlägt, der Schwachstellen enthält, da es auf Open-Source-Code basiert.
  • Copyright-Fragen: Es gibt Diskussionen darüber, ob der auf Copilot trainierte Code die Lizenzbedingungen des zugrunde liegenden Open-Source-Codes verletzt.

Verfügbarkeit:

GitHub Copilot ist als kostenpflichtiger Dienst erhältlich, bietet aber auch eine kostenlose Testphase und vergünstigte Optionen für Studenten und Open-Source-Entwickler an.

Best Practices für die Nutzung:

  • Review der Vorschläge: Entwickler sollten jeden Vorschlag überprüfen, bevor er in das Projekt integriert wird.
  • Verständnis des vorgeschlagenen Codes: Da Copilot Code generiert, den der Benutzer möglicherweise nicht sofort versteht, ist es wichtig, den generierten Code zu hinterfragen und zu analysieren.

GitHub Copilot hat das Potenzial, die Art und Weise, wie Entwickler arbeiten, grundlegend zu verändern. Allerdings sollte es als Assistent und nicht als Ersatz für das eigene Verständnis und die Sorgfalt im Entwicklungsprozess gesehen werden.

 


Pipeline

In der Softwareentwicklung bezeichnet eine Pipeline eine automatisierte Abfolge von Schritten, die ausgeführt werden, um Code von der Entwicklungsphase bis zur Bereitstellung in einer Produktionsumgebung zu bringen. Diese Pipelines sind ein zentraler Bestandteil von Continuous Integration (CI) und Continuous Deployment (CD), zwei Praktiken, die darauf abzielen, Software schneller, zuverlässiger und konsistenter zu entwickeln und bereitzustellen.

Hauptkomponenten einer Softwareentwicklungs-Pipeline:

  1. Quellcode-Verwaltung (Source Control):

    • Der Prozess beginnt normalerweise, wenn Entwickler neuen Code in ein Versionskontrollsystem (z. B. Git) einchecken. Dieser Code-Commit löst oft automatisch den nächsten Schritt in der Pipeline aus.
  2. Build-Prozess:

    • Der Code wird automatisch kompiliert und gebaut. Dabei wird der Quellcode in ausführbare Dateien, Bibliotheken oder andere artefakte umgewandelt. In diesem Schritt werden auch Abhängigkeiten aufgelöst und Pakete erstellt.
  3. Automatisierte Tests:

    • Nach dem Build-Prozess wird der Code automatisch getestet. Dazu gehören Unit-Tests, Integrationstests, Funktionstests und manchmal auch UI-Tests. Diese Tests stellen sicher, dass neue Änderungen keine bestehenden Funktionen beschädigen und dass der Code den Anforderungen entspricht.
  4. Bereitstellung (Deployment):

    • Wenn die Tests erfolgreich sind, wird der Code automatisch in eine bestimmte Umgebung bereitgestellt. Dies kann eine Staging-Umgebung sein, in der weitere manuelle oder automatisierte Tests stattfinden, oder es kann direkt in die Produktionsumgebung gehen.
  5. Monitoring und Feedback:

    • Nach der Bereitstellung wird die Anwendung überwacht, um sicherzustellen, dass sie wie erwartet funktioniert. Fehler und Performance-Probleme können schnell identifiziert und behoben werden. Feedback-Schleifen helfen den Entwicklern, Probleme frühzeitig zu erkennen und kontinuierlich Verbesserungen vorzunehmen.

Vorteile einer Pipeline in der Softwareentwicklung:

  • Automatisierung: Reduziert manuelle Eingriffe und minimiert die Fehleranfälligkeit.
  • Schnellere Entwicklung: Änderungen können schneller und häufiger in die Produktion überführt werden.
  • Konsistenz: Durch festgelegte Prozesse wird sichergestellt, dass alle Änderungen denselben Qualitätsanforderungen genügen.
  • Kontinuierliche Integration und Bereitstellung: Macht es möglich, Code kontinuierlich zu integrieren und schnell in die Produktion zu bringen, was die Reaktionszeit auf Fehler und neue Anforderungen verkürzt.

Diese Pipelines sind somit entscheidend für die moderne Softwareentwicklung, insbesondere in Umgebungen, die auf agile Methoden und DevOps-Praktiken setzen.

 


Continuous Deployment - CD

Continuous Deployment (CD) ist ein Ansatz in der Softwareentwicklung, bei dem Codeänderungen automatisch in die Produktionsumgebung übertragen werden, nachdem sie den automatisierten Testprozess bestanden haben. Dies bedeutet, dass neue Funktionen, Fehlerbehebungen und andere Änderungen sofort nach erfolgreicher Durchführung von Tests live gehen können. Hier sind die Hauptmerkmale und Vorteile von Continuous Deployment:

  1. Automatisierung: Der gesamte Prozess von der Codeänderung bis zur Produktion ist automatisiert. Dazu gehören das Bauen der Software, das Testen und das Deployment.

  2. Schnelle Bereitstellung: Änderungen werden sofort nach erfolgreichem Testen bereitgestellt, was die Zeit zwischen der Entwicklung und der Nutzung durch die Endbenutzer erheblich verkürzt.

  3. Hohe Qualität und Zuverlässigkeit: Durch den Einsatz umfangreicher automatisierter Tests und Überwachungen wird sichergestellt, dass nur qualitativ hochwertiger und stabiler Code in die Produktion gelangt.

  4. Geringere Risiken: Da Änderungen häufig und in kleinen Inkrementen bereitgestellt werden, sind die Risiken im Vergleich zu großen, seltenen Releases geringer. Fehler können schneller erkannt und behoben werden.

  5. Kundenzufriedenheit: Kunden profitieren schneller von neuen Funktionen und Verbesserungen, was die Zufriedenheit erhöht.

  6. Kontinuierliches Feedback: Entwickler erhalten schneller Feedback zu ihren Änderungen, was die Möglichkeit bietet, Probleme schneller zu identifizieren und zu beheben.

Ein typischer Continuous Deployment-Prozess könnte folgende Schritte umfassen:

  1. Codeänderung: Ein Entwickler macht eine Änderung im Code und pusht diese in ein Versionskontrollsystem (z.B. Git).

  2. Automatisiertes Bauen: Ein Continuous Integration (CI) Server (z.B. Jenkins, CircleCI) zieht den neuesten Code, baut die Anwendung und führt unit tests und integration tests durch.

  3. Automatisiertes Testen: Der Code durchläuft eine Reihe automatisierter Tests, einschließlich Unit-Tests, Integrationstests und möglicherweise End-to-End-Tests.

  4. Bereitstellung: Wenn alle Tests erfolgreich sind, wird der Code automatisch in die Produktionsumgebung übertragen.

  5. Überwachung und Feedback: Nach der Bereitstellung wird die Anwendung überwacht, um sicherzustellen, dass sie korrekt funktioniert. Feedback aus der Produktionsumgebung kann zur weiteren Verbesserung verwendet werden.

Continuous Deployment unterscheidet sich von Continuous Delivery (auch CD genannt), wo der Code ebenfalls regelmäßig und automatisch gebaut und getestet wird, aber eine manuelle Freigabe erforderlich ist, um ihn in die Produktion zu bringen. Continuous Deployment geht einen Schritt weiter und automatisiert auch diesen letzten Schritt.

 


Continuous Integration - CI

Continuous Integration (CI) ist eine Praxis im Bereich der Softwareentwicklung, bei der Entwickler regelmäßig ihre Codeänderungen in ein zentrales Repository integrieren. Diese Integration erfolgt häufig, oft mehrere Male am Tag. CI wird durch verschiedene Tools und Techniken unterstützt und bietet mehrere Vorteile für den Entwicklungsprozess. Hier sind die wesentlichen Merkmale und Vorteile von Continuous Integration:

Merkmale von Continuous Integration

  1. Automatisierte Builds: Sobald Code in das zentrale Repository eingecheckt wird, wird ein automatisierter Build-Prozess gestartet. Dieser Prozess kompiliert den Code und führt grundlegende Tests durch, um sicherzustellen, dass die neuen Änderungen nicht zu Build-Fehlern führen.

  2. Automatisierte Tests: CI-Systeme führen automatisch Tests durch, um sicherzustellen, dass neue Codeänderungen keine bestehenden Funktionen beschädigen. Diese Tests können Unit-Tests, Integrationstests und andere Arten von Tests umfassen.

  3. Kontinuierliches Feedback: Entwickler erhalten schnell Feedback über den Zustand ihres Codes. Bei Fehlern können sie diese sofort beheben, bevor sie zu größeren Problemen führen.

  4. Versionskontrolle: Alle Codeänderungen werden in einem Versionskontrollsystem (wie Git) verwaltet. Dies ermöglicht eine Nachverfolgbarkeit von Änderungen und erleichtert die Zusammenarbeit im Team.

Vorteile von Continuous Integration

  1. Frühe Fehlererkennung: Durch häufiges Integrieren und Testen des Codes können Fehler frühzeitig erkannt und behoben werden, was die Qualität des Endprodukts verbessert.

  2. Reduzierte Integrationsprobleme: Da der Code regelmäßig integriert wird, treten weniger Konflikte und Integrationsprobleme auf, die ansonsten bei der Zusammenführung großer Codeänderungen entstehen könnten.

  3. Schnellere Entwicklung: CI ermöglicht eine schnellere und effizientere Entwicklung, da Entwickler sofort Feedback zu ihren Änderungen erhalten und Probleme schneller gelöst werden können.

  4. Bessere Codequalität: Durch kontinuierliches Testen und Code-Überprüfung wird die Gesamtqualität des Codes verbessert. Fehler und Bugs können schneller identifiziert und behoben werden.

  5. Erleichterte Zusammenarbeit: CI fördert eine bessere Zusammenarbeit im Team, da alle Entwickler regelmäßig ihren Code integrieren und testen. Dies führt zu einer besseren Synchronisation und Kommunikation innerhalb des Teams.

CI-Tools

Es gibt viele Tools, die Continuous Integration unterstützen, darunter:

  • Jenkins: Ein weit verbreitetes Open-Source-CI-Tool, das zahlreiche Plugins zur Erweiterung der Funktionalität bietet.
  • Travis CI: Ein CI-Service, der gut in GitHub integriert ist und oft in Open-Source-Projekten verwendet wird.
  • CircleCI: Ein weiteres beliebtes CI-Tool, das schnelle Builds und eine einfache Integration mit verschiedenen Versionskontrollsystemen bietet.
  • GitLab CI/CD: Teil der GitLab-Plattform, bietet eine nahtlose Integration mit GitLab-Repositories und umfangreiche CI/CD-Funktionen.

Durch die Implementierung von Continuous Integration können Entwicklungsteams die Effizienz ihrer Arbeitsabläufe verbessern, die Qualität ihres Codes steigern und letztendlich schneller hochwertige Softwareprodukte liefern.

 


Markdown

Markdown ist eine leichte Markup-Sprache, die entwickelt wurde, um einfach lesbaren und gleichzeitig formatierbaren Text zu erstellen. Sie wird oft verwendet, um Text in Webseiten, Dokumentationen und anderen textbasierten Formaten zu formatieren. Markdown-Dateien verwenden die Dateierweiterung .md oder .markdown.

Hier sind einige grundlegende Elemente von Markdown:

  1. Überschriften:

    • # Überschrift 1
    • ## Überschrift 2
    • ### Überschrift 3
  2. Textformatierungen:

    • Kursiv: *kursiv* oder _kursiv_
    • Fett: **fett** oder __fett__
    • Durchgestrichen: ~~durchgestrichen~~
  3. Listen:

    • Ungeordnete Liste:
      • * Element 1
      • * Element 2
    • Geordnete Liste:
      • 1. Element 1
      • 2. Element 2
  4. Links:

    • [Linktext](URL)
  5. Bilder:

    • ![Alternativtext](Bild-URL)
  6. Code:

    • Inline-Code: `Code`
  7. Blockzitate:

    • > Dies ist ein Zitat
  8. Horizontale Linie:

    • --- oder ***

Markdown ist besonders nützlich, weil es leicht lesbar ist, auch wenn es nicht gerendert wird. Das macht es ideal für die Verwendung in Versionierungs- und Kollaborationssystemen wie GitHub, wo Benutzer Textdateien direkt anzeigen und bearbeiten können.