Saltar para o conteúdo
Blume
Esc
↑↓navegar↵abrir⌘Jpré-visualizar

Strapi

Leia um content type do Strapi pela REST API com a fonte strapi(), convertendo corpos Blocks em Markdown tanto no Strapi 4 quanto no Strapi 5.

O adaptador integrado strapi() lê um content type pela REST API do Strapi (/api/<pluralApiId>) e converte o corpo Blocks de cada entrada em Markdown: parágrafos, títulos, listas, citações, blocos de código, imagens e links. Um campo de rich text em Markdown é mantido como foi escrito. A única exceção são os links que não apontam para um endereço web, de e-mail, de telefone ou relativo, que ficam só com o texto. As respostas do Strapi 5 são lidas como vêm, e o envelope attributes do Strapi 4 é achatado para que os mesmos caminhos de campo funcionem. Não precisa instalar nada.

import { defineConfig } from "blume";
import { filesystem, strapi } from "blume/sources";

export default defineConfig({
  content: {
    sources: [
      filesystem({ root: "docs" }),
      strapi({
        prefix: "guides",
        url: "https://cms.example.com",
        contentType: "guides",
        // locale: "en"
        // Field paths default to title / description / slug / content / updatedAt
        fields: { body: "body" },
        // Extra query parameters: filters[...], sort
        params: { "filters[section][$eq]": "sdk" },
      }),
    ],
  },
});

O token da API vem da variável de ambiente STRAPI_API_TOKEN e é enviado como bearer token. As entradas são buscadas com populate=* para que as imagens venham com suas URLs (defina populate para restringir isso), e um caminho de upload relativo (/uploads/x.png) é resolvido a partir de url. Só as entradas publicadas são importadas. Com --preview, os rascunhos são solicitados (status=draft no Strapi 5, publicationState=preview no Strapi 4) e cada documento que nunca foi publicado entra com draft: true. Já um documento publicado mostra o rascunho mais recente dele no preview.

Última atualização a 28 de setembro de 2026

Esta página foi útil?