Mit Inhalten arbeiten

Auf dieser Seite

Verwenden Sie den EmDash-Admin, um einen Eintrag vom ersten Entwurf bis zur veröffentlichten Seite zu führen. Der Editor hält Entwurfsänderungen getrennt von der Version, die Besucher sehen können, sodass Speichern und Veröffentlichen zwei getrennte Aktionen sind.

Eine Collection öffnen

Öffnen Sie /_emdash/admin auf Ihrer Website und melden Sie sich an. Wählen Sie in der Seitenleiste eine Collection aus, etwa Posts oder Pages.

Die Collection-Seite listet ihre Einträge auf. Von hier aus können Sie:

  • Add New wählen, um einen Eintrag zu erstellen;
  • nach Eintragstitel, Slug und als durchsuchbar markierten Feldern suchen;
  • nach Veröffentlichungsstatus, Autor, Byline, Datum und Locale filtern;
  • Einträge für das gesammelte Veröffentlichen, das Zurücksetzen auf Entwurf oder das Verschieben in den Papierkorb auswählen; und
  • Trash öffnen, um einen Eintrag wiederherzustellen oder endgültig zu löschen.

Die im Editor verfügbaren Felder und Veröffentlichungsfunktionen hängen vom Inhaltsmodell der Collection ab. Eine Collection kann zum Beispiel Revisionen, Vorschauen, Taxonomien oder die Suche unterstützen.

Einen Eintrag erstellen und veröffentlichen

  1. Wählen Sie auf der Collection-Seite Add New.

  2. Füllen Sie die Pflichtfelder aus. Hat die Collection ein Titelfeld, schlägt EmDash daraus einen Slug vor. Sie können den Slug vor dem Veröffentlichen bearbeiten.

  3. Fügen Sie den Haupttext und unterstützende Felder hinzu, etwa einen Auszug, ein Beitragsbild, eine Byline, Kategorien oder Tags.

  4. Wählen Sie Save. Das erste Speichern legt den Eintrag als Entwurf an und öffnet dessen dauerhafte Editor-URL.

  5. Prüfen Sie den Entwurf. Unterstützt die Collection Vorschauen, wählen Sie Preview, um die gerenderte Seite vor dem Veröffentlichen zu sehen.

  6. Wählen Sie Publish now und bestätigen Sie. Der gespeicherte Entwurf wird die Live-Version, die öffentliche Inhaltsabfragen zurückgeben.

Der Eintrag hat eine stabile Inhalts-ID und einen separaten Slug. Die ID identifiziert weiterhin denselben Eintrag, wenn sich sein Slug ändert. Templates verwenden normalerweise den URL-seitigen Bezeichner, den getEmDashCollection() zurückgibt; der Leitfaden zum Abfragen von Inhalten erklärt beide Werte.

Rich Text schreiben

Portable-Text-Felder bieten einen Block-Editor für Überschriften, Absätze, Zitate, Listen, Links, Bilder, Galerien, Codeblöcke, Tabellen, HTML-Blöcke und wiederverwendbare Abschnitte. Installierte Plugins können weitere Blöcke hinzufügen.

Verwenden Sie die Werkzeugleiste, um den ausgewählten Text zu formatieren. Um einen Block einzufügen, wählen Sie das Steuerelement zum Hinzufügen von Blöcken neben einem Absatz oder tippen Sie / und suchen Sie einen Block nach Namen. Bild- und Galerieblöcke öffnen dieselbe Medienauswahl, die auch Bildfelder verwenden.

Sie können Bilddateien auch in den Editor ziehen oder ein kopiertes Bild oder einen Screenshot einfügen. Jedes Bild wird in die Mediathek hochgeladen und erscheint nach Abschluss des Uploads zwischen den umgebenden Blöcken. Schlägt ein Upload fehl, erscheint der Grund dort, wo das Bild gestanden hätte.

