Bilder und Videos in Grav

Diese Seite demonstriert die Verwendung von echten Medien in Grav.


1. Bild im Original

Demo-Bild

Das Bild liegt im gleichen Ordner wie default.md und wird automatisch von Grav erkannt.

2. Bild mit Grav-Modifikatoren

Verkleinert (resize)

Verkleinert

Graustufen

Graustufen

Weichgezeichnet (blur)

Blur

Mit Rahmen und Rotation

Rotiert

3. Responsive Bild-Sizes

Responsiv

4. SVG-Grafik

SVG-Logo

5. PNG-Icon

PNG-Icon

6. HTML5 Video

Das video-Tag wird in Grav direkt im Markdown gerendert. Beispiel-Syntax (als Text):

[video controls width="100%" style="max-width:640px;border-radius:8px"]
  [source src="video.mp4" type="video/mp4"]
  Ihr Browser unterstützt kein video-Tag.
[/video]

Das Video wird mit dem HTML5 video-Tag eingebunden. Die Quelle wird über ein source-Tag referenziert.

7. YouTube einbinden

YouTube-Videos erfordern ein iframe-Tag. Da Grav's Markdown-Parser spitze Klammern escaped, gibt es drei Lösungswege (siehe unten).

8. Audio einbinden

Das audio-Tag wird ebenfalls direkt gerendert. Beispiel-Syntax:

[audio controls style="width:100%;max-width:640px"]
  [source src="audio.mp3" type="audio/mpeg"]
  Ihr Browser unterstützt kein audio-Tag.
[/audio]

Markup-Erklärung

Markdown-Syntax für Bilder

SyntaxWirkung
![Alt-Text](demo.jpg)Originalbild
![Alt](demo.jpg?resize=400,200)Verkleinert auf 400×200
![Alt](demo.jpg?grayscale)Schwarzweiß-Filter
![Alt](demo.jpg?blur=5)Weichzeichner
![Alt](demo.jpg?rotate=90)90° Rotation
![Alt](demo.jpg?sizes=200,400,800)Responsive srcset

HTML5 Video

[video controls width="100%" style="max-width:640px"]
  [source src="video.mp4" type="video/mp4"]
[/video]

YouTube einbinden

Da Grav's Markdown-Parser das iframe-Tag als Text rendert, gibt es drei Lösungswege:

  1. JavaScript-Injection: Ein div-Tag mit ID plus ein script-Tag fügt das iframe dynamisch ein
  2. Twig-Template: Eigenes default.html.twig Partial mit include-Anweisung
  3. Shortcode-Plugin: Eigenen Shortcode registrieren

Tip

Grav verarbeitet Bilder automatisch über URL-Parameter. Das video-Tag und das audio-Tag werden direkt gerendert. Das iframe-Tag benötigt JavaScript-Injection oder Twig-Templates, da der Markdown-Parser es escaped.

7. YouTube einbinden