---
title: MDX remoto
description: >-
  Busque Markdown e MDX via HTTP a partir de um repositório do GitHub ou de uma URL raw com a source mdxRemote(), renderizados com todos os componentes do Blume.
---

O adapter nativo `mdxRemote()` busca arquivos `.md`/`.mdx` raw via HTTP. Você pode listar os arquivos a partir de uma subárvore de um repositório do GitHub (`github`) ou informá-los explicitamente em relação a uma URL base raw (`url` + `files`):

```ts blume.config.ts
import { defineConfig } from "blume";
import { filesystem, mdxRemote } from "blume/sources";

export default defineConfig({
  content: {
    sources: [
      filesystem({ root: "docs" }),
      // The docs/ subtree of acme/sdk, mounted under /sdk
      mdxRemote({
        prefix: "sdk",
        github: { owner: "acme", repo: "sdk", ref: "main", path: "docs" },
      }),
    ],
  },
});
```

Para listar os arquivos você mesmo, aponte `url` para uma URL base raw:

```ts blume.config.ts
mdxRemote({
  prefix: "sdk",
  url: "https://raw.githubusercontent.com/acme/sdk/main/docs",
  files: ["intro.mdx", "guide.mdx"],
});
```

O token de um repositório privado é lido da variável de ambiente `GITHUB_TOKEN`. Como o adapter declara essa variável, o `blume dev` e o `blume build` avisam quando ela não está definida. O token nunca é inserido na sua configuração nem no output gerado, e só é enviado para os próprios hosts do GitHub (`api.github.com`, `raw.githubusercontent.com`), nunca para uma base `url` personalizada. Um repositório público funciona sem ele.

As páginas remotas são renderizadas com total fidelidade de MDX e componentes: o conteúdo delas é materializado em um diretório de staging oculto e renderizado pelo Astro junto com a sua documentação local, então callouts, tabs e todos os outros componentes do Blume continuam funcionando.

Como em toda source remota, as páginas buscadas ficam em cache para builds offline e são atualizadas com `blume sync`. Veja [Cache e builds offline](/pt/docs/content/sources#caching-and-offline-builds).