Wenn Sie einen Bildblock auswählen, erscheint darüber eine Werkzeugleiste. Damit können Sie das Bild ersetzen, seinen Alt- Text bearbeiten, es ausrichten, einen Link hinzufügen oder den Block löschen. Die Schaltfläche Alt text wird hervorgehoben, sobald das Bild eine Beschreibung hat, und beim Darüberfahren wird die Beschreibung angezeigt. Alt-Text, der nur dem Dateinamen eines Mediathek- Bildes entspricht, zählt nicht. Geben Sie eine Bildunterschrift in das Feld unter dem Bild ein und drücken Sie die Eingabetaste, um darunter weiterzuschreiben. Von einem ausgewählten Bild aus springt die Tabulatortaste zur Bildunterschrift und dann zur Werkzeugleiste.

Image settings in der Werkzeugleiste öffnet alle Einstellungen für diese Verwendung des Bildes, einschließlich der Anzeigegröße und eines optionalen Tooltips. Edit asset öffnet dort das zugrunde liegende Mediathek-Element, bei dem das Ändern oder Ersetzen des Assets andere Einträge betreffen kann, die es verwenden. Siehe Mediathek für diesen Unterschied.

HTML, CSS und JavaScript hinzufügen

Ein HTML-Block enthält Code, den die anderen Blöcke nicht ausdrücken können, etwa eine Einbettung, ein Registrierungsformular oder ein kleines Widget. Seine Tabs heißen HTML, CSS, JS und Preview. Jeder Code-Tab ist ein Code-Editor, in dem die Tab-Taste einrückt; drücken Sie Escape, um zum umgebenden Text zurückzukehren. Die Tabs CSS und JS sind optional: Sie können auch ein ganzes Snippet samt seinen <style>- und <script>-Elementen in den Tab HTML einfügen.

Preview zeigt den Block so, wie Ihre Website ihn rendert. Wenn Sie einen Eintrag öffnen, wartet ein Block, der JavaScript ausführt, bis Sie Run preview wählen, damit ein fehlerhaftes Skript den Editor nicht einfrieren lassen kann.

Das Menü des Blocks legt fest, wie Ihre Website ihn rendert:

  • Isolated frame führt das HTML, CSS und JavaScript des Blocks in einem iframe mit Sandbox aus, der mit seinem Inhalt wächst. Der Frame kann weder die Cookies, den Speicher noch die Seiten Ihrer Website lesen, und die Styles Ihrer Website erreichen ihn nicht. Relative Links werden vom Stammverzeichnis Ihrer Website aus aufgelöst. Nachdem ein Besucher in den Frame geklickt hat, kann dieser andere Seiten im Tab des Besuchers oder in einem neuen Tab öffnen. Neue HTML-Blöcke verwenden diesen Modus, aus einer anderen Website oder einem anderen Browser-Tab eingefügte Blöcke dagegen nicht. Richten Sie die Größe von Inhalten nicht am Viewport des Frames aus, etwa mit height: 100vh: Der Frame wächst, um den Inhalt aufzunehmen, wodurch der Inhalt wieder höher wird, bis der Frame 20.000 Pixel erreicht.
  • Inline fügt das HTML in die Seite ein, wo es die Styles Ihrer Website verwendet. Ihre Website behält Textformatierung, Links, Listen, Tabellen, Bilder und iframes bei und entfernt anderes Markup, etwa Skripte, <style>-Elemente, style-Attribute, Medien und Formularelemente. iframes von anderen Websites als YouTube und Vimeo werden geleert. Ein Inline-Block hat keinen Tab CSS oder JS.

Suchmaschinen behandeln Text in einem isolierten Frame möglicherweise nicht als Teil der Seite. Setzen Sie für die Suche wichtigen Text in Absätze oder in einen Inline-Block.

Eine Seite einer anderen Website einbetten

Ein iframe-Block zeigt eine Seite einer anderen Website, etwa ein Video, eine Karte oder ein Formular. Tippen Sie /iframe und fügen Sie dann den Einbettungscode oder einen Link der Website in den Tab Code ein. YouTube- und Vimeo-Links werden zu ihren Playern, und jeder andere https-Link wird unverändert eingebettet. Preview zeigt die eingebettete Seite. Wenn Sie einen Eintrag öffnen, wartet ein gespeicherter Block, bis Sie Load preview wählen, sodass der Admin die Seiten anderer Websites erst lädt, wenn Sie es verlangen. Iframe-Blöcke, die aus einer anderen Website oder einem anderen Browser-Tab eingefügt werden, kommen leer an.

