Astro
Dein Weg zur Astro Content Layer API
Geschrieben von Noel
Veröffentlicht:
17 Min. Lesezeit
Themen mit KI-Unterstützung recherchiert; von Noel vor der Veröffentlichung geprüft und überarbeitet.

Thema vertiefen
Weitere Astro-Guides, Glossar-Einträge und Workflows findest du im Themen-Hub.
Die Astro Content Layer API ist der Teil von Astro, der strukturierte Daten in die Inhaltsschicht von lokalen Dateien oder entfernten Quellen lädt. Sie ist wichtig, weil sie die Handhabung von Inhalten in einen definierten Workflow verwandelt, anstatt in einen Haufen ad-hoc Imports und benutzerdefinierter Skripte zu verfallen.
Für Händler und Entwickler liegt der praktische Vorteil auf der Hand: Du kannst Inhalte organisiert halten, sie validieren und mit vorhersehbaren Typen rendern. Das erleichtert die Verwaltung von Blogs, produktähnlichen Inhalten, Dokumentationen und anderen strukturierten Seiten, ohne raten zu müssen, woher die Daten stammen.
Wichtigste Erkenntnisse
- Die Content Layer API dient dem Laden von Daten in Astro, nicht nur dem Speichern von Dateien in einem Ordner.
- Lokale Loader wie
glob()undfile()sind der schnellste Weg für strukturierte Inhalte, die bereits in deinem Repository sind.- Entfernte Quellen sind möglich, benötigen jedoch einen benutzerdefinierten oder Community-Loader und stärkere Validierung.
- Build-Zeiteinstellungen wie
retainBodyunddeferRenderkönnen den Speicherverbrauch und die Größe des Deployments beeinflussen.- Die besten Ergebnisse erzielt man, wenn Inhalte als schema-gesteuertes System behandelt werden, nicht als lose Seitenkopien.
Was ist das?
Die Astro Content Layer API ist die Sammlung von Loader-Tools, die Astro verwendet, um Inhalte in seine Inhaltsschicht zu bringen. Einfach gesagt, ist es die Brücke zwischen deinen Quelldaten und den Sammlungen, die deine Seiten lesen. Diese Quelle kann ein Verzeichnis von Markdown-Dateien, eine einzelne JSON-Datei oder ein entferntes System sein, auf das du über einen benutzerdefinierten Loader zugreifst.
Ein konkretes Beispiel hilft. Stell dir eine Seite vor, auf der Blogbeiträge als Markdown-Dateien existieren, Autorendaten in einer JSON-Datei gespeichert sind und Produktlaunch-Notizen aus einer anderen Quelle stammen. Die Content Layer API ermöglicht es dir, jede dieser Quellen in Sammlungen zu laden, sodass der Rest deiner App sie konsistent abfragen kann. Statt für jede Seite separate Parsing-Logik zu schreiben, definierst du einmal, wie die Daten geladen werden, und verwendest es überall.
Deshalb ist der Begriff sowohl für Händler als auch für Entwickler von Bedeutung. Händler kümmern sich normalerweise um Inhaltsoperationen: Wer aktualisiert was, wie oft und wie sicher. Entwickler kümmern sich um Struktur, Typsicherheit und Build-Zuverlässigkeit. Die Content Layer API sitzt in der Mitte und bietet beiden Seiten einen klareren Workflow. Wenn du bereits Astro-Inhaltskollektionen verwendest, ist diese API der Mechanismus, der diese Kollektionen in großem Maßstab nützlich macht.
Eine nützliche Art, darüber nachzudenken, ist als eine Schicht zur Inhaltsaufnahme. Die API ersetzt nicht dein Inhaltsmodell; sie speist dieses Modell. Diese Unterscheidung ist wichtig, da Teams oft „wo der Inhalt lebt“ mit „wie der Inhalt geladen wird“ verwechseln. Eine Markdown-Datei in einem Repository, eine JSON-Datei in einem gemeinsamen Ordner und ein Eintrag in einem entfernten CMS können alle in der gleichen Sammlung landen, wenn der Loader weiß, wie man sie liest. Die API gibt dir einen stabilen Vertrag zwischen Quelle und Seite, was spätere Änderungen weniger störend macht.
Es ist auch wichtig, die API von der Idee einer Seitenschablone zu trennen. Eine Schablone entscheidet, wie der Inhalt auf der Seite aussieht. Die Content Layer API entscheidet, wie dieser Inhalt überhaupt ins System gelangt. Wenn diese Verantwortlichkeiten getrennt sind, können Teams die Quelle ändern, ohne jede Route neu zu schreiben. Das ist besonders nützlich für Seiten, die mit lokalen Inhalten beginnen und später redaktionelle Workflows, gemeinsame Metadaten oder entfernte Veröffentlichungssysteme hinzufügen müssen.
Warum es wichtig ist – geschäftliche und technische Auswirkungen
Die geschäftlichen Auswirkungen beginnen mit Konsistenz. Wenn Inhalte durch eine definierte API geladen werden, können Teams die gleiche Struktur über Seiten, Kampagnen und Inhaltstypen hinweg beibehalten. Das verringert die Wahrscheinlichkeit, dass eine Seite kaputtgeht, weil eine Datei einen anderen Feldnamen verwendet hat oder ein entferntes System eine Form zurückgibt, die du nicht erwartet hast. Für Händler bedeutet das weniger Last-Minute-Korrekturen, wenn eine Startseite, ein Artikel oder eine Produktgeschichte live gehen muss.
Der technische Einfluss ist ebenso wichtig. Die Content Layer API unterstützt Schemata, was bedeutet, dass du Einträge validieren und statische Typen generieren kannst. Das hilft, Fehler früher im Workflow zu erkennen, bevor sie die Produktion erreichen. Auf einer inhaltslastigen Seite ist das oft der Unterschied zwischen einem sicheren Build und einem Build, der aufgrund eines fehlerhaften Eintrags fehlschlägt.
Es verändert auch die Denkweise der Teams über Skalierung. Astros Loader können mit lokalen Inhalten über glob() und file() arbeiten, aber dasselbe Modell kann bei Bedarf auf entfernte Daten ausgeweitet werden. Das bedeutet, dass du die gesamte Seite nicht neu gestalten musst, wenn sich deine Inhaltsquelle später ändert. Ein Team könnte mit Markdown-Dateien beginnen und dann einige Inhalte in ein CMS oder ein anderes System verschieben, während die gleiche Sammlungsstruktur beibehalten wird.
Es gibt auch einen Leistungsgedanken. Astros Loader-Optionen umfassen Steuerungen wie retainBody und deferRender, die wichtig sind, wenn Sammlungen groß werden. Wenn du eine Seite mit vielen langen Einträgen erstellst, können diese Optionen helfen, Speicherprobleme zu vermeiden und die Größe der gespeicherten Daten zu reduzieren. Mit anderen Worten, die API dient nicht nur der Bequemlichkeit; sie ist Teil dessen, wie du stabile Builds erhältst, während das Inhaltsvolumen wächst.
Für geschäftliche Stakeholder ist die Rendite in der Regel operationell und nicht auffällig. Inhaltsredakteure erhalten einen klareren Veröffentlichungsweg, Entwickler verbringen weniger Zeit mit der Behebung von einmaligen Datenproblemen, und die Seite wird einfacher zu erweitern, ohne jede Schablone umarbeiten zu müssen. Für technische Teams schafft die API auch eine klarere Grenze für Tests: Wenn der Loader und das Schema korrekt sind, wird das Rendern von Seiten vorhersehbarer. Diese Vorhersehbarkeit ist wichtig, wenn Veröffentlichungen häufig sind oder mehrere Personen gleichzeitig Inhalte bearbeiten.
Ein zweiter geschäftlicher Vorteil ist die Governance. Sobald Inhalte durch einen Loader und ein Schema in Astro gelangen, kannst du definieren, was „gültig“ für die Seite bedeutet. Das ist wichtig, wenn verschiedene Personen zur gleichen Sammlung beitragen. Ein Händler benötigt möglicherweise ein kurzes Werbefeld, während ein Entwickler einen kanonischen Slug und ein Veröffentlichungsdatum benötigt. Die API hilft, diese Erwartungen durchzusetzen, bevor Inhalte die Seitenebene erreichen, was den Überprüfungsaufwand verringert und die Übergaben weniger riskant macht.
Wie es funktioniert – erkläre den Mechanismus Schritt für Schritt
Auf einer hohen Ebene beginnt der Prozess mit einer Sammlungsdefinition. Du definierst, welche Art von Inhalt du möchtest, und fügst einen Loader hinzu, der weiß, wie man Einträge abruft oder liest. Der Loader läuft zur Build-Zeit und aktualisiert Astros Datenspeicher mit den Einträgen, die er findet.
1) Definiere die Form der Sammlung
Zuerst beschreibst du die Sammlung im Inhaltsystem von Astro. Hier kommen Schemata ins Spiel. Das Schema sagt Astro, welche Felder zu erwarten sind, und gibt dir eine Möglichkeit, die Daten zu validieren. Wenn ein Feld fehlt oder falsch formatiert ist, kannst du es abfangen, bevor die Seite gerendert wird.
2) Wähle den Loader
Für lokale Inhalte stellt Astro einsatzbereite Loader zur Verfügung. glob() ist nützlich, wenn du viele Dateien in Ordnern hast, wie z.B. Markdown-Beiträge, MDX-Seiten oder JSON-Einträge. file() ist nützlich, wenn die Daten in einer Datei sitzen, die ein Array oder Objekt von Einträgen enthält. Die Wahl des Loaders sollte zur Form der Quelle passen, nicht zur Form der Seite.
3) Laden zur Build-Zeit
Die load()-Methode des Loaders wird während des Builds ausgeführt. Sie ruft die Daten ab oder liest sie und aktualisiert den Speicher. Bei lokalen Dateien ist das unkompliziert. Für entfernte Quellen musst du entweder einen benutzerdefinierten Objekt-Loader erstellen oder einen Community-Loader verwenden, wenn einer für deinen Anwendungsfall geeignet ist. Der Schlüsselpunkt ist, dass die Daten Teil von Astros Inhaltsschicht werden, sodass Seiten sie konsistent abfragen können.
4) Rendern und Abfragen von Einträgen
Sobald die Daten im Speicher sind, können Seiten und Komponenten die Sammlung abfragen und Einträge rendern. Wenn der Loader den Körper beibehält, kann der rohe Inhalt im Speicher verfügbar sein; wenn nicht, bleibt die Sammlung leichter. Für Markdown kann Astro später gerendertes HTML bereitstellen. Bei MDX kann die Sammlung viel kleiner sein, wenn die Körperbeibehaltung deaktiviert ist.
5) Feinjustierung für Skalierung
Hier kommen die fortgeschritteneren Optionen ins Spiel. retainBody: false reduziert die gespeicherte Größe, was nützlich ist, wenn große Sammlungen an ihre Grenzen stoßen. deferRender: true verzögert das Rendern von Markdown, bis der Eintrag tatsächlich verwendet wird, was helfen kann, wenn das Eager Rendering zu viel Speicher verbrauchen würde. Diese sind keine abstrakten Einstellungen; sie sind praktische Steuerungen, um Builds vorhersehbar zu halten.
Ein nützliches mentales Modell ist: Quelle, Schema, Loader, Speicher, Rendern. Wenn einer dieser Schritte vage ist, wird die gesamte Pipeline schwieriger zu debuggen. Die Quelle sollte explizit sein, das Schema sollte die tatsächliche Nutzung widerspiegeln, und der Loader sollte für die Form der Quelle ausgewählt werden. Diese Reihenfolge erleichtert es, über Fehler nachzudenken, weil du sagen kannst, ob das Problem in den Daten, der Lade-Logik oder der Rendering-Ebene liegt.
In der Praxis geht es weniger darum, „Inhalt abzurufen“, sondern vielmehr darum, „Inhalt zu normalisieren“. Der Loader nimmt jede Form an, die die Quelle hat, und verwandelt sie in eine Sammlung, der Astro vertrauen kann. Dieser Normalisierungsschritt ist es, was die API für Teams wertvoll macht, die vorhersehbare Routen, wiederverwendbare Komponenten und weniger Überraschungen während des Deployments wünschen.
Wenn du einen breiteren Überblick darüber haben möchtest, wie die Inhaltsstruktur in Astro passt, ist der Leitfaden zur Inselarchitektur nützlicher Kontext, weil er erklärt, wie Astro das Rendern effizient hält, während der Inhalt organisiert bleibt.
Anwendungsfälle – wo Teams dies tatsächlich anwenden
Der häufigste Anwendungsfall ist eine Blog- oder redaktionelle Seite. Ein Team hält Beiträge in Markdown oder MDX, Autoren in JSON und möglicherweise Kategorien oder redaktionelle Metadaten in einer anderen Quelle. Die Content Layer API ermöglicht es, dass all dies in Sammlungen lebt, sodass die Seite Beiträge nach Slug, Autor oder Status abfragen kann, ohne dass benutzerdefinierte Parsing-Logik in jeder Route erforderlich ist.
Ein zweiter Anwendungsfall sind Dokumentations- oder Wissensdatenbankinhalte. Dokumentationen haben oft viele kleine Dateien, verschachtelte Ordner und Metadaten, die validiert werden müssen. glob() passt hier natürlich, da es Dateien aus Verzeichnissen laden und die Struktur beibehalten kann. Wenn der Inhalt groß ist, werden Optionen wie deferRender relevanter, da Dokumentationssammlungen schwer sein können, selbst wenn die einzelnen Seiten einfach sind.
Ein dritter Anwendungsfall sind produktnahe Inhalte auf einer Marketingseite. Denke an Startseiten, Funktionsbeschreibungen, Fallstudien oder Partnerprofile. Dies sind nicht immer traditionelle Blogbeiträge, aber sie profitieren dennoch von strukturierten Feldern wie Titel, Zusammenfassung, Hauptbild und Callout-Daten. Die Content Layer API ermöglicht es einem Team, diese Felder einmal zu modellieren und sie über Vorlagen hinweg wiederzuverwenden.
Es gibt auch einen praktischen Migrationsanwendungsfall. Ein Team könnte mit lokalen Dateien beginnen, weil sie einfach versionierbar sind, und später entfernte Inhalte hinzufügen, wenn die redaktionellen Anforderungen wachsen. Da die API loader-basiert ist, kann sich die Quelle ändern, ohne dass die gesamte Seite ihre Rendering-Muster ändern muss. Das ist ein nützlicher Weg für Teams, die ihre Architektur anfangs einfach und später flexibel halten wollen.
Im täglichen Arbeiten korrelieren diese Anwendungsfälle oft mit verschiedenen Eigentumsmodellen. Entwickler könnten den Loader und das Schema besitzen, während Redakteure oder Händler den Inhalt selbst besitzen. Diese Trennung ist wertvoll, weil sie jeder Gruppe ermöglicht, in dem Tool zu arbeiten, das am besten zu ihnen passt. Die API wird zum Vertrag zwischen diesen Gruppen, was die Unklarheit verringert, wenn eine Seite schnell aktualisiert werden muss.
Eine nützliche Entscheidungsregel ist, die Content Layer API immer dann zu verwenden, wenn derselbe Inhalt an mehr als einem Ort wiederverwendet werden muss. Wenn ein Feld nur in eine Seite hart codiert ist, ist der Aufwand möglicherweise nicht gerechtfertigt. Wenn der Inhalt jedoch in Listen, Detailseiten, Metadaten und wiederverwendbaren Komponenten erscheinen muss, zahlt sich der loader-basierte Ansatz schnell aus, weil er das Datenmodell zentralisiert.
Wie man es implementiert oder anwendet – praktische Anleitung
Beginne damit, zu entscheiden, was deine Inhaltsquelle wirklich ist. Wenn der Inhalt bereits in deinem Repository lebt, verwende zuerst die lokalen Loader. glob() funktioniert gut für viele Dateien über Ordner, während file() besser für eine strukturierte Datei geeignet ist. Beginne nicht mit einem benutzerdefinierten Remote-Loader, es sei denn, du benötigst einen; der einfachste Loader, der zur Quelle passt, ist normalerweise der beste.
Definiere als Nächstes das Schema, wie der Inhalt tatsächlich verwendet wird. Wenn eine Seite einen Titel, eine Zusammenfassung, ein Datum und einen Körper benötigt, validiere diese Felder explizit. Wenn eine Sammlung optionale Felder enthält, kennzeichne sie nur dann als optional, wenn die Seite fehlende Werte sauber verarbeiten kann. Das Ziel ist nicht, das Schema kompliziert zu machen; es ist, es ehrlich zu halten.
Denke dann an die Build-Größe und die Rendering-Kosten. Wenn du eine große Markdown-Sammlung hast und der Build schwerfällig wird, teste deferRender. Wenn der gespeicherte Körper nicht benötigt wird, teste retainBody: false. Diese Einstellungen sind keine universellen Standards; sie sind Entscheidungen, die du basierend auf der Sammlunggröße, dem Speicherverbrauch und der Häufigkeit, mit der der rohe Körper tatsächlich benötigt wird, triffst.
Ein praktischer Rollout funktioniert normalerweise am besten in Phasen. Zuerst migriere eine Sammlung und bestätige, dass das Schema mit realen Inhalten übereinstimmt. Zweitens, überprüfe, wie sich die Sammlung im Build-Ausgang verhält und ob das gerenderte HTML in einer Weise zwischengespeichert wird, die deinen Anforderungen entspricht. Drittens, füge entfernte Inhalte nur hinzu, nachdem der lokale Pfad stabil ist. Diese Reihenfolge hält die Debugging-Fläche klein und erleichtert es, zu erkennen, ob ein Problem von der Quelle, dem Loader oder der Seitenschablone stammt.
Wenn du die API in einem echten Projekt implementierst, hilft es, vor dem Codieren drei Entscheidungen festzuhalten: Was die Quelle ist, wer die Quelle besitzt und wie oft sie sich ändert. Ein Blog, der täglich aktualisiert wird, ein Produktfeed, der stündlich aktualisiert wird, und ein Evergreen-Dokumentationsset verdienen alle unterschiedliche Loader- und Validierungsentscheidungen. Die API unterstützt sie alle, aber die Implementierung sollte die Aktualisierungsfrequenz und das Risikoniveau des Inhalts widerspiegeln.
Ein einfacher Entscheidungsweg
- Verwende
glob()für viele Dateien in einem Ordnerbaum. - Verwende
file()für eine Datei, die viele Einträge enthält. - Verwende einen benutzerdefinierten Loader für entfernte Systeme oder ungewöhnliche Datenquellen.
- Füge Schema-Validierung hinzu, wann immer Inhalte von mehr als einer Person bearbeitet werden.
- Justiere
retainBodyunddeferRender, wenn die Sammlunggröße beginnt, wichtig zu werden.
Wenn deine Seite auch von strukturiertem Inhaltsmodell abhängt, ist der Leitfaden zu Inhaltskollektionen ein guter Begleiter, weil er dir hilft, die Loaderwahl mit dem Inhaltsmodell zu verbinden.
Häufige Fehler und Fallstricke
Der häufigste Fehler besteht darin, die Content Layer API wie einen generischen Fetch-Wrap zu behandeln. Sie ist spezifischer als das. Sie ist Teil von Astros Inhaltssystem, sodass die Wahl des Loaders, das Schema-Design und das Verhalten zur Build-Zeit zusammen wichtig sind. Wenn du das Schema überspringst und dich auf lose Daten verlässt, verlierst du den Großteil der Sicherheit, die die API bieten soll.
Ein weiterer Fehler ist, den falschen Loader für die Quellform zu wählen. Teams verwenden manchmal glob(), wenn der Inhalt wirklich eine strukturierte Datei ist oder file(), wenn der Inhalt über viele Dateien verteilt ist. Das kann die Einrichtung schwerer zu warten machen, als es nötig ist. Der Loader sollte zur Art und Weise passen, wie die Daten gespeichert sind, nicht dazu, wie du möchtest, dass sie gespeichert werden.
Ein dritter Fallstrick besteht darin, die Build-Kosten zu ignorieren, bis die Sammlung groß ist. Markdown-Sammlungen können speicherintensiv werden, wenn alles eifrig gerendert und im Datenspeicher gespeichert wird. Genau hier werden deferRender und retainBody relevant. Wenn du wartest, bis der Build instabil ist, ist die Behebung zwar immer noch möglich, aber das Debuggen ist schmerzhafter.
Entfernte Inhalte fügen eine weitere Risikostufe hinzu. Da Astro keinen integrierten Loader für jede entfernte Quelle bereitstellt, benötigen benutzerdefinierte Loader sorgfältige Validierung und Fehlerbehandlung. Eine unzuverlässige entfernte Quelle kann zu einem unzuverlässigen Build führen, wenn der Loader nicht mit Wiederholungen, Fallbacks oder klarem Fehlverhalten entworfen ist. In der Praxis sollte das Entfernen von Inhalten als Teil deiner Strategie zur Build-Zuverlässigkeit behandelt werden, nicht nur als Datenintegrationsaufgabe.
Ein subtilerer Fehler ist, eine Sammlung mit zu vielen Verantwortlichkeiten zu überladen. Wenn eine Sammlung redaktionelle Inhalte, Produktmetadaten und betriebliche Flags mischt, wird das Schema schwerer zu verstehen und die Vorlagen werden fragiler. Es ist in der Regel besser, Inhalte nach Zweck zu trennen und jede Sammlung auf eine Aufgabe zu konzentrieren. Das macht die Validierung klarer und verringert die Wahrscheinlichkeit, dass eine Änderung in einem Bereich einen anderen Bereich unerwartet beeinflusst.
Ein weiteres häufiges Problem ist die Annahme, dass ein erfolgreicher Build bedeutet, dass das Inhaltsmodell gesund ist. Ein Build kann bestehen, selbst wenn das Schema zu nachsichtig ist, was bedeutet, dass schlechte Daten weiterhin durchrutschen und unangenehme Seitenzustände erzeugen können. Das Straffen des Schemas ist oft die bessere langfristige Lösung, weil es das Problem verhindert, anstatt es in der Vorlagenebene zu verstecken.
Beste Praktiken und schnelle Checkliste
Das stärkste Muster besteht darin, das Inhaltsmodell klein, explizit und stabil zu halten. Definiere die Felder, die du tatsächlich verwendest, validiere sie und vermeide es, zusätzliche Struktur hinzuzufügen, nur weil der Loader es unterstützen kann. Einfachere Schemata sind leichter zu warten und machen Inhaltsänderungen weniger fehleranfällig.
Bevorzuge lokale Loader, wenn der Inhalt bereits in deinem Repository lebt. Sie sind einfacher zu durchdenken, einfacher zu versionieren und einfacher zu debuggen. Wechsle zu entfernten Loaders nur, wenn der betriebliche Nutzen klar ist. Wenn das Team den Inhalt sicher in Dateien verwalten kann, ist das oft die risikoärmste Option.
Teste bei größeren Sammlungen frühzeitig die Leistungseinstellungen. Eine Seite mit Dutzenden von Einträgen benötigt möglicherweise keine speziellen Anpassungen, aber eine Seite mit Hunderten oder Tausenden von langen Markdown-Einträgen könnte es nötig haben. Der Punkt von retainBody und deferRender ist nicht die Optimierung um der Optimierung willen; es geht darum, den Build stabil zu halten, während die Inhaltsbibliothek wächst.
Wenn du unsicher bist, optimiere zuerst für Klarheit und dann für Leistung. Ein Loader, der leicht zu verstehen ist, lässt sich leichter warten als einer, der clever, aber undurchsichtig ist. Sobald der Inhaltsweg stabil ist, kannst du den Speicherverbrauch, das Rendering-Timing und die Datenaufbewahrung mit Zuversicht abstimmen, weil du weißt, was jede Einstellung schützt.
Ein schneller Weg, um eine Einrichtung zu überprüfen, ist, vier Fragen zu stellen: Ist die Quelle offensichtlich? Ist das Schema streng genug? Ist der Loader der einfachste, der passt? Wird der Build weiterhin stabil sein, wenn sich die Sammlung verdoppelt? Wenn du diese Fragen mit Ja beantworten kannst, ist die Implementierung in der Regel auf solidem Grund.
Verwandte Begriffe und weiterführende Literatur
- Astro Themes
- Folderfolio
- Launchfolio
- Astro Themes
Thema vertiefen
Weitere Astro-Guides, Glossar-Einträge und Workflows findest du im Themen-Hub.
Häufige Fragen
Wofür wird die Astro Content Layer API verwendet?
Die Astro Content Layer API wird verwendet, um strukturierten Inhalt aus lokalen Dateien oder entfernten Quellen in Astro zu laden. Sie hilft, Inhalte in Sammlungen zu organisieren, mit Schemata zu validieren und konsistent in Seiten und Komponenten abzurufen.
Wie unterscheidet sich die Content Layer API von Inhaltskollektionen?
Inhaltskollektionen sind die Struktur, die du für Inhalte definierst, während die Content Layer API der Mechanismus ist, der Daten in diese Struktur lädt. In der Praxis beschreibt die Sammlung, wie der Inhalt aussehen soll, und die Loader entscheiden, woher der Inhalt kommt.
Wann sollte ich glob() im Vergleich zu file() verwenden?
Verwende glob(), wenn Inhalte in vielen Dateien in einem Verzeichnis gespeichert sind, wie z.B. Markdown-Beiträge. Verwende file(), wenn die Daten in einer einzelnen Datei gespeichert sind, die bereits eine Liste oder ein Objekt enthält.
Kann die Content Layer API entfernten Inhalt laden?
Ja, die Content Layer API kann Daten aus entfernten Quellen laden, benötigt jedoch in der Regel einen benutzerdefinierten Loader. Es ist wichtig, sorgfältig über Validierung und Datenfrische nachzudenken.
Beeinflusst retainBody Markdown und MDX gleich?
Nein, wenn retainBody deaktiviert ist, wird der Speicher für Markdown reduziert, aber das gerenderte HTML bleibt verfügbar. Bei MDX wird der rohe Körper nicht im Speicher behalten, was die Sammlung erheblich verkleinern kann.
Wofür ist deferRender gedacht?
deferRender verzögert das Rendern von Markdown, bis der Eintrag tatsächlich auf einer Seite benötigt wird. Dies hilft, den Speicherverbrauch während des Builds zu reduzieren.