Trabalhar com conteúdo

Nesta página

Use o admin do EmDash para levar uma entrada do primeiro rascunho até uma página publicada. O editor mantém as alterações do rascunho separadas da versão que os visitantes podem ver, então salvar e publicar são duas ações distintas.

Abrir uma coleção

Abra /_emdash/admin no seu site e faça login. Selecione uma coleção, como Posts ou Pages, na barra lateral.

A página da coleção lista as entradas dela. A partir daqui você pode:

  • selecionar Add New para criar uma entrada;
  • pesquisar pelo título da entrada, pelo slug e pelos campos marcados como pesquisáveis;
  • filtrar por estado de publicação, autor, assinatura, data e localidade;
  • navegar entre as páginas de entradas e escolher se cada página mostra 20, 50 ou 100;
  • selecionar entradas para publicar em lote, voltar para rascunho ou mover para a lixeira; e
  • abrir Trash para restaurar ou excluir permanentemente uma entrada.

Os campos e os recursos de publicação disponíveis no editor dependem do modelo de conteúdo da coleção. Por exemplo, uma coleção pode oferecer suporte a revisões, pré-visualizações, taxonomias ou busca.

Criar e publicar uma entrada

  1. Selecione Add New na página da coleção.

  2. Preencha os campos obrigatórios. Se a coleção tiver um campo de título, o EmDash o usa para sugerir um slug. Você pode editar o slug antes de publicar.

  3. Adicione o corpo e quaisquer campos de apoio, como um resumo, uma imagem de destaque, uma assinatura, categorias ou tags.

  4. Selecione Save. O primeiro salvamento cria a entrada como rascunho e abre a URL permanente do editor dela.

  5. Revise o rascunho. Se a coleção oferecer suporte a pré-visualizações, selecione Preview para ver a página renderizada antes de publicar.

  6. Selecione Publish now e confirme. O rascunho salvo se torna a versão ao vivo que as consultas de conteúdo públicas retornam.

A entrada tem um ID de conteúdo estável e um slug separado. O ID continua identificando a mesma entrada se o slug dela mudar. Os templates normalmente usam o identificador voltado para a URL retornado por getEmDashCollection(); o guia de consulta de conteúdo explica os dois valores.

Escrever texto rico

Os campos de Portable Text oferecem um editor de blocos para títulos, parágrafos, citações, listas, links, imagens, vídeos, galerias, blocos de código, tabelas, blocos HTML e seções reutilizáveis. Os plugins instalados podem adicionar mais blocos.

Use a barra de ferramentas para formatar o texto selecionado. Para inserir um bloco, selecione o controle de adicionar bloco ao lado de um parágrafo ou digite / e pesquise um bloco pelo nome. Os blocos de imagem e de galeria abrem o mesmo seletor de mídia usado pelos campos de imagem.

Você também pode arrastar arquivos de imagem e de vídeo para o editor ou colar uma imagem copiada ou uma captura de tela. Cada arquivo é enviado para a Biblioteca de mídia e aparece entre os blocos ao redor quando o envio termina. Se um envio falhar, o motivo aparece onde o arquivo teria ficado.

Ao selecionar um bloco de imagem, uma barra de ferramentas aparece acima dele. Use-a para substituir a imagem, editar o texto alternativo, alinhá-la, adicionar um link ou excluir o bloco. O botão Alt text fica destacado quando a imagem tem uma descrição, e passar o cursor sobre ele mostra a descrição. Um texto alternativo que seja apenas o nome de arquivo de uma imagem da Biblioteca de mídia não conta. Digite uma legenda no campo abaixo da imagem e pressione Enter para continuar escrevendo abaixo dela. A partir de uma imagem selecionada, Tab move para a legenda e depois para a barra de ferramentas.

Image settings na barra de ferramentas abre todas as configurações desse uso da imagem, incluindo o tamanho de exibição e uma dica opcional. Edit asset abre ali o item subjacente da Biblioteca de mídia, onde alterar ou substituir o recurso pode afetar outras entradas que o usam. Consulte Biblioteca de mídia para essa distinção.

Adicionar um vídeo