Es können nur https-Seiten eingebettet werden, und der Block behält nur die Teile eines Einbettungscodes, die er braucht: die Adresse, den Titel, die Größe, die Vollbildunterstützung und die Berechtigungen, die Player verwenden. Manche Websites weigern sich, innerhalb der Seite einer anderen Website zu erscheinen; ihre Vorschau bleibt dann leer oder zeigt einen Fehler dieser Website.

Ein Einbettungscode, der ein Skript statt eines iframes ausführt, etwa manche Social-Media-Beiträge, gehört in einen HTML-Block.

Entwurfsänderungen speichern

Nach dem ersten Speichern speichert der Editor Änderungen automatisch zwei Sekunden, nachdem Sie aufgehört haben zu tippen. Die Schaltfläche Save wechselt über Saving… zu Saved, damit Sie bestätigen können, dass der Server den Entwurf akzeptiert hat. Das automatische Speichern ersetzt die aktuelle Autosave-Revision, statt den Revisionsverlauf mit einem Kontrollpunkt für jede Pause zu füllen.

Wählen Sie Save, wenn ein Punkt der Bearbeitungsfolge im Revisionsverlauf erhalten bleiben soll. Schlägt ein Speichern fehl, behält der Editor die ungespeicherten Felder bei und zeigt den Fehler an. Verlassen Sie die Seite nicht, bis die Schaltfläche zu Saved zurückkehrt oder Sie die ungespeicherte Arbeit anderweitig kopiert haben.

Bei einem veröffentlichten Eintrag aktualisiert das Speichern nur den Entwurf. Besucher erhalten weiterhin die vorherige Live-Revision. Verwenden Sie Preview draft, um die ausstehende Version zu prüfen, Live View, um die öffentliche Version zu prüfen, und Publish changes, wenn der Entwurf bereit ist, sie zu ersetzen.

Das Ändern des Slugs eines veröffentlichten Eintrags folgt demselben Entwurfsablauf. Die öffentliche URL ändert sich, wenn Sie den Entwurf veröffentlichen, nicht wenn das automatische Speichern läuft.

Mit einem anderen Redakteur arbeiten

Das Öffnen eines Eintrags setzt eine Bearbeitungssperre für diesen Eintrag und diese Locale. Hat eine andere Person ihn bereits geöffnet, benennt EmDash den Inhaber der Sperre und bietet zwei Möglichkeiten:

  • Open read-only zeigt den Eintrag ohne Bearbeitung an, sodass Sie keine Arbeit eintippen, die verworfen würde.
  • Take over übergibt Ihnen die Sperre. Die andere Person behält, was sie getippt hat, aber innerhalb von zwei Minuten meldet ihr Editor, dass Sie den Eintrag halten. Ihr nächstes Speichern wird abgelehnt.

Die Sperre wird erneuert, solange der Eintrag geöffnet ist, und freigegeben, wenn Sie den Editor verlassen oder den Tab schließen. Schließt sich der Browser oder der Computer, ohne sie freizugeben, läuft die Sperre sieben Minuten nach ihrer letzten Erneuerung ab.

Sperren sind für jede Locale unabhängig, sodass zwei Personen verschiedene Übersetzungen desselben Eintrags bearbeiten können. Ein Skript, API-Client oder MCP-Client wird ebenfalls abgelehnt, solange ein anderer Redakteur die Sperre hält, es sei denn, er verwendet die dokumentierte Überschreibung. Siehe Eintrags-Bearbeitungssperre für das vollständige API-Verhalten und Inhaltslebenszyklus und Bylines für die MCP- Tools.

Ein Administrator kann die Sperre für eine Collection unter Content Types, dann der Collection, dann Edit locking ausschalten.

Änderungen veröffentlichen oder planen

Veröffentlichen und Planen verwenden getrennte Steuerelemente:

  • Publish now schaltet einen neuen Entwurf nach Bestätigung live.
  • Publish changes schaltet ausstehende Änderungen an einem veröffentlichten Eintrag nach Bestätigung live.
  • Schedule legt fest, wann ein neuer Eintrag oder ausstehende Änderungen live gehen.
  • Change schedule aktualisiert einen bestehenden Zeitplan.
  • Remove schedule bricht einen bestehenden Zeitplan ab.
  • Unpublish entfernt die Live-Revision aus öffentlichen Abfragen, bricht jeden Zeitplan ab und behält einen bearbeitbaren Entwurf.

