Questa guida copre come creare, modificare e gestire i contenuti usando il pannello 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 verso collection, media e impostazioni
- Lista contenuti - Voci nella collection selezionata
- Azioni rapide - Creare nuovo contenuto, operazioni in blocco
Creare contenuto
-
Clicca sul nome di una collection nella barra laterale (es., Posts)
-
Clicca su New Post (o l’equivalente per la tua collection)
-
Compila i campi obbligatori:
- Title - Il nome visualizzato del contenuto
- Slug - Identificatore URL (generato automaticamente dal titolo, modificabile)
-
Aggiungi contenuto usando l’editor di testo ricco
-
Imposta i metadati nella barra laterale:
- Status - Bozza, Pubblicato o Archiviato
- Data di pubblicazione - Quando pubblicare
- Categorie e tag - Assegnazioni tassonomiche
-
Clicca su Salva
Le bozze sono visibili solo nell’admin. Cambia lo stato in Pubblicato per rendere il contenuto visibile sul tuo sito.
Stati del contenuto
Ogni voce ha uno dei tre stati:
| Stato | Visibilità | Caso d’uso |
|---|---|---|
| Bozza | Solo admin | Lavoro in corso |
| Pubblicato | Pubblico | Contenuto attivo |
| Archiviato | Solo admin | Contenuto ritirato |
Cambia lo stato usando il menu a tendina nella barra laterale dell’editor.
L’editor di testo ricco
L’editor di EmDash supporta:
- Intestazioni - H2 fino a H6
- Formattazione - Grassetto, corsivo, sottolineato, barrato
- Liste - Ordinate e non ordinate
- Link - Interni ed esterni
- Immagini - Inserimento dalla libreria media
- Blocchi di codice - Con evidenziazione della sintassi
- Blocchi HTML - HTML grezzo per incorporamenti e widget personalizzati
- Incorporamenti - YouTube, Vimeo, Twitter
- Sezioni - Blocchi di contenuto riutilizzabili tramite il comando
/section
Comandi slash
Digita / per accedere ai comandi di inserimento rapido:
| Comando | Azione |
|---|---|
/section | Inserire una sezione riutilizzabile |
/image | Inserire un’immagine dalla libreria media |
/code | Inserire un blocco di codice |
/html | Inserire 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 sul 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 le opzioni di allineamento e dimensione
-
Clicca su Inserisci
Blocchi HTML
Usa /html per inserire un blocco HTML grezzo. Questo è utile per incorporare widget di terze parti, markup personalizzato o contenuti che non rientrano nei tipi di blocco standard. I blocchi HTML vengono anche creati automaticamente 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 tuo 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
// Aggiungi i tuoi provider qui
],
});
---
<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 contenuto
-
Naviga alla collection contenente il contenuto
-
Clicca sulla voce che vuoi modificare
-
Effettua le modifiche
-
Clicca su Salva
Le modifiche ai contenuti pubblicati appaiono immediatamente sul tuo sito.
Cronologia delle revisioni
EmDash traccia le modifiche ai contenuti. Accedi alla cronologia delle 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 Ripristina per tornare a quella versione
Il ripristino di una revisione crea una nuova revisione con il contenuto ripristinato. La cronologia delle revisioni originale viene preservata.
Operazioni in blocco
Esegui azioni su più voci contemporaneamente:
-
Usa le caselle di controllo per selezionare le voci nella lista dei contenuti
-
Clicca sul menu a tendina Azioni in blocco
-
Seleziona un’azione:
- Pubblica - Imposta tutti i selezionati come pubblicati
- Archivia - Imposta tutti i selezionati come archiviati
- Elimina - Rimuovi permanentemente i selezionati
-
Conferma l’azione
Ricerca e filtri
Ricerca
Usa la casella di ricerca per trovare contenuti per titolo o contenuto. La ricerca non distingue tra maiuscole e minuscole e corrisponde a parole parziali.
Filtri
Filtra la lista dei contenuti per:
- Stato - Bozza, Pubblicato, Archiviato
- Intervallo di date - Date di creazione o modifica
- Autore - Chi ha creato il contenuto
- Tassonomia - Assegnazioni di categoria o tag
Clicca su Cancella filtri per reimpostare.
Programmare contenuti
Programma contenuti per la pubblicazione in una data futura:
-
Crea o modifica contenuto
-
Imposta lo stato su Bozza
-
Imposta la Data di pubblicazione su una data e ora future
-
Clicca su Salva
Quando arriva la data di pubblicazione, il contenuto viene pubblicato automaticamente.
Eliminare contenuti
Elimina contenuti dalla schermata di modifica o dalla lista dei contenuti:
Dall’editor
-
Apri il contenuto che vuoi eliminare
-
Clicca su Elimina nella barra degli strumenti
-
Conferma l’eliminazione
Dalla lista
-
Seleziona le voci usando le caselle di controllo
-
Clicca su Azioni in blocco > Elimina
-
Conferma l’eliminazione
API dei contenuti
Per l’accesso programmatico, usa l’API di amministrazione EmDash.
Creare contenuto
La seguente richiesta crea un post in bozza:
POST /_emdash/api/content/posts
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
{
"title": "Il mio nuovo post",
"slug": "il-mio-nuovo-post",
"content": "<p>Contenuto del post qui</p>",
"status": "draft"
}
Aggiornare contenuto
La seguente richiesta aggiorna un post esistente e lo pubblica:
PUT /_emdash/api/content/posts/il-mio-nuovo-post
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
{
"title": "Titolo aggiornato",
"status": "published"
}
Eliminare contenuto
La seguente richiesta elimina permanentemente un post:
DELETE /_emdash/api/content/posts/il-mio-nuovo-post
Authorization: Bearer YOUR_API_TOKEN
Tradurre contenuti
Quando l’i18n è abilitato, puoi creare traduzioni di qualsiasi voce di contenuto.
Creare una traduzione
-
Apri la voce di contenuto che vuoi tradurre
-
Nella barra laterale dell’editor, trova il pannello Translations
-
Clicca su Traduci accanto alla lingua di destinazione
-
Modifica il contenuto pre-compilato — adatta il titolo, lo slug e il corpo per la nuova lingua
-
Clicca su Salva
La nuova traduzione è collegata alla voce originale e inizia come bozza. Pubblicala indipendentemente quando la traduzione è pronta.
Passare tra le traduzioni
Il pannello Traduzioni mostra tutte le lingue configurate. Clicca su Modifica accanto a qualsiasi traduzione esistente per navigare direttamente. La lingua corrente è contrassegnata con un segno di spunta.
Filtro per lingua
Nella lista dei contenuti, usa il menu a tendina della lingua nella barra degli strumenti per filtrare le voci per lingua. Ogni voce mostra la sua lingua in una colonna dedicata.
Ogni traduzione ha il proprio slug, stato e cronologia delle revisioni. Pubblica, programma e gestisci le traduzioni indipendentemente.
Consulta la guida all’Internazionalizzazione per dettagli completi su configurazione, query e selettore di lingua.
Prossimi passi
- Interrogare i contenuti - Recuperare contenuti nei tuoi template
- Libreria media - Caricare e gestire file
- Tassonomie - Organizzare i contenuti con categorie e tag
- Internazionalizzazione - Contenuti multilingue e traduzioni