Trabalhando com conteúdo

Nesta página

Este guia cobre como criar, editar e gerenciar conteúdo usando o painel admin do EmDash.

Acessando o admin

Abra seu navegador em /_emdash/admin no seu site. Faça login com as credenciais criadas durante a configuração.

O painel exibe:

  • Barra lateral - Navegação para collections, mídia e configurações
  • Lista de conteúdo - Entradas na collection selecionada
  • Ações rápidas - Criar novo conteúdo, operações em lote

Criando conteúdo

  1. Clique em um nome de collection na barra lateral (ex., Posts)

  2. Clique em New Post (ou o equivalente para sua collection)

  3. Preencha os campos obrigatórios:

    • Title - O nome de exibição do conteúdo
    • Slug - Identificador URL (gerado automaticamente do título, editável)
  4. Adicione conteúdo usando o editor de texto rico

  5. Configure os metadados na barra lateral:

    • Status - Rascunho, Publicado ou Arquivado
    • Data de publicação - Quando publicar
    • Categorias e tags - Atribuições de taxonomia
  6. Clique em Salvar

Rascunhos são visíveis apenas no admin. Mude o status para Publicado para tornar o conteúdo visível no seu site.

Status do conteúdo

Cada entrada tem um dos três status:

StatusVisibilidadeCaso de uso
RascunhoApenas adminTrabalho em andamento
PublicadoPúblicoConteúdo ativo
ArquivadoApenas adminConteúdo retirado

Mude o status usando o dropdown na barra lateral do editor.

O editor de texto rico

O editor do EmDash suporta:

  • Títulos - H2 a H6
  • Formatação - Negrito, itálico, sublinhado, tachado
  • Listas - Ordenadas e não ordenadas
  • Links - Internos e externos
  • Imagens - Inserir da biblioteca de mídia
  • Blocos de código - Com destaque de sintaxe
  • Blocos HTML - HTML bruto para incorporações e widgets personalizados
  • Incorporações - YouTube, Vimeo, Twitter
  • Seções - Blocos de conteúdo reutilizáveis via comando /section

Comandos slash

Digite / para acessar comandos de inserção rápida:

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

Atalhos de teclado

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

Inserindo imagens

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

  2. Selecione uma imagem existente da biblioteca de mídia, ou faça upload de uma nova

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

  4. Ajuste opções de alinhamento e tamanho

  5. Clique em Inserir

Blocos HTML

Use /html para inserir um bloco de HTML bruto. Isso é útil para incorporar widgets de terceiros, markup personalizado ou conteúdo que não se encaixa nos tipos de bloco padrão. Blocos HTML também são criados automaticamente ao importar conteúdo do WordPress ou Contentful que contém markup que o EmDash não pode converter em blocos Portable Text nativos.

Para permitir iframes de provedores 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
    // Adicione seus provedores aqui
  ],
});
---

<div class="html-block" set:html={sanitized} />

Então passe para <PortableText>:

---
import { PortableText } from "emdash/ui";
import MyHtmlBlock from "../components/MyHtmlBlock.astro";
---

<PortableText
  value={post.data.content}
  components={{ type: { htmlBlock: MyHtmlBlock } }}
/>

Editando conteúdo

  1. Navegue até a collection que contém o conteúdo

  2. Clique na entrada que deseja editar

  3. Faça suas alterações

  4. Clique em Salvar

Alterações em conteúdo publicado aparecem imediatamente no seu site.

Histórico de revisões

O EmDash rastreia alterações no conteúdo. Acesse o histórico de revisões pela barra lateral do editor:

  1. Clique em Revisions na barra lateral do editor

  2. Veja a lista de versões anteriores com timestamps

  3. Clique em uma revisão para previsualizá-la

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

Restaurar uma revisão cria uma nova revisão com o conteúdo restaurado. O histórico de revisões original é preservado.

Operações em lote

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

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

  2. Clique no dropdown Ações em lote

  3. Selecione uma ação:

    • Publicar - Definir todos os selecionados como publicados
    • Arquivar - Definir todos os selecionados como arquivados
    • Excluir - Remover permanentemente os selecionados
  4. Confirme a ação

Busca e filtragem

Busca

Use a caixa de busca para encontrar conteúdo por título ou conteúdo. A busca não diferencia maiúsculas/minúsculas e corresponde a palavras parciais.

Filtros

Filtre a lista de conteúdo por:

  • Status - Rascunho, Publicado, Arquivado
  • Intervalo de datas - Datas de criação ou modificação
  • Autor - Quem criou o conteúdo
  • Taxonomia - Atribuições de categoria ou tag

Clique em Limpar filtros para resetar.

Agendando conteúdo

Agende conteúdo para publicação em uma data futura:

  1. Crie ou edite conteúdo

  2. Defina o status como Rascunho

  3. Defina a Data de publicação para uma data e hora futuras

  4. Clique em Salvar

Quando a data de publicação chegar, o conteúdo é automaticamente publicado.

Excluindo conteúdo

Exclua conteúdo da tela de edição ou da lista de conteúdo:

Do editor

  1. Abra o conteúdo que deseja excluir

  2. Clique em Excluir na barra de ferramentas

  3. Confirme a exclusão

Da lista

  1. Selecione entradas usando caixas de seleção

  2. Clique em Ações em lote > Excluir

  3. Confirme a exclusão

API de conteúdo

Para acesso programático, use a API de administração do EmDash.

Criar conteúdo

A seguinte requisição cria um post rascunho:

POST /_emdash/api/content/posts
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN

{
  "title": "Meu novo post",
  "slug": "meu-novo-post",
  "content": "<p>Conteúdo do post aqui</p>",
  "status": "draft"
}

Atualizar conteúdo

A seguinte requisição atualiza um post existente e o publica:

PUT /_emdash/api/content/posts/meu-novo-post
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN

{
  "title": "Título atualizado",
  "status": "published"
}

Excluir conteúdo

A seguinte requisição exclui permanentemente um post:

DELETE /_emdash/api/content/posts/meu-novo-post
Authorization: Bearer YOUR_API_TOKEN

Traduzindo conteúdo

Quando i18n está habilitado, você pode criar traduções de qualquer entrada de conteúdo.

Criando 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 Traduzir ao lado do idioma alvo

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

  5. Clique em Salvar

A nova tradução é vinculada à entrada original e começa como rascunho. Publique-a independentemente quando a tradução estiver pronta.

Alternando entre traduções

O painel Traduções mostra todos os idiomas configurados. Clique em Editar ao lado de qualquer tradução existente para navegar diretamente. O idioma atual é marcado com um checkmark.

Filtro de idioma

Na lista de conteúdo, use o dropdown de idioma na barra de ferramentas para filtrar entradas por idioma. Cada entrada mostra seu idioma em uma coluna dedicada.

Cada tradução tem seu próprio slug, status e histórico de revisões. Publique, agende e gerencie traduções independentemente.

Veja o guia de Internacionalização para detalhes completos sobre configuração, consultas e o seletor de idioma.

Próximos passos