Um einen Eintrag zu planen, speichern Sie ihn zuerst, wählen Sie Schedule unter der Veröffentlichungsübersicht und wählen Sie ein zukünftiges Datum und eine Uhrzeit. Der Editor zeigt die für den Zeitplan verwendete Zeitzone an. Bis zu diesem Zeitpunkt bleibt die aktuelle Live-Revision öffentlich; bei einem neuen Eintrag ist noch nichts öffentlich.

Node.js-Bereitstellungen führen den Durchlauf für die geplante Veröffentlichung automatisch aus. Cloudflare Workers benötigen einen Cron-Trigger. Die Cloudflare-Starter-Templates enthalten ihn; bestehende Bereitstellungen können Geplantes Veröffentlichen folgen, um den Trigger zu prüfen.

Den Veröffentlichungskalender prüfen

Der Kalender zeigt, was veröffentlicht wurde und was in Ihren Collections geplant ist. Contributors und höhere Rollen können Calendar über die Seitenleiste oder die Befehlspalette öffnen. Ist etwas geplant, verlinkt auch die Anzeige Scheduled des Dashboards darauf.

Der Kalender hat zwei Ansichten:

  • Month zeigt ein Raster von Tagen. Veröffentlichte Einträge erscheinen als einfache Zeilen und geplante Einträge als Karten. Fahren Sie mit der Maus über einen Eintrag oder fokussieren Sie ihn, um seinen vollständigen Titel, Status, Zeit und seine Collection zu sehen. Hat ein Tag mehr Einträge, als hineinpassen, wählen Sie +N more, um sie alle aufzulisten.
  • Agenda listet den Monat nach Tagen auf, mit der Zeit jedes Eintrags. Im aktuellen Monat sind Tage vor heute eingeklappt, es sei denn, einer davon hat einen überfälligen Eintrag, und eine rote Linie markiert die Gegenwart.

Auf einem Smartphone oder einem anderen schmalen Bildschirm öffnet sich der Kalender in Agenda, und Month zeigt eine Datumsauswahl mit Punkten an den Tagen, die Einträge haben. Wählen Sie einen Tag, um seine Einträge aufzulisten.

Wählen Sie einen Eintrag, um seine Details in einer Seitenleiste zu öffnen, oder klicken Sie mit Strg (Cmd unter macOS), um ihn in einem neuen Tab im Editor zu öffnen. Das Panel zeigt Status, Zeit, Collection, Locale und Übersetzungen, Bylines des Eintrags und wann er zuletzt bearbeitet wurde. Vom Panel aus können Sie den Eintrag im Editor öffnen, geplante Änderungen in der Vorschau ansehen oder einen veröffentlichten Eintrag auf der Website anzeigen. Wenn Sie den Eintrag veröffentlichen dürfen (Authors für ihre eigenen Einträge sowie Editors und höhere Rollen für jeden Eintrag), können Sie ihn auch neu planen, seinen Zeitplan entfernen oder einen überfälligen Eintrag sofort veröffentlichen. Auf einem Smartphone öffnet sich das Panel als Sheet am unteren Bildschirmrand.

Mit Filter schränken Sie beide Ansichten nach Collection und Status ein, auf mehrsprachigen Websites außerdem nach Locale. Die Filter, die Ansicht, der Monat und der geöffnete Eintrag werden in der Seiten-URL gespeichert, sodass Sie sie als Lesezeichen speichern oder teilen können.

Einträge werden in der Zeitzone der Website auf Tage verteilt, die der Kalender neben dem Monat nennt. Verwendet Ihr Browser eine andere Zeitzone, weist der Kalender darauf hin, und Eintragszeiten erscheinen auch in Ihrer eigenen Zeitzone.

Der Kalender zeigt:

  • veröffentlichte Einträge an dem Datum, an dem sie veröffentlicht wurden;
  • geplante Einträge an ihrem geplanten Datum; und
  • geplante Änderungen an einem veröffentlichten Eintrag an ihrem geplanten Datum, markiert mit Update. Sobald die Änderungen live gehen, erscheint der Eintrag nur noch an seinem ursprünglichen Veröffentlichungsdatum.