Digite /video para adicionar um bloco de vídeo e escolha um vídeo da Biblioteca de mídia ou envie um no seletor que se abre. Se você fechar o seletor, o bloco de vídeo vazio permanece onde você o colocou, então você pode preenchê-lo depois: clique nele, pressione Enter enquanto ele estiver selecionado ou solte um arquivo de vídeo sobre ele. Um bloco de vídeo vazio não mostra nada no seu site. Você também pode soltar um arquivo de vídeo em qualquer lugar do texto.

O vídeo é reproduzido no editor como será exibido no seu site, na largura do texto. Digite uma legenda no campo abaixo dele e pressione Enter para continuar escrevendo abaixo.

Passe o cursor sobre um vídeo, ou selecione-o, para mostrar Replace video e Delete video em seu canto. A partir de um vídeo selecionado, Tab move para o player, onde a barra de espaço o reproduz, e depois para a legenda e os dois botões. Escape volta ao bloco.

Os envios respeitam o limite de tamanho da Biblioteca de mídia, maxUploadSize, que é de 50 MiB, a menos que você o aumente.

Adicionar HTML, CSS e JavaScript

Um bloco HTML contém código que os outros blocos não conseguem expressar, como um conteúdo incorporado, um formulário de inscrição ou um pequeno widget. Suas abas são HTML, CSS, JS e Preview. Cada aba de código é um editor de código em que Tab recua o texto; pressione Escape para voltar ao texto ao redor. As abas CSS e JS são opcionais: você também pode colar um trecho inteiro, com seus elementos <style> e <script>, na aba HTML.

Preview mostra o bloco como seu site o renderiza. Quando você abre uma entrada, um bloco que executa JavaScript espera até que você selecione Run preview, para que um script com defeito não possa travar o editor.

O menu do bloco define como seu site o renderiza:

  • Isolated frame executa o HTML, o CSS e o JavaScript do bloco em um quadro em sandbox que cresce com o conteúdo. O quadro não pode ler os cookies, o armazenamento nem as páginas do seu site, e os estilos do seu site não o alcançam. Os links relativos são resolvidos a partir da raiz do seu site. Depois que um visitante clica dentro do quadro, ele pode abrir outras páginas na aba do visitante ou em uma nova. Os novos blocos HTML usam este modo, mas os blocos colados de outro site ou de outra aba do navegador não. Não dimensione o conteúdo com base no viewport do quadro, como em height: 100vh: o quadro cresce para acomodá-lo, o que torna o conteúdo mais alto de novo, até que o quadro atinja 20.000 pixels.
  • Inline coloca o HTML na página, onde ele usa os estilos do seu site. Seu site mantém a formatação de texto, os links, as listas, as tabelas, as imagens e os iframes, e remove o restante da marcação, como scripts, elementos <style>, atributos style, mídia e controles de formulário. Os iframes de sites que não sejam YouTube e Vimeo ficam vazios. Um bloco inline não tem aba CSS nem JS.

Os mecanismos de busca podem não tratar o texto dentro de um quadro isolado como parte da página. Coloque o texto importante para a busca em parágrafos ou em um bloco inline.

Incorporar uma página de outro site

Um bloco iframe mostra uma página de outro site, como um vídeo, um mapa ou um formulário. Digite /iframe e cole o código de incorporação do site ou um link na aba Code. Os links do YouTube e do Vimeo viram os respectivos players, e qualquer outro link https é incorporado como está. Preview mostra a página incorporada. Quando você abre uma entrada, um bloco salvo aguarda até que você selecione Load preview, de modo que o admin não carregue páginas de outros sites até você pedir. Os blocos iframe colados de outro site ou de outra aba do navegador chegam vazios.

Somente páginas https podem ser incorporadas, e o bloco mantém apenas as partes de um código de incorporação de que precisa: o endereço, o título, o tamanho, o suporte a tela cheia e as permissões que os players usam. Alguns sites se recusam a aparecer dentro da página de outro site; a prévia deles fica em branco ou mostra um erro vindo desse site.

Um código de incorporação que executa um script em vez de um iframe, como alguns posts de redes sociais, pertence a um bloco HTML.

Salvar as alterações do rascunho

Após o primeiro salvamento, o editor salva as alterações automaticamente dois segundos depois que você para de digitar. O botão Save passa por Saving… até Saved para que você confirme que o servidor aceitou o rascunho. O salvamento automático substitui a revisão de salvamento automático atual em vez de encher o histórico de revisões com um ponto de verificação a cada pausa.

