Kai Ole Hartwig

sylius-markdown — Markdown aus Daten, nicht aus HTML.

Schickt ein Client Accept: text/markdown, antwortet die Storefront mit Markdown. Das Dokument entsteht aus Entity-Daten über ein Twig-Template, nicht aus gerendertem HTML — sonst stünden Navigation, Footer und Cookie-Banner mit drin. Der Listener greift vor dem Controller, sodass die HTML-Erzeugung ganz entfällt.

Markdown aus HTML zu gewinnen heißt, den Footer mitzuliefern

Der kürzeste Weg zu Markdown ist, die fertige HTML-Seite durch einen Konverter zu schicken. Was dabei herauskommt, enthält die Hauptnavigation, den Footer, den Cookie-Banner und jedes Teaser-Element — also alles, was auf jeder Seite gleich ist und deshalb nichts über die eine Seite aussagt. Hier entsteht das Dokument stattdessen aus Entity-Daten über ein Twig-Template. Was im Markdown steht, ist damit eine Entscheidung des Templates und nicht ein Nebenprodukt des Layouts.

Der Listener greift vor dem Controller. Das ist mehr als eine Optimierung: Würde er auf der Response ansetzen, müsste die Storefront erst die vollständige HTML-Seite rendern, um sie anschließend zu verwerfen — samt aller Twig-Extensions und Datenbank-Abfragen, die nur für Navigation und Randbereiche existieren. So entfällt die HTML-Erzeugung ganz.

Und er liegt unterhalb der Firewall, damit ein Markdown-Request auf /account/… derselben Zugriffskontrolle unterliegt wie der HTML-Request. Ein Listener oberhalb der Firewall wäre genau das, wonach es klingt: ein Accept-Header als Umgehung der Authentifizierung. Content Negotiation ändert die Darstellung einer Ressource, nie die Frage, wer sie sehen darf.

Dieselbe Zugriffskontrolle wie beim HTML-Request

Sylius: 2.0+ · PHP: 8.2+ · Lizenz: MIT · Stand: 1.0.0

Quellcode & Doku

Composer-Paket

MIT · Sylius 2.0+ · PHP 8.2+

composer require koh/sylius-markdown

Gebaut, getestet und unter MIT veröffentlicht. Die öffentliche Distribution über Packagist wird vorbereitet (coming soon).

Teil der Familie

MIT

Dieses Paket gehört zu koh/sylius-agent-ready — siebzehn Bundles, die einen Sylius-Shop für KI-Agenten benutzbar machen. Jedes ist einzeln einsetzbar.

Zur Übersicht
Teil der Familie