Theme-Architektur: Wie Mosaio Liquid-Themes rendert

Vom Editor über den Build-Worker zur statischen Datei: die Render-Pipeline und die zwei Render-Modi, die jedes Theme kennen muss.

Mosaio-Themes sind an Shopify Liquid angelehnt, laufen aber in einer eigenen Static-Site-Pipeline: Der Editor schreibt in die Datenbank, ein Build-Worker rendert daraus statische HTML-Dateien, ein Webserver liefert sie aus. Die Template-Engine basiert auf LiquidJS – alle Standard-Tags und -Filter sind verfügbar, ergänzt um theme-spezifische Erweiterungen.

Die Pipeline

PageBuilder (Dashboard)
   │  Sections hinzufügen, Einstellungen ändern, Inline-Editing
   ▼
Datenbank (Seitenversionen, Themes, Menüs, Datensätze …)
   │  Job in der Warteschlange (page_published, theme_activated …)
   ▼
Website-Builder-Worker
   │  lädt das Theme, rendert Liquid, backt Media-URLs ein,
   │  injiziert Consent-Skripte, inlined Critical CSS
   ▼
/<domain>/index.html, ueber-uns.html, assets/…, sitemap.xml, robots.txt
   ▼
Statischer Webserver

Die zwei Render-Modi

Dasselbe Template wird in zwei Modi gerendert. Fast jede Besonderheit des Systems lässt sich darauf zurückführen:

Live-BuildEditor-/Vorschau-Render
Ausgelöst durchWorker-JobPageBuilder-Iframe
Media-URLsabsolut, öffentlich (eingebacken)relativ, geschützt
Consent-Skripteinjiziert, type="text/plain" bis zur Einwilligungnie ausgeführt
Inline-Edit-Markerneinja (data-lf, data-section-id …)
request.design_modefalsetrue

Schlüsselbegriffe

BegriffBedeutung
SectionWiederverwendbarer HTML-Baustein mit Einstellungen, eine .liquid-Datei mit {% schema %}
BlockWiederholbares Unterelement einer Section (Slide, FAQ-Eintrag, Karte)
Section GroupHeader, Body oder Footer – Header und Footer gelten für alle Seiten
Theme SettingsGlobale Konfiguration aus config/settings_schema.json
PresetVorausgefüllte Variante einer Section inklusive Blocks
CollectionServerseitig injizierte Liste veröffentlichter Datensätze
Asset ManifestZuordnung Dateiname → gehashter Dateiname für Cache-Busting

Die Starter-Themes (z. B. „frame“) sind die beste lebende Referenz. Exportiere eines unter Website → Themes → Exportieren und nutze es als Ausgangspunkt.

Noch Fragen?

Unser Support antwortet in der Regel innerhalb eines Werktags.

Support kontaktieren