Este guia cobre como criar, editar e gerir conteúdo usando o painel de administração EmDash.
Aceder ao Admin
Abra o seu navegador em /_emdash/admin no seu site. Inicie sessão com as credenciais que criou durante a configuração.
O painel exibe:
- Barra lateral - Navegação para coleções, media e definições
- Lista de conteúdo - Entradas na coleção selecionada
- Ações rápidas - Criar novo conteúdo, operações em massa
Criar conteúdo
-
Clique num nome de coleção na barra lateral (ex.: Posts)
-
Clique em New Post (ou o equivalente para a sua coleção)
-
Preencha os campos obrigatórios:
- Title - Nome de exibição do conteúdo
- Slug - Identificador URL (gerado automaticamente a partir do título, editável)
-
Adicione conteúdo usando o editor de texto enriquecido
-
Defina metadados na barra lateral:
- Status - Draft, Published ou Archived
- Publication date - Quando publicar
- Categories and tags - Atribuições de taxonomia
-
Clique em Save
Estados do conteúdo
Cada entrada tem um de três estados:
| Estado | Visibilidade | Caso de uso |
|---|---|---|
| Draft | Apenas admin | Trabalho em progresso |
| Published | Público | Conteúdo ao vivo |
| Archived | Apenas admin | Conteúdo retirado |
Altere o estado usando o menu pendente na barra lateral do editor.
O editor de texto enriquecido
O editor EmDash suporta:
- Títulos - H2 a H6
- Formatação - Negrito, itálico, sublinhado, riscado
- Listas - Ordenadas e não ordenadas
- Links - Internos e externos
- Imagens - Inserir da biblioteca de media
- Blocos de código - Com realce de sintaxe
- Blocos HTML - HTML bruto para incorporações e widgets personalizados
- Incorporações - YouTube, Vimeo, Twitter
- Secções - Blocos de conteúdo reutilizáveis via comando
/section
Comandos slash
Digite / para aceder a comandos de inserção rápida:
| Comando | Ação |
|---|---|
/section | Inserir uma secção reutilizável |
/image | Inserir uma imagem da biblioteca de media |
/code | Inserir um bloco de código |
/html | Inserir um bloco HTML bruto |
Atalhos de teclado
| Ação | Atalho |
|---|---|
| Negrito | Ctrl/Cmd + B |
| Itálico | Ctrl/Cmd + I |
| Link | Ctrl/Cmd + K |
| Desfazer | Ctrl/Cmd + Z |
| Refazer | Ctrl/Cmd + Shift + Z |
| Guardar | Ctrl/Cmd + S |
Inserir imagens
-
Clique no botão de imagem na barra de ferramentas
-
Selecione uma imagem existente da biblioteca de media, ou carregue uma nova
-
Adicione texto alternativo (obrigatório para acessibilidade)
-
Ajuste opções de alinhamento e tamanho
-
Clique em Insert
Blocos HTML
Use /html para inserir um bloco HTML bruto. Isto é útil para incorporar widgets de terceiros, marcação personalizada ou conteúdo que não se encaixa nos tipos de bloco padrão. Os blocos HTML também são criados automaticamente ao importar conteúdo do WordPress ou Contentful que contém marcação que o EmDash não pode converter em blocos nativos de Portable Text.
Para permitir iframes de fornecedores adicionais, substitua o componente htmlBlock na sua renderização 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} />
Depois passe-o a <PortableText>:
---
import { PortableText } from "emdash/ui";
import MyHtmlBlock from "../components/MyHtmlBlock.astro";
---
<PortableText
value={post.data.content}
components={{ type: { htmlBlock: MyHtmlBlock } }}
/>
Editar conteúdo
-
Navegue para a coleção que contém o conteúdo
-
Clique na entrada que deseja editar
-
Faça as suas alterações
-
Clique em Save
As alterações ao conteúdo publicado aparecem imediatamente no seu site.
Histórico de revisões
O EmDash rastreia alterações ao conteúdo. Aceda ao histórico de revisões a partir da barra lateral do editor:
-
Clique em Revisions na barra lateral do editor
-
Veja a lista de versões anteriores com carimbos de data/hora
-
Clique numa revisão para a pré-visualizar
-
Clique em Restore para reverter para essa versão
Operações em massa
Execute ações em múltiplas entradas de uma vez:
-
Use as caixas de verificação para selecionar entradas na lista de conteúdo
-
Clique no menu pendente Bulk Actions
-
Selecione uma ação:
- Publish - Definir todos os selecionados como publicados
- Archive - Definir todos os selecionados como arquivados
- Delete - Remover permanentemente os selecionados
-
Confirme a ação
Pesquisar e filtrar
Pesquisa
Use a caixa de pesquisa para encontrar conteúdo por título ou conteúdo. A pesquisa não distingue maiúsculas de minúsculas e corresponde a palavras parciais.
Filtros
Filtre a lista de conteúdo por:
- Status - Draft, Published, Archived
- Date range - Datas de criação ou modificação
- Author - Quem criou o conteúdo
- Taxonomy - Atribuições de categoria ou tag
Clique em Clear Filters para repor.
Agendar conteúdo
Agende conteúdo para publicar numa data futura:
-
Crie ou edite conteúdo
-
Defina o estado para Draft
-
Defina a Publication date para uma data e hora futuras
-
Clique em Save
Quando a data de publicação chegar, o conteúdo é automaticamente publicado.
Eliminar conteúdo
Elimine conteúdo a partir do ecrã de edição ou da lista de conteúdo:
A partir do editor
-
Abra o conteúdo que deseja eliminar
-
Clique em Delete na barra de ferramentas
-
Confirme a eliminação
A partir da lista
-
Selecione entradas usando caixas de verificação
-
Clique em Bulk Actions > Delete
-
Confirme a eliminação
API de conteúdo
Para acesso programático, use a API admin EmDash.
Criar conteúdo
O seguinte pedido cria um rascunho de 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"
}
Atualizar conteúdo
O seguinte pedido atualiza um post existente e publica-o:
PUT /_emdash/api/content/posts/my-new-post
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
{
"title": "Updated Title",
"status": "published"
}
Eliminar conteúdo
O seguinte pedido elimina permanentemente um post:
DELETE /_emdash/api/content/posts/my-new-post
Authorization: Bearer YOUR_API_TOKEN
Traduzir conteúdo
Quando i18n está ativado, pode criar traduções de qualquer entrada de conteúdo.
Criar uma tradução
-
Abra a entrada de conteúdo que deseja traduzir
-
Na barra lateral do editor, encontre o painel Translations
-
Clique em Translate junto ao locale de destino
-
Edite o conteúdo pré-preenchido — ajuste o título, slug e corpo para o novo idioma
-
Clique em Save
A nova tradução está ligada à entrada original e começa como rascunho. Publique-a independentemente quando a tradução estiver pronta.
Alternar entre traduções
O painel Translations mostra todos os locales configurados. Clique em Edit junto a qualquer tradução existente para navegar diretamente. O locale atual está marcado com um visto.
Filtro de locale
Na lista de conteúdo, use o menu pendente de locale na barra de ferramentas para filtrar entradas por idioma. Cada entrada mostra o seu locale numa coluna dedicada.
Consulte o guia de internacionalização para detalhes completos sobre configuração, consultas e seletor de idioma.
Próximos passos
- Querying Content - Recuperar conteúdo nos seus templates
- Media Library - Carregar e gerir ficheiros
- Taxonomies - Organizar conteúdo com categorias e tags
- Internationalization - Conteúdo multilingue e traduções