Selecione Save quando quiser que um ponto da sequência de edição permaneça no histórico de revisões. Se um salvamento falhar, o editor mantém no lugar os campos não salvos e mostra o erro. Não saia da página até que o botão volte para Saved ou até que você tenha copiado o trabalho não salvo para outro lugar.

Em uma entrada publicada, salvar as alterações atualiza apenas o rascunho dela. Os visitantes continuam recebendo a revisão ao vivo anterior. Use Preview draft para conferir a versão pendente, Live View para conferir a versão pública e Publish changes quando o rascunho estiver pronto para substituí-la.

Alterar o slug de uma entrada publicada segue o mesmo fluxo de rascunho. A URL pública muda quando você publica o rascunho, não quando o salvamento automático é executado.

Trabalhar com outro editor

Abrir uma entrada obtém um bloqueio de edição para essa entrada e localidade. Se outra pessoa já a tiver aberta, o EmDash identifica quem detém o bloqueio e oferece duas opções:

  • Open read-only mostra a entrada sem aceitar edições, para que você não digite um trabalho que seria descartado.
  • Take over dá a você o bloqueio. A outra pessoa mantém o que digitou, mas em até dois minutos o editor dela informa que você detém a entrada. O próximo salvamento dela é recusado.

O bloqueio é renovado enquanto a entrada está aberta e liberado quando você sai do editor ou fecha a aba. Se o navegador ou o computador for fechado sem liberá-lo, o bloqueio expira sete minutos após a última renovação.

Os bloqueios são independentes para cada localidade, então duas pessoas podem editar traduções diferentes da mesma entrada. Um script, um cliente de API ou um cliente MCP também é recusado enquanto outro editor detiver o bloqueio, a menos que use a substituição documentada. Consulte Bloqueio de edição de entrada para o comportamento completo da API e Ciclo de vida do conteúdo e assinaturas para as ferramentas MCP.

Um administrador pode desativar o bloqueio de uma coleção em Content Types, depois na coleção e em seguida em Edit locking.

Publicar ou agendar alterações

Publicar e agendar usam controles separados:

  • Publish now coloca um novo rascunho no ar após a confirmação.
  • Publish changes coloca no ar as alterações pendentes de uma entrada publicada após a confirmação.
  • Schedule define quando uma nova entrada ou as alterações pendentes entram no ar.
  • Change schedule atualiza um agendamento existente.
  • Remove schedule cancela um agendamento existente.
  • Unpublish remove a revisão ao vivo das consultas públicas, cancela qualquer agendamento e mantém um rascunho editável.

Para agendar uma entrada, salve-a primeiro, selecione Schedule abaixo do resumo de publicação e escolha uma data e hora futuras. O editor mostra o fuso horário usado no agendamento. Até esse momento, a revisão ao vivo atual continua pública; para uma nova entrada, ainda não há nada público.

As implantações em Node.js executam automaticamente a varredura de publicação agendada. O Cloudflare Workers exige um Cron Trigger. Os templates iniciais da Cloudflare o incluem; as implantações existentes podem seguir Publicação agendada para verificar o trigger.

Revisar o calendário de publicação

O calendário mostra o que foi publicado e o que está agendado em todas as suas coleções. Os Contributors e os papéis superiores podem abrir Calendar pela barra lateral ou pela paleta de comandos. Quando algo está agendado, a contagem Scheduled do painel também leva até ele.

O calendário tem duas visualizações:

  • Month mostra uma grade de dias. As entradas publicadas aparecem como linhas simples e as agendadas como cartões. Passe o cursor ou foque uma entrada para ver o título completo, o estado, a hora e a coleção. Quando um dia tem mais entradas do que cabem, selecione +N more para listá-las todas.
  • Agenda lista o mês por dia, com a hora de cada entrada. No mês atual, os dias anteriores a hoje começam recolhidos, a menos que um deles tenha uma entrada atrasada, e uma linha vermelha marca o momento presente.

Em um telefone ou outra tela estreita, o calendário abre em Agenda, e Month mostra um seletor de datas com pontos nos dias que têm entradas. Selecione um dia para listar as entradas dele.

Selecione uma entrada para abrir os detalhes dela em um painel lateral, ou clique com Ctrl (Cmd no macOS) para abri-la no editor em uma nova aba. O painel mostra o estado, a hora, a coleção, a localidade e as traduções da entrada, as assinaturas e quando ela foi editada pela última vez. No painel você pode abrir a entrada no editor, pré-visualizar as alterações agendadas ou ver no site uma entrada publicada. Se você puder publicar a entrada (os Authors as próprias entradas, e os Editors e papéis superiores qualquer entrada), também pode reagendá-la, remover o agendamento dela ou publicar agora uma entrada atrasada. Em um telefone, o painel abre como uma folha na parte inferior da tela.

Use Filter para restringir as duas visualizações por coleção e estado, e por localidade em sites multilíngues. Os filtros, a visualização, o mês e a entrada aberta ficam salvos na URL da página, então você pode adicioná-la aos favoritos ou compartilhá-la.

As entradas são posicionadas nos dias no fuso horário do site, que o calendário informa ao lado do mês. Se o seu navegador usar um fuso horário diferente, o calendário avisa, e os horários das entradas também aparecem no seu próprio fuso horário.

O calendário mostra:

  • as entradas publicadas na data em que foram publicadas;
  • as entradas agendadas na data agendada; e
  • as alterações agendadas de uma entrada publicada na data agendada, marcadas como Update. Depois que as alterações entram no ar, a entrada aparece apenas na data de publicação original.

Um agendamento que passou mais de dois minutos do horário é marcado como Overdue. Isso geralmente significa que a varredura de publicação agendada não está sendo executada; consulte Publicar ou agendar alterações.

O calendário deixa de fora os rascunhos sem agendamento, as entradas na lixeira e as coleções ocultas da barra lateral. A contagem Scheduled do painel abrange todos os meses e inclui as coleções ocultas, então pode ser maior do que o que o calendário mostra para um mês.

O calendário carrega no máximo 1.000 entradas por mês, incluindo os dias de meses vizinhos que a grade exibe. Quando há mais, ele informa em que dia terminam as entradas carregadas e marca os dias posteriores como não carregados.

Restaurar uma revisão

As coleções com suporte a revisões mostram Revisions no painel de configurações. Expanda-o para ver as versões salvas e os campos que mudaram entre elas. Selecione uma revisão para inspecionar o conteúdo e depois selecione Restore se quiser usar essa versão novamente.

Restaurar cria uma nova revisão contendo o conteúdo selecionado. Isso não apaga as revisões anteriores, então você ainda pode inspecionar depois a sequência completa.

Traduzir uma entrada

Quando a internacionalização está ativada, o painel Translations mostra as localidades configuradas para a entrada atual.

  1. Abra a entrada de origem e encontre Translations no painel de configurações.

  2. Selecione Translate para uma localidade que ainda não tenha uma entrada.

  3. Edite o título copiado, o slug, o corpo e os demais campos traduzíveis.

  4. Selecione Save e depois publique ou agende a tradução quando ela estiver pronta.

Cada tradução tem o próprio slug, estado de publicação, agendamento e histórico de revisões. Use o seletor de localidade na página da coleção para ver um idioma por vez.

Mover conteúdo para a lixeira

Abra as ações de uma entrada ou selecione uma ou mais linhas na página da coleção e escolha Move to Trash. As entradas na lixeira deixam de aparecer nas consultas de conteúdo comuns, mas continuam disponíveis na aba Trash da coleção.

Em Trash, selecione Restore para devolver uma entrada à coleção. Uma entrada restaurada volta como rascunho, sem agendamento. Publique-a para torná-la pública.

Automatizar o trabalho com conteúdo

A API REST e a CLI do EmDash oferecem suporte ao mesmo fluxo de rascunho e publicação. Os campos da coleção ficam dentro do objeto data da requisição. Uma atualização salva uma revisão de rascunho; publicar é uma ação separada. Passe o valor mais recente de _rev ao atualizar ou publicar para que o servidor rejeite uma gravação desatualizada em vez de substituir um trabalho mais novo.

Use a referência do ciclo de vida do conteúdo para transições de estado, permissões, conflitos e hooks. A referência da API REST define os corpos de requisição e de resposta, e a referência da CLI cobre os comandos de terminal equivalentes.

Continue com Consultar conteúdo para renderizar as entradas publicadas em um site Astro, ou com a Biblioteca de mídia para adicionar e gerenciar arquivos reutilizáveis.