Ein Zeitplan, dessen Zeitpunkt mehr als zwei Minuten überschritten ist, wird mit Overdue markiert. Das bedeutet meist, dass der Durchlauf für die geplante Veröffentlichung nicht läuft; siehe Änderungen veröffentlichen oder planen.

Der Kalender lässt Entwürfe ohne Zeitplan, Einträge im Papierkorb und in der Seitenleiste ausgeblendete Collections aus. Die Anzeige Scheduled des Dashboards umfasst jeden Monat und schließt ausgeblendete Collections ein, daher kann sie höher sein als das, was der Kalender für einen Monat zeigt.

Der Kalender lädt höchstens 1.000 Einträge für einen Monat, einschließlich der Tage aus benachbarten Monaten, die das Raster anzeigt. Sind es mehr, gibt er an, an welchem Tag die geladenen Einträge enden, und markiert die späteren Tage als nicht geladen.

Eine Revision wiederherstellen

Collections mit Revisionsunterstützung zeigen Revisions im Einstellungsbereich. Klappen Sie ihn auf, um gespeicherte Versionen und die Felder zu sehen, die sich zwischen ihnen geändert haben. Wählen Sie eine Revision, um ihren Inhalt zu prüfen, und wählen Sie dann Restore, wenn Sie diese Version erneut verwenden möchten.

Das Wiederherstellen erzeugt eine neue Revision mit dem ausgewählten Inhalt. Es löscht nicht die Revisionen, die davor kamen, sodass Sie die vollständige Abfolge anschließend weiterhin prüfen können.

Einen Eintrag übersetzen

Wenn Internationalisierung aktiviert ist, zeigt das Panel Translations die konfigurierten Locales für den aktuellen Eintrag.

  1. Öffnen Sie den Quelleintrag und suchen Sie Translations im Einstellungsbereich.

  2. Wählen Sie Translate für eine Locale, die noch keinen Eintrag hat.

  3. Bearbeiten Sie den kopierten Titel, den Slug, den Haupttext und andere übersetzbare Felder.

  4. Wählen Sie Save und veröffentlichen oder planen Sie dann die Übersetzung, wenn sie bereit ist.

Jede Übersetzung hat ihren eigenen Slug, Veröffentlichungsstatus, Zeitplan und Revisionsverlauf. Verwenden Sie die Locale- Auswahl auf der Collection-Seite, um jeweils eine Sprache anzuzeigen.

Inhalte in den Papierkorb verschieben

Öffnen Sie die Aktionen eines Eintrags oder wählen Sie auf der Collection-Seite eine oder mehrere Zeilen aus und wählen Sie dann Move to Trash. Einträge im Papierkorb erscheinen nicht mehr in gewöhnlichen Inhaltsabfragen, bleiben aber auf dem Tab Trash der Collection verfügbar.

Wählen Sie in Trash Restore, um einen Eintrag in die Collection zurückzubringen. Ein wiederhergestellter Eintrag kommt als Entwurf ohne Zeitplan zurück. Veröffentlichen Sie ihn, um ihn öffentlich zu machen.

Inhaltsarbeit automatisieren

Die REST-API und die EmDash-CLI unterstützen denselben Entwurfs- und Veröffentlichungsworkflow. Collection-Felder gehören in das data-Objekt der Anfrage. Ein Update speichert eine Entwurfsrevision; das Veröffentlichen ist eine separate Aktion. Übergeben Sie beim Aktualisieren oder Veröffentlichen den neuesten _rev-Wert, damit der Server einen veralteten Schreibvorgang ablehnt, statt neuere Arbeit zu ersetzen.

Verwenden Sie die Referenz zum Inhaltslebenszyklus für Statusübergänge, Berechtigungen, Konflikte und Hooks. Die REST-API-Referenz definiert Anfrage- und Antwortkörper, und die CLI-Referenz behandelt entsprechende Terminal- Befehle.

Fahren Sie mit Inhalte abfragen fort, um veröffentlichte Einträge auf einer Astro- Website zu rendern, oder mit der Mediathek, um wiederverwendbare Dateien hinzuzufügen und zu verwalten.