Trabalhar com conteúdo

Nesta página

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

  1. Clique num nome de coleção na barra lateral (ex.: Posts)

  2. Clique em New Post (ou o equivalente para a sua coleção)

  3. 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)
  4. Adicione conteúdo usando o editor de texto enriquecido

  5. Defina metadados na barra lateral:

    • Status - Draft, Published ou Archived
    • Publication date - Quando publicar
    • Categories and tags - Atribuições de taxonomia
  6. Clique em Save

Estados do conteúdo

Cada entrada tem um de três estados:

EstadoVisibilidadeCaso de uso
DraftApenas adminTrabalho em progresso
PublishedPúblicoConteúdo ao vivo
ArchivedApenas adminConteú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:

ComandoAção
/sectionInserir uma secção reutilizável
/imageInserir uma imagem da biblioteca de media
/codeInserir um bloco de código
/htmlInserir um bloco HTML bruto

Atalhos de teclado

AçãoAtalho
NegritoCtrl/Cmd + B
ItálicoCtrl/Cmd + I
LinkCtrl/Cmd + K
DesfazerCtrl/Cmd + Z
RefazerCtrl/Cmd + Shift + Z
GuardarCtrl/Cmd + S

Inserir imagens

  1. Clique no botão de imagem na barra de ferramentas

  2. Selecione uma imagem existente da biblioteca de media, ou carregue uma nova

  3. Adicione texto alternativo (obrigatório para acessibilidade)

  4. Ajuste opções de alinhamento e tamanho

  5. 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

  1. Navegue para a coleção que contém o conteúdo

  2. Clique na entrada que deseja editar

  3. Faça as suas alterações

  4. 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:

  1. Clique em Revisions na barra lateral do editor

  2. Veja a lista de versões anteriores com carimbos de data/hora

  3. Clique numa revisão para a pré-visualizar

  4. Clique em Restore para reverter para essa versão

Operações em massa

Execute ações em múltiplas entradas de uma vez:

  1. Use as caixas de verificação para selecionar entradas na lista de conteúdo

  2. Clique no menu pendente Bulk Actions

  3. Selecione uma ação:

    • Publish - Definir todos os selecionados como publicados
    • Archive - Definir todos os selecionados como arquivados
    • Delete - Remover permanentemente os selecionados
  4. 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:

  1. Crie ou edite conteúdo

  2. Defina o estado para Draft

  3. Defina a Publication date para uma data e hora futuras

  4. 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

  1. Abra o conteúdo que deseja eliminar

  2. Clique em Delete na barra de ferramentas

  3. Confirme a eliminação

A partir da lista

  1. Selecione entradas usando caixas de verificação

  2. Clique em Bulk Actions > Delete

  3. 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

  1. Abra a entrada de conteúdo que deseja traduzir

  2. Na barra lateral do editor, encontre o painel Translations

  3. Clique em Translate junto ao locale de destino

  4. Edite o conteúdo pré-preenchido — ajuste o título, slug e corpo para o novo idioma

  5. 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