Questa guida copre come creare, modificare e gestire i contenuti utilizzando la dashboard admin di EmDash.
Accedere all’Admin
Apri il browser su /_emdash/admin sul tuo sito. Accedi con le credenziali create durante la configurazione.
La dashboard mostra:
- Barra laterale - Navigazione a collection, media e impostazioni
- Elenco contenuti - Voci nella collection selezionata
- Azioni rapide - Crea nuovi contenuti, operazioni bulk
Creare contenuti
-
Clicca su un nome di collection nella barra laterale (es. Posts)
-
Clicca su New Post (o l’equivalente per la tua collection)
-
Compila i campi obbligatori:
- Title - Nome visualizzato del contenuto
- Slug - Identificatore URL (generato automaticamente dal titolo, modificabile)
-
Aggiungi contenuto usando l’editor rich text
-
Imposta i metadati nella barra laterale:
- Status - Draft, Published o Archived
- Publication date - Quando pubblicare
- Categories and tags - Assegnazioni tassonomia
-
Clicca su Save
Stati del contenuto
Ogni voce ha uno di tre stati:
| Stato | Visibilità | Caso d’uso |
|---|---|---|
| Draft | Solo admin | Lavoro in corso |
| Published | Pubblico | Contenuto live |
| Archived | Solo admin | Contenuto ritirato |
Cambia lo stato usando il menu a discesa nella barra laterale dell’editor.
L’editor rich text
L’editor EmDash supporta:
- Intestazioni - Da H2 a H6
- Formattazione - Grassetto, corsivo, sottolineato, barrato
- Elenchi - Ordinati e non ordinati
- Link - Interni ed esterni
- Immagini - Inserimento dalla libreria media
- Blocchi codice - Con evidenziazione sintassi
- Blocchi HTML - HTML grezzo per embed e widget personalizzati
- Embed - YouTube, Vimeo, Twitter
- Sezioni - Blocchi contenuto riutilizzabili tramite comando
/section
Comandi slash
Digita / per accedere ai comandi di inserimento rapido:
| Comando | Azione |
|---|---|
/section | Inserisci una sezione riutilizzabile |
/image | Inserisci un’immagine dalla libreria media |
/code | Inserisci un blocco codice |
/html | Inserisci un blocco HTML grezzo |
Scorciatoie da tastiera
| Azione | Scorciatoia |
|---|---|
| Grassetto | Ctrl/Cmd + B |
| Corsivo | Ctrl/Cmd + I |
| Link | Ctrl/Cmd + K |
| Annulla | Ctrl/Cmd + Z |
| Ripeti | Ctrl/Cmd + Shift + Z |
| Salva | Ctrl/Cmd + S |
Inserire immagini
-
Clicca il pulsante immagine nella barra degli strumenti
-
Seleziona un’immagine esistente dalla libreria media, o caricane una nuova
-
Aggiungi testo alternativo (obbligatorio per l’accessibilità)
-
Regola opzioni di allineamento e dimensione
-
Clicca su Insert
Blocchi HTML
Usa /html per inserire un blocco HTML grezzo. È utile per incorporare widget di terze parti, markup personalizzato o contenuti che non rientrano nei tipi di blocco standard. I blocchi HTML vengono creati automaticamente anche quando si importano contenuti da WordPress o Contentful che contengono markup che EmDash non può convertire in blocchi Portable Text nativi.
Per consentire iframe da provider aggiuntivi, sovrascrivi il componente htmlBlock nel rendering Portable Text:
---
// src/components/MyHtmlBlock.astro
import sanitizeHtml from "sanitize-html";
const { node } = Astro.props;
if (!node?.html) {
return null;
}
const sanitized = sanitizeHtml(node.html, {
allowedTags: [...sanitizeHtml.defaults.allowedTags, "img", "span", "iframe"],
allowedAttributes: {
...sanitizeHtml.defaults.allowedAttributes,
"*": ["class", "id", "data-*", "style"],
iframe: ["src", "width", "height", "frameborder", "allow", "allowfullscreen"],
img: ["src", "srcset", "alt", "title", "width", "height", "loading"],
},
allowedIframeHostnames: [
"www.youtube.com",
"player.vimeo.com",
"iframe.videodelivery.net", // Cloudflare Stream
// Add your providers here
],
});
---
<div class="html-block" set:html={sanitized} />
Poi passalo a <PortableText>:
---
import { PortableText } from "emdash/ui";
import MyHtmlBlock from "../components/MyHtmlBlock.astro";
---
<PortableText
value={post.data.content}
components={{ type: { htmlBlock: MyHtmlBlock } }}
/>
Modificare contenuti
-
Naviga alla collection che contiene il contenuto
-
Clicca sulla voce che desideri modificare
-
Apporta le modifiche
-
Clicca su Save
Le modifiche ai contenuti pubblicati appaiono immediatamente sul tuo sito.
Cronologia revisioni
EmDash traccia le modifiche ai contenuti. Accedi alla cronologia revisioni dalla barra laterale dell’editor:
-
Clicca su Revisions nella barra laterale dell’editor
-
Visualizza l’elenco delle versioni precedenti con timestamp
-
Clicca su una revisione per visualizzarla in anteprima
-
Clicca su Restore per ripristinare quella versione
Operazioni bulk
Esegui azioni su più voci contemporaneamente:
-
Usa le caselle di controllo per selezionare voci nell’elenco contenuti
-
Clicca sul menu a discesa Bulk Actions
-
Seleziona un’azione:
- Publish - Imposta tutti i selezionati come pubblicati
- Archive - Imposta tutti i selezionati come archiviati
- Delete - Rimuovi permanentemente i selezionati
-
Conferma l’azione
Cercare e filtrare
Ricerca
Usa la casella di ricerca per trovare contenuti per titolo o contenuto. La ricerca non distingue maiuscole/minuscole e corrisponde a parole parziali.
Filtri
Filtra l’elenco contenuti per:
- Status - Draft, Published, Archived
- Date range - Date di creazione o modifica
- Author - Chi ha creato il contenuto
- Taxonomy - Assegnazioni categoria o tag
Clicca su Clear Filters per reimpostare.
Programmare contenuti
Programma la pubblicazione del contenuto a una data futura:
-
Crea o modifica contenuti
-
Imposta lo stato su Draft
-
Imposta la Publication date a una data e ora future
-
Clicca su Save
Quando arriva la data di pubblicazione, il contenuto viene pubblicato automaticamente.
Eliminare contenuti
Elimina contenuti dalla schermata di modifica o dall’elenco contenuti:
Dall’editor
-
Apri il contenuto che desideri eliminare
-
Clicca su Delete nella barra degli strumenti
-
Conferma l’eliminazione
Dall’elenco
-
Seleziona voci usando le caselle di controllo
-
Clicca su Bulk Actions > Delete
-
Conferma l’eliminazione
API contenuti
Per l’accesso programmatico, usa l’API admin EmDash.
Creare contenuti
La seguente richiesta crea una bozza di post:
POST /_emdash/api/content/posts
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
{
"title": "My New Post",
"slug": "my-new-post",
"content": "<p>Post content here</p>",
"status": "draft"
}
Aggiornare contenuti
La seguente richiesta aggiorna un post esistente e lo pubblica:
PUT /_emdash/api/content/posts/my-new-post
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
{
"title": "Updated Title",
"status": "published"
}
Eliminare contenuti
La seguente richiesta elimina permanentemente un post:
DELETE /_emdash/api/content/posts/my-new-post
Authorization: Bearer YOUR_API_TOKEN
Tradurre contenuti
Quando i18n è abilitato, puoi creare traduzioni di qualsiasi voce di contenuto.
Creare una traduzione
-
Apri la voce di contenuto che desideri tradurre
-
Nella barra laterale dell’editor, trova il pannello Translations
-
Clicca su Translate accanto alla locale di destinazione
-
Modifica il contenuto precompilato — regola titolo, slug e corpo per la nuova lingua
-
Clicca su Save
La nuova traduzione è collegata alla voce originale e inizia come bozza. Pubblicala indipendentemente quando la traduzione è pronta.
Passare tra traduzioni
Il pannello Translations mostra tutte le locale configurate. Clicca su Edit accanto a qualsiasi traduzione esistente per navigare direttamente. La locale corrente è contrassegnata con un segno di spunta.
Filtro locale
Nell’elenco contenuti, usa il menu a discesa locale nella barra degli strumenti per filtrare le voci per lingua. Ogni voce mostra la sua locale in una colonna dedicata.
Consulta la guida all’internazionalizzazione per i dettagli completi su configurazione, query e selettore lingua.
Prossimi passi
- Querying Content - Recupera contenuti nei tuoi template
- Media Library - Carica e gestisci file
- Taxonomies - Organizza contenuti con categorie e tag
- Internationalization - Contenuti multilingue e traduzioni