Feito com Chinaski

Importar Markdown

Tem uma pilha de textos escritos de outra ferramenta, arquivos .md simples (uma exportação de site estático, um CMS anterior ou uma pasta de notas)? A tela Importar Markdown os transforma em páginas ou posts em rascunho em um único lote: envie, revise, publique. Nada é publicado automaticamente: todo arquivo importado chega como um rascunho comum, exatamente como se você o tivesse digitado.

Iniciando uma importação

  1. Na administração, vá a uma lista de Pages ou Posts e abra Importar Markdown (páginas e posts têm cada um sua própria rota; type define o alvo).
  2. Defina o idioma padrão do lote.
  3. Selecione até 100 arquivos .md/.markdown de uma vez (lote inteiro com até 40 MiB).
  4. Envie.

Se os módulos opcionais de conversão não estiverem instalados no seu servidor, o formulário avisa antes de você escolher um único arquivo, e a importação falha com "peça a um administrador que os instale": ela nunca falha silenciosamente no meio do lote.

Front matter

Cada arquivo pode começar com um bloco opcional de cabeçalho YAML ---:

---
title: My First Post
slug: my-first-post
language: en
category: News
tags: [announcements, tips]
date: 2024-03-14
meta_title: My First Post - Example Site
meta_description: A short searchable summary…
---

Regras de fallback tornam o front matter opcional:

  • Título: o title do front matter → o primeiro # heading do documento (removido do corpo para não aparecer duas vezes) → o nome do arquivo.
  • Slug: o slug do front matter → uma versão limpa do título → o nome do arquivo limpo, com sufixos automáticos (-2, -3…) se dois arquivos cairiam no mesmo endereço.
  • Tags: uma string separada por vírgulas ou uma lista YAML, ambas funcionam.

Regras que se aplicam quando você inclui um cabeçalho:

  • Mantenha-o plano: apenas as chaves acima. Uma lista aninhada sob title: é rejeitada com o campo nomeado.
  • language: precisa ser um idioma que o seu site realmente tenha configurado, e um que a sua conta tenha permissão de escrever, verificado por arquivo.
  • Um valor de date:/published_at: é aceito em YYYY-MM-DD simples ou com hora; uma verificação de calendário real rejeita mês 13, dia 45, etc. Uma data sem sentido não faz o arquivo falhar; ela é apenas ignorada.
  • Sem agendamento: as datas do front matter são registradas apenas como metadados do item; a publicação continua sendo uma decisão manual/de revisão. Isso é explícito no código ("auto-scheduling ruled out"), então nada entra no ar inesperadamente.

O que você recebe de volta

  • Todos os arquivos se tornam rascunhos: nada é publicado por uma importação, jamais.
  • O markdown do corpo converte para o mesmo HTML que o seu editor escreve, incluindo converter um # heading remanescente um nível abaixo para um H2, já que a estrutura de títulos do editor começa no H2.
  • Um rebuild do site acontece automaticamente se pelo menos um rascunho foi criado (esses rascunhos existem no CMS imediatamente; apenas a publicação deles espera por você).
  • A tela de resultados é por arquivo: cada rascunho criado com seu link de edição e o arquivo de onde veio, e cada falha com seu erro preciso.

Quais falhas você pode ver

Todo problema é reportado por nome de arquivo, em linguagem simples:

Mensagem Causa
“not a .md/.markdown file” O arquivo não tinha a extensão correta
“file is empty” Upload de tamanho zero
“invalid YAML front matter (…)” O cabeçalho --- existe mas não faz parse
“front matter must be a YAML mapping…” O cabeçalho não é pares chave/valor
“front matter field ‘<x>’ must be plain text, not a nested list/mapping” YAML aninhado onde uma string simples pertence
“could not determine a title (empty file/filename)” Tudo o que a cadeia de fallback podia tentar estava vazio
“title exceeds 500 characters” Título longo demais
“could not derive a slug from the title or filename” Ambas as fontes resultaram em nada utilizável
“markdown conversion failed (…)” O documento não fez parse como Markdown
“language ‘…’ is not configured” / “not authorised for language ‘…’” O language: do arquivo (ou o padrão do lote) não é um idioma em que você possa escrever
“database error: check the server log” A escrita em si falhou: tente o arquivo de novo

Falhas por arquivo nunca derrubam o lote: arquivos válidos continuam sendo importados enquanto os inválidos reportam.

Boas práticas

  • Traga suas imagens separadamente: as URLs de imagem no corpo são importadas verbatim; a jogada prática é enviar as imagens para a biblioteca de mídia primeiro e referenciá-las no Markdown, para que os rascunhos já apontem para URLs funcionais antes de você entrar no ar.
  • Deixe os títulos fazerem os slugs: se dois arquivos do lote colidiriam, o importador sufixa para você; sobrescrever slugs é feito com o slug: do front matter apenas onde importa.
  • Formate sem dor: aceite o título por fallback de H1 apenas como último recurso; escrever title: no front matter mantém as páginas iniciais limpas.
  • Verifique colunas e rascunhos um a um; a tela de resultados linka cada rascunho imediatamente após a importação para uma passagem de revisão.

A versão curta

Uma pasta de Markdown se torna uma pasta de rascunhos em uma única requisição: um YAML opcional define título, slug, categoria/tags, idioma e metadados; todo o resto é derivado; nada é publicado automaticamente; a tela de resultado por arquivo é a sua lista de verificação do que precisa de uma olhada antes de entrar no ar.

Leia